| @@ -1,5 +1,6 @@ | |||||
| package com.xueyi.system.api.pass.domain.dto; | package com.xueyi.system.api.pass.domain.dto; | ||||
| import com.xueyi.system.api.digitalmans.domain.dto.DmVisitorsDto; | |||||
| import com.xueyi.system.api.pass.domain.po.DmRecognizedRecordsPo; | import com.xueyi.system.api.pass.domain.po.DmRecognizedRecordsPo; | ||||
| import lombok.Data; | import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| @@ -28,4 +29,6 @@ public class DmRecognizedRecordsDto extends DmRecognizedRecordsPo { | |||||
| public final static Integer TYPE_STAFF = 1; | public final static Integer TYPE_STAFF = 1; | ||||
| public final static Integer TYPE_STRANGER = 6; | public final static Integer TYPE_STRANGER = 6; | ||||
| private DmVisitorsDto visitor; | |||||
| } | } | ||||
| @@ -0,0 +1,17 @@ | |||||
| package com.xueyi.system.staff.domain.model; | |||||
| import com.xueyi.common.core.web.entity.model.BaseConverter; | |||||
| import com.xueyi.system.staff.domain.dto.DmVisitorOperateLogDto; | |||||
| import com.xueyi.system.staff.domain.po.DmVisitorOperateLogPo; | |||||
| import com.xueyi.system.staff.domain.query.DmVisitorOperateLogQuery; | |||||
| import org.mapstruct.Mapper; | |||||
| import org.mapstruct.MappingConstants; | |||||
| /** | |||||
| * 访客 对象映射器 | |||||
| * | |||||
| * @author xueyi | |||||
| */ | |||||
| @Mapper(componentModel = MappingConstants.ComponentModel.SPRING) | |||||
| public interface DmVisitorOperateLogConverter extends BaseConverter<DmVisitorOperateLogQuery, DmVisitorOperateLogDto, DmVisitorOperateLogPo> { | |||||
| } | |||||
| @@ -18,7 +18,7 @@ import java.time.LocalDateTime; | |||||
| */ | */ | ||||
| @Data | @Data | ||||
| @EqualsAndHashCode(callSuper = true) | @EqualsAndHashCode(callSuper = true) | ||||
| @TableName(value = "dm_visitor_operate_log",excludeProperty = {"name","sort","createBy","createTime","updateBy","updateTime","remark"}) | |||||
| @TableName(value = "dm_visitor_operate_log",excludeProperty = {"name","sort","createBy","createTime","updateBy","updateTime","remark","status"}) | |||||
| public class DmVisitorOperateLogPo extends TBaseEntity { | public class DmVisitorOperateLogPo extends TBaseEntity { | ||||
| @Serial | @Serial | ||||
| @@ -33,9 +33,6 @@ public class DmVisitorOperateLogPo extends TBaseEntity { | |||||
| /** 请求方法 */ | /** 请求方法 */ | ||||
| protected String method; | protected String method; | ||||
| /** 请求方式 */ | |||||
| protected String requestMethod; | |||||
| protected Long visitorId; | protected Long visitorId; | ||||
| @@ -1,13 +1,19 @@ | |||||
| package com.xueyi.system.staff.graphql; | package com.xueyi.system.staff.graphql; | ||||
| import com.alibaba.fastjson.JSON; | |||||
| import com.xueyi.system.api.digitalmans.domain.po.DmVisitRecordsPo; | import com.xueyi.system.api.digitalmans.domain.po.DmVisitRecordsPo; | ||||
| import com.xueyi.system.staff.domain.dto.DmVisitorOperateLogDto; | |||||
| import com.xueyi.system.staff.domain.model.DmVisitRecordsConverter; | import com.xueyi.system.staff.domain.model.DmVisitRecordsConverter; | ||||
| import com.xueyi.system.staff.mapper.DmVisitRecordsMapper; | import com.xueyi.system.staff.mapper.DmVisitRecordsMapper; | ||||
| import com.xueyi.system.staff.mapper.DmVisitorsMapper; | import com.xueyi.system.staff.mapper.DmVisitorsMapper; | ||||
| import com.xueyi.system.staff.service.impl.DmVisitorOperateLogServiceImpl; | |||||
| import graphql.kickstart.tools.GraphQLMutationResolver; | import graphql.kickstart.tools.GraphQLMutationResolver; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||
| import java.util.HashMap; | |||||
| import java.util.Map; | |||||
| /* | /* | ||||
| * @author yk | * @author yk | ||||
| * @description | * @description | ||||
| @@ -25,16 +31,36 @@ class VisitRecordGraphQLMutationResolver implements GraphQLMutationResolver { | |||||
| @Autowired | @Autowired | ||||
| private DmVisitRecordsConverter converter; | private DmVisitRecordsConverter converter; | ||||
| private DmVisitorOperateLogServiceImpl visitorLogsService; | |||||
| public boolean createVisitRecord(DmVisitRecordsPo input, Long staffId){ | public boolean createVisitRecord(DmVisitRecordsPo input, Long staffId){ | ||||
| return mapper.insert(input) > 0; | |||||
| Map<String, Object> map = new HashMap<>(); | |||||
| map.put("input", input); | |||||
| map.put("staffId", staffId); | |||||
| Boolean result = mapper.insert(input) > 0; | |||||
| DmVisitorOperateLogDto operateLogPo = visitorLogsService.initData(input.getVisitorId(), staffId, DmVisitorOperateLogDto.BUSINESS_TYPE_CREATE, "createVisitRecord", JSON.toJSONString(map),JSON.toJSONString(result)); | |||||
| visitorLogsService.insert(operateLogPo); | |||||
| return result; | |||||
| } | } | ||||
| public boolean updateVisitRecord(DmVisitRecordsPo input, Long staffId){ | public boolean updateVisitRecord(DmVisitRecordsPo input, Long staffId){ | ||||
| return mapper.updateById(input) > 0; | |||||
| Map<String, Object> map = new HashMap<>(); | |||||
| map.put("input", input); | |||||
| map.put("staffId", staffId); | |||||
| Boolean result = mapper.updateById(input) > 0; | |||||
| DmVisitorOperateLogDto operateLogPo = visitorLogsService.initData(input.getVisitorId(), staffId, DmVisitorOperateLogDto.BUSINESS_TYPE_UPDATE, "updateVisitRecord",JSON.toJSONString(map),JSON.toJSONString(result)); | |||||
| visitorLogsService.insert(operateLogPo); | |||||
| return result; | |||||
| } | } | ||||
| public Boolean deleteVisitRecord(Long id, Long staffId){ | public Boolean deleteVisitRecord(Long id, Long staffId){ | ||||
| return mapper.deleteById(id) > 0; | |||||
| DmVisitRecordsPo recordsPo = mapper.selectById(id); | |||||
| Map<String, Object> map = new HashMap<>(); | |||||
| map.put("id", id); | |||||
| map.put("staffId", staffId); | |||||
| Boolean result = mapper.deleteById(id) > 0; | |||||
| DmVisitorOperateLogDto operateLogPo = visitorLogsService.initData(recordsPo.getVisitorId(), staffId, DmVisitorOperateLogDto.BUSINESS_TYPE_DELETE, "deleteVisitRecord", JSON.toJSONString(map), JSON.toJSONString(result)); | |||||
| visitorLogsService.insert(operateLogPo); | |||||
| return result; | |||||
| } | } | ||||
| } | } | ||||
| @@ -41,7 +41,7 @@ class VisitRecordsGraphQLQueryResolver implements GraphQLQueryResolver { | |||||
| return converter.mapperDto(mapper.selectById(id)); | return converter.mapperDto(mapper.selectById(id)); | ||||
| } | } | ||||
| public List<DmVisitRecordsDto> visitRecords(String receiverName, String receiverPhone, Long visitorId){ | |||||
| public List<DmVisitRecordsDto> visitRecords(String receiverName, String receiverPhone, Long visitorId, Integer limit){ | |||||
| QueryWrapper<DmVisitRecordsPo> query = new QueryWrapper<>(); | QueryWrapper<DmVisitRecordsPo> query = new QueryWrapper<>(); | ||||
| if (StringUtils.isNotEmpty(receiverName)) { | if (StringUtils.isNotEmpty(receiverName)) { | ||||
| @@ -56,6 +56,10 @@ class VisitRecordsGraphQLQueryResolver implements GraphQLQueryResolver { | |||||
| query.eq("visitor_id", visitorId); | query.eq("visitor_id", visitorId); | ||||
| } | } | ||||
| if (null!= limit) { | |||||
| query.last("limit " + limit); | |||||
| } | |||||
| return mapper.selectList(query).stream().map( | return mapper.selectList(query).stream().map( | ||||
| t -> { | t -> { | ||||
| DmVisitorsPo po = visitorsMapper.selectById(t.getVisitorId()); | DmVisitorsPo po = visitorsMapper.selectById(t.getVisitorId()); | ||||
| @@ -1,15 +1,21 @@ | |||||
| package com.xueyi.system.staff.graphql; | package com.xueyi.system.staff.graphql; | ||||
| import com.alibaba.excel.util.BooleanUtils; | import com.alibaba.excel.util.BooleanUtils; | ||||
| import com.alibaba.fastjson.JSON; | |||||
| import com.xueyi.system.api.digitalmans.domain.po.DmVisitorsPo; | import com.xueyi.system.api.digitalmans.domain.po.DmVisitorsPo; | ||||
| import com.xueyi.system.api.resource.domain.po.DmResourcesPo; | import com.xueyi.system.api.resource.domain.po.DmResourcesPo; | ||||
| import com.xueyi.system.resource.mapper.DmResourcesMapper; | import com.xueyi.system.resource.mapper.DmResourcesMapper; | ||||
| import com.xueyi.system.staff.domain.dto.DmVisitorOperateLogDto; | |||||
| import com.xueyi.system.staff.domain.model.DmVisitorsConverter; | import com.xueyi.system.staff.domain.model.DmVisitorsConverter; | ||||
| import com.xueyi.system.staff.mapper.DmVisitorsMapper; | import com.xueyi.system.staff.mapper.DmVisitorsMapper; | ||||
| import com.xueyi.system.staff.service.impl.DmVisitorOperateLogServiceImpl; | |||||
| import graphql.kickstart.tools.GraphQLMutationResolver; | import graphql.kickstart.tools.GraphQLMutationResolver; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||
| import java.util.HashMap; | |||||
| import java.util.Map; | |||||
| /* | /* | ||||
| * @author yk | * @author yk | ||||
| @@ -28,6 +34,9 @@ class VisitorGraphQLMutationResolver implements GraphQLMutationResolver { | |||||
| @Autowired | @Autowired | ||||
| private DmResourcesMapper resourcesMapper; | private DmResourcesMapper resourcesMapper; | ||||
| @Autowired | |||||
| private DmVisitorOperateLogServiceImpl visitorLogsService; | |||||
| private DmVisitorsPo initPo(DmVisitorsPo po){ | private DmVisitorsPo initPo(DmVisitorsPo po){ | ||||
| if (BooleanUtils.isTrue(po.getIsVip())) { | if (BooleanUtils.isTrue(po.getIsVip())) { | ||||
| po.setType(9L); | po.setType(9L); | ||||
| @@ -44,14 +53,32 @@ class VisitorGraphQLMutationResolver implements GraphQLMutationResolver { | |||||
| } | } | ||||
| public boolean updateVisitor(DmVisitorsPo po, Long staffId){ | public boolean updateVisitor(DmVisitorsPo po, Long staffId){ | ||||
| return mapper.updateOne(initPo(po)) > 0; | |||||
| Map<String, Object> map = new HashMap<>(); | |||||
| map.put("input", po); | |||||
| map.put("staffId", staffId); | |||||
| Boolean result = mapper.updateOne(initPo(po)) > 0; | |||||
| DmVisitorOperateLogDto operateLogPo = visitorLogsService.initData(po.getId(),staffId, DmVisitorOperateLogDto.BUSINESS_TYPE_UPDATE, "updateVisitor",JSON.toJSONString(map),JSON.toJSONString(result)); | |||||
| visitorLogsService.insert(operateLogPo); | |||||
| return result; | |||||
| } | } | ||||
| public boolean createVisitor(DmVisitorsPo po, Long staffId){ | public boolean createVisitor(DmVisitorsPo po, Long staffId){ | ||||
| return mapper.insert(initPo(po)) > 0; | |||||
| Map<String, Object> map = new HashMap<>(); | |||||
| map.put("input", po); | |||||
| map.put("staffId", staffId); | |||||
| Boolean result = mapper.insert(initPo(po)) > 0; | |||||
| DmVisitorOperateLogDto operateLogPo = visitorLogsService.initData(po.getId(),staffId, DmVisitorOperateLogDto.BUSINESS_TYPE_CREATE, "createVisitor",JSON.toJSONString(map),JSON.toJSONString(result)); | |||||
| visitorLogsService.insert(operateLogPo); | |||||
| return result; | |||||
| } | } | ||||
| public Boolean deleteVisitor(Long id, Long staffId){ | public Boolean deleteVisitor(Long id, Long staffId){ | ||||
| return mapper.deleteById(id) > 0; | |||||
| Map<String, Object> map = new HashMap<>(); | |||||
| map.put("id", id); | |||||
| map.put("staffId", staffId); | |||||
| Boolean result = mapper.deleteById(id) > 0; | |||||
| DmVisitorOperateLogDto operateLogPo = visitorLogsService.initData(id,staffId, DmVisitorOperateLogDto.BUSINESS_TYPE_DELETE, "deleteVisitor",JSON.toJSONString(map),JSON.toJSONString(result)); | |||||
| visitorLogsService.insert(operateLogPo); | |||||
| return result; | |||||
| } | } | ||||
| } | } | ||||
| @@ -30,7 +30,7 @@ class VisitorLogsGraphQLQueryResolver implements GraphQLQueryResolver { | |||||
| return mapper.selectById(id); | return mapper.selectById(id); | ||||
| } | } | ||||
| public List<DmVisitorOperateLogPo> visitorLogs(String userName, Long userId, Long visitorId, Integer businessType, LocalDate startDate, LocalDate endDate){ | |||||
| public List<DmVisitorOperateLogPo> visitorLogs(String userName, Long userId, Long visitorId, Integer businessType, LocalDate startDate, LocalDate endDate, Integer limit){ | |||||
| QueryWrapper<DmVisitorOperateLogPo> query = new QueryWrapper<>(); | QueryWrapper<DmVisitorOperateLogPo> query = new QueryWrapper<>(); | ||||
| if (StringUtils.isNotEmpty(userName)) { | if (StringUtils.isNotEmpty(userName)) { | ||||
| @@ -49,6 +49,10 @@ class VisitorLogsGraphQLQueryResolver implements GraphQLQueryResolver { | |||||
| query.eq("business_type", businessType); | query.eq("business_type", businessType); | ||||
| } | } | ||||
| if (null!= limit) { | |||||
| query.last("limit " + limit); | |||||
| } | |||||
| if (null != startDate && null != endDate){ | if (null != startDate && null != endDate){ | ||||
| query.between("operate_time", LocalDateTimeUtil.format(startDate, MyDateUtils.DEFAULT_DATE_PATTERN),LocalDateTimeUtil.format(endDate, MyDateUtils.DEFAULT_DATE_PATTERN)); | query.between("operate_time", LocalDateTimeUtil.format(startDate, MyDateUtils.DEFAULT_DATE_PATTERN),LocalDateTimeUtil.format(endDate, MyDateUtils.DEFAULT_DATE_PATTERN)); | ||||
| } | } | ||||
| @@ -4,10 +4,13 @@ import cn.hutool.core.date.LocalDateTimeUtil; | |||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.baomidou.mybatisplus.core.toolkit.StringUtils; | import com.baomidou.mybatisplus.core.toolkit.StringUtils; | ||||
| import com.xueyi.common.web.utils.MyDateUtils; | import com.xueyi.common.web.utils.MyDateUtils; | ||||
| import com.xueyi.system.api.digitalmans.domain.po.DmVisitorsPo; | |||||
| import com.xueyi.system.api.pass.domain.dto.DmRecognizedRecordsDto; | import com.xueyi.system.api.pass.domain.dto.DmRecognizedRecordsDto; | ||||
| import com.xueyi.system.api.pass.domain.po.DmRecognizedRecordsPo; | import com.xueyi.system.api.pass.domain.po.DmRecognizedRecordsPo; | ||||
| import com.xueyi.system.pass.domain.model.DmRecognizedRecordsConverter; | import com.xueyi.system.pass.domain.model.DmRecognizedRecordsConverter; | ||||
| import com.xueyi.system.pass.mapper.DmRecognizedRecordsMapper; | import com.xueyi.system.pass.mapper.DmRecognizedRecordsMapper; | ||||
| import com.xueyi.system.staff.domain.model.DmVisitorsConverter; | |||||
| import com.xueyi.system.staff.mapper.DmVisitorsMapper; | |||||
| import graphql.kickstart.tools.GraphQLQueryResolver; | import graphql.kickstart.tools.GraphQLQueryResolver; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||
| @@ -23,19 +26,26 @@ import java.util.stream.Collectors; | |||||
| */ | */ | ||||
| @Component | @Component | ||||
| class PassRecordsGraphQLQueryResolver implements GraphQLQueryResolver { | |||||
| class VisitorPassRecordsGraphQLQueryResolver implements GraphQLQueryResolver { | |||||
| @Autowired | @Autowired | ||||
| private DmRecognizedRecordsMapper mapper; | private DmRecognizedRecordsMapper mapper; | ||||
| @Autowired | @Autowired | ||||
| private DmRecognizedRecordsConverter converter; | private DmRecognizedRecordsConverter converter; | ||||
| @Autowired | |||||
| private DmVisitorsMapper visitorsMapper; | |||||
| @Autowired | |||||
| private DmVisitorsConverter visitorsConverter; | |||||
| public DmRecognizedRecordsDto passRecord(Long id) { | |||||
| public DmRecognizedRecordsDto visitorPassRecord(Long id) { | |||||
| return converter.mapperDto(mapper.selectById(id)); | return converter.mapperDto(mapper.selectById(id)); | ||||
| } | } | ||||
| public List<DmRecognizedRecordsDto> passRecords(String userName, Long userId, Integer type, LocalDate startDate, LocalDate endDate){ | |||||
| public List<DmRecognizedRecordsDto> visitorPassRecords(String userName, Long userId, Integer type, LocalDate startDate, LocalDate endDate, Integer limit){ | |||||
| QueryWrapper<DmRecognizedRecordsPo> query = new QueryWrapper<>(); | QueryWrapper<DmRecognizedRecordsPo> query = new QueryWrapper<>(); | ||||
| if (StringUtils.isNotEmpty(userName)) { | if (StringUtils.isNotEmpty(userName)) { | ||||
| @@ -48,12 +58,25 @@ class PassRecordsGraphQLQueryResolver implements GraphQLQueryResolver { | |||||
| if (null != type) { | if (null != type) { | ||||
| query.eq("type", type); | query.eq("type", type); | ||||
| } else { | |||||
| query.in("type", 8, 9, 10); | |||||
| } | } | ||||
| if (null != startDate && null != endDate){ | if (null != startDate && null != endDate){ | ||||
| query.between("recognized_time", LocalDateTimeUtil.format(startDate, MyDateUtils.DEFAULT_DATE_PATTERN),LocalDateTimeUtil.format(endDate, MyDateUtils.DEFAULT_DATE_PATTERN)); | query.between("recognized_time", LocalDateTimeUtil.format(startDate, MyDateUtils.DEFAULT_DATE_PATTERN),LocalDateTimeUtil.format(endDate, MyDateUtils.DEFAULT_DATE_PATTERN)); | ||||
| } | } | ||||
| return mapper.selectList(query).stream().map(t->converter.mapperDto(t)).collect(Collectors.toList()); | |||||
| if (null!= limit) { | |||||
| query.last("limit " + limit); | |||||
| } | |||||
| return mapper.selectList(query).stream().map(t-> | |||||
| { | |||||
| DmRecognizedRecordsDto recognizedRecordsDto = converter.mapperDto(t); | |||||
| DmVisitorsPo po = visitorsMapper.selectById(t.getUserId()); | |||||
| if (null == po) { | |||||
| recognizedRecordsDto.setVisitor(visitorsConverter.mapperDto(po)); | |||||
| } | |||||
| return recognizedRecordsDto; | |||||
| }).collect(Collectors.toList()); | |||||
| } | } | ||||
| } | } | ||||
| @@ -0,0 +1,13 @@ | |||||
| package com.xueyi.system.staff.manager; | |||||
| import com.xueyi.common.web.entity.manager.IBaseManager; | |||||
| import com.xueyi.system.staff.domain.dto.DmVisitorOperateLogDto; | |||||
| import com.xueyi.system.staff.domain.query.DmVisitorOperateLogQuery; | |||||
| /** | |||||
| * 访客管理 数据封装层 | |||||
| * | |||||
| * @author xueyi | |||||
| */ | |||||
| public interface IDmVisitorOperateLogManager extends IBaseManager<DmVisitorOperateLogQuery, DmVisitorOperateLogDto> { | |||||
| } | |||||
| @@ -0,0 +1,35 @@ | |||||
| package com.xueyi.system.staff.manager.impl; | |||||
| import com.xueyi.common.core.constant.basic.OperateConstants; | |||||
| import com.xueyi.common.web.entity.domain.SlaveRelation; | |||||
| import com.xueyi.common.web.entity.manager.impl.BaseManagerImpl; | |||||
| import com.xueyi.system.api.digitalmans.domain.dto.DmVisitorsDto; | |||||
| import com.xueyi.system.api.digitalmans.domain.po.DmVisitorsPo; | |||||
| import com.xueyi.system.digitalmans.domain.merge.DmReceptionVisitorMerge; | |||||
| import com.xueyi.system.digitalmans.mapper.merge.DmReceptionVisitorMergeMapper; | |||||
| import com.xueyi.system.staff.domain.dto.DmVisitorOperateLogDto; | |||||
| import com.xueyi.system.staff.domain.model.DmVisitorOperateLogConverter; | |||||
| import com.xueyi.system.staff.domain.model.DmVisitorsConverter; | |||||
| import com.xueyi.system.staff.domain.po.DmVisitorOperateLogPo; | |||||
| import com.xueyi.system.staff.domain.query.DmVisitorOperateLogQuery; | |||||
| import com.xueyi.system.staff.domain.query.DmVisitorsQuery; | |||||
| import com.xueyi.system.staff.manager.IDmVisitorOperateLogManager; | |||||
| import com.xueyi.system.staff.manager.IDmVisitorsManager; | |||||
| import com.xueyi.system.staff.mapper.DmVisitorOperateLogMapper; | |||||
| import com.xueyi.system.staff.mapper.DmVisitorsMapper; | |||||
| import org.springframework.stereotype.Component; | |||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import static com.xueyi.system.api.digitalmans.domain.merge.MergeGroup.Visitor_DmReceptionVisitorMerge_GROUP; | |||||
| /** | |||||
| * 访客管理 数据封装层处理 | |||||
| * | |||||
| * @author xueyi | |||||
| */ | |||||
| @Component | |||||
| public class DmVisitorOperateLogManager extends BaseManagerImpl<DmVisitorOperateLogQuery, DmVisitorOperateLogDto, DmVisitorOperateLogPo, DmVisitorOperateLogMapper, DmVisitorOperateLogConverter> implements IDmVisitorOperateLogManager { | |||||
| } | |||||
| @@ -0,0 +1,13 @@ | |||||
| package com.xueyi.system.staff.service; | |||||
| import com.xueyi.common.web.entity.service.IBaseService; | |||||
| import com.xueyi.system.staff.domain.dto.DmVisitorOperateLogDto; | |||||
| import com.xueyi.system.staff.domain.query.DmVisitorOperateLogQuery; | |||||
| /** | |||||
| * 访客日志管理 服务层 | |||||
| * | |||||
| * @author xueyi | |||||
| */ | |||||
| public interface IDmVisitorOperateLogService extends IBaseService<DmVisitorOperateLogQuery, DmVisitorOperateLogDto> { | |||||
| } | |||||
| @@ -0,0 +1,45 @@ | |||||
| package com.xueyi.system.staff.service.impl; | |||||
| import com.alibaba.fastjson.JSON; | |||||
| import com.xueyi.common.web.entity.service.impl.BaseServiceImpl; | |||||
| import com.xueyi.system.api.staff.domain.po.DmStaffPo; | |||||
| import com.xueyi.system.staff.domain.dto.DmVisitorOperateLogDto; | |||||
| import com.xueyi.system.staff.domain.po.DmVisitorOperateLogPo; | |||||
| import com.xueyi.system.staff.domain.query.DmVisitorOperateLogQuery; | |||||
| import com.xueyi.system.staff.manager.IDmVisitorOperateLogManager; | |||||
| import com.xueyi.system.staff.mapper.DmStaffMapper; | |||||
| import com.xueyi.system.staff.service.IDmVisitorOperateLogService; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.stereotype.Service; | |||||
| import java.time.LocalDateTime; | |||||
| import java.util.HashMap; | |||||
| import java.util.Map; | |||||
| /** | |||||
| * 访客管理 服务层处理 | |||||
| * | |||||
| * @author xueyi | |||||
| */ | |||||
| @Service | |||||
| public class DmVisitorOperateLogServiceImpl extends BaseServiceImpl<DmVisitorOperateLogQuery, DmVisitorOperateLogDto, IDmVisitorOperateLogManager> implements IDmVisitorOperateLogService { | |||||
| @Autowired | |||||
| private DmStaffMapper staffMapper; | |||||
| public DmVisitorOperateLogDto initData(Long visitorId, Long staffId, Integer businessType, String funName, String parms, String result){ | |||||
| DmVisitorOperateLogDto operateLogPo = new DmVisitorOperateLogDto(); | |||||
| operateLogPo.setVisitorId(visitorId); | |||||
| operateLogPo.setUserId(staffId); | |||||
| DmStaffPo staffPo = staffMapper.selectById(staffId); | |||||
| operateLogPo.setBusinessType(businessType); | |||||
| operateLogPo.setMethod(funName); | |||||
| operateLogPo.setUserName(staffPo.getUserName()); | |||||
| operateLogPo.setTitle("访客方面操作日志(小程序)"); | |||||
| operateLogPo.setOperateTime(LocalDateTime.now()); | |||||
| operateLogPo.setParam(parms); | |||||
| operateLogPo.setJsonResult(result); | |||||
| return operateLogPo; | |||||
| } | |||||
| } | |||||
| @@ -2,18 +2,19 @@ extend type Query { | |||||
| visitRecords( | visitRecords( | ||||
| receiverName:String | receiverName:String | ||||
| receiverPhone:String | receiverPhone:String | ||||
| visitorId:Long | |||||
| visitorId:ID | |||||
| limit:Int | |||||
| ): [VisitRecord!] | ): [VisitRecord!] | ||||
| visitRecord(id:Long!): VisitRecord | |||||
| visitRecord(id:ID!): VisitRecord | |||||
| } | } | ||||
| input VisitRecordInput { | input VisitRecordInput { | ||||
| id: Long | |||||
| visitorId: Long! | |||||
| id: ID | |||||
| visitorId: ID! | |||||
| visitDate: Date! | visitDate: Date! | ||||
| userId: Long | |||||
| userId: ID | |||||
| receiverName: String | receiverName: String | ||||
| receiverPhone: String | receiverPhone: String | ||||
| } | } | ||||
| @@ -21,23 +22,23 @@ input VisitRecordInput { | |||||
| extend type Mutation { | extend type Mutation { | ||||
| createVisitRecord( | createVisitRecord( | ||||
| input:VisitRecordInput! | input:VisitRecordInput! | ||||
| staffId: Long! | |||||
| staffId: ID! | |||||
| ): Boolean | ): Boolean | ||||
| updateVisitRecord( | updateVisitRecord( | ||||
| input:VisitRecordInput! | input:VisitRecordInput! | ||||
| staffId: Long! | |||||
| staffId: ID! | |||||
| ): Boolean | ): Boolean | ||||
| deleteVisitRecord( | deleteVisitRecord( | ||||
| id:Long! | |||||
| staffId: Long! | |||||
| id:ID! | |||||
| staffId: ID! | |||||
| ): Boolean | ): Boolean | ||||
| } | } | ||||
| type VisitRecord { | type VisitRecord { | ||||
| id: Long | |||||
| visitorId: Long | |||||
| userId: Long | |||||
| id: ID | |||||
| visitorId: ID | |||||
| userId: ID | |||||
| receiverName: String | receiverName: String | ||||
| receiverPhone: String | receiverPhone: String | ||||
| recordStatus: Int | recordStatus: Int | ||||
| @@ -1,16 +1,16 @@ | |||||
| extend type Query { | extend type Query { | ||||
| visitors( | visitors( | ||||
| id: Long | |||||
| id: ID | |||||
| name: String | name: String | ||||
| type: Int | type: Int | ||||
| phone: String | phone: String | ||||
| ): [Visitor!] | ): [Visitor!] | ||||
| visitor(id: Long): Visitor | |||||
| visitor(id: ID): Visitor | |||||
| } | } | ||||
| input VisitorInput { | input VisitorInput { | ||||
| id: Long | |||||
| id: ID | |||||
| name: String | name: String | ||||
| nickname: String | nickname: String | ||||
| phone: String | phone: String | ||||
| @@ -18,23 +18,23 @@ input VisitorInput { | |||||
| isVip:Boolean | isVip:Boolean | ||||
| flexVisit:Boolean | flexVisit:Boolean | ||||
| isBlock:Boolean | isBlock:Boolean | ||||
| resourceId: Long | |||||
| resourceId: ID | |||||
| } | } | ||||
| extend type Mutation { | extend type Mutation { | ||||
| createVisitor( | createVisitor( | ||||
| input: VisitorInput! | input: VisitorInput! | ||||
| staffId: Long! | |||||
| staffId: ID! | |||||
| ): Boolean | ): Boolean | ||||
| updateVisitor( | updateVisitor( | ||||
| input: VisitorInput! | input: VisitorInput! | ||||
| staffId: Long! | |||||
| staffId: ID! | |||||
| ): Boolean | ): Boolean | ||||
| deleteVisitor( | deleteVisitor( | ||||
| id: Long!, | |||||
| staffId: Long! | |||||
| id: ID!, | |||||
| staffId: ID! | |||||
| ): Boolean | ): Boolean | ||||
| } | } | ||||
| @@ -50,5 +50,5 @@ type Visitor { | |||||
| isVip:Boolean | isVip:Boolean | ||||
| flexVisit:Boolean | flexVisit:Boolean | ||||
| isBlock:Boolean | isBlock:Boolean | ||||
| resourceId: Long | |||||
| resourceId: ID | |||||
| } | } | ||||
| @@ -6,9 +6,10 @@ extend type Query { | |||||
| businessType:Int | businessType:Int | ||||
| startDate:Date | startDate:Date | ||||
| endDate:Date | endDate:Date | ||||
| limit:Int | |||||
| ): [VisitorLog!] | ): [VisitorLog!] | ||||
| visitorLog(id:Long!): VisitorLog | |||||
| visitorLog(id:ID!): VisitorLog | |||||
| } | } | ||||
| @@ -1,17 +1,18 @@ | |||||
| extend type Query { | extend type Query { | ||||
| passRecords( | |||||
| visitorPassRecords( | |||||
| userName:String | userName:String | ||||
| userId:ID | userId:ID | ||||
| type:Int | type:Int | ||||
| startDate:Date | startDate:Date | ||||
| endDate:Date | endDate:Date | ||||
| ): [PassRecord!] | |||||
| limit:Int | |||||
| ): [VisitorPassRecord!] | |||||
| passRecord(id:Long!): PassRecord | |||||
| visitorPassRecord(id:ID!): VisitorPassRecord | |||||
| } | } | ||||
| type PassRecord { | |||||
| type VisitorPassRecord { | |||||
| id: ID | id: ID | ||||
| userName: String | userName: String | ||||
| userId: ID | userId: ID | ||||
| @@ -19,4 +20,5 @@ type PassRecord { | |||||
| recognizedTime: String | recognizedTime: String | ||||
| createTime: Date | createTime: Date | ||||
| type: Int | type: Int | ||||
| visitor: Visitor | |||||
| } | } | ||||