server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxMiniConfig.java
ÎļþÒÑɾ³ý server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPayProperties.java
ÎļþÒÑɾ³ý server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -76,8 +76,8 @@ @ExcelColumn(name="徿 ") private String imgurl; @ApiModelProperty(value = "ç±»å 0å³å¡å ¬å¸ 1å é¨ç»ç»") @ExcelColumn(name="ç±»å 0å³å¡å ¬å¸ 1å é¨ç»ç»") @ApiModelProperty(value = "ç±»å 0ç¸å ³æ¹å ¬å¸ 1å é¨ç»ç»") @ExcelColumn(name="ç±»å 0ç¸å ³æ¹å ¬å¸ 1å é¨ç»ç»") private Integer type; @ApiModelProperty(value = "åç±»ç¼ç (å ³ècategory)") server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/InoutDayCountController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,90 @@ package com.doumee.api.business; import com.doumee.api.BaseController; import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageWrap; import com.doumee.core.model.PageData; import com.doumee.dao.business.model.InoutDayCount; import com.doumee.service.business.InoutDayCountService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * @author æ±è¹è¹ * @date 2024/10/12 16:19 */ @Api(tags = "åºå ¥åºäººæ¬¡è½¦æ¬¡æ¯æ¥ç»è®¡è¡¨") @RestController @RequestMapping("/business/inoutDayCount") public class InoutDayCountController extends BaseController { @Autowired private InoutDayCountService inoutDayCountService; @PreventRepeat @ApiOperation("æ°å»º") @PostMapping("/create") @RequiresPermissions("business:inoutdaycount:create") public ApiResponse create(@RequestBody InoutDayCount inoutDayCount) { return ApiResponse.success(inoutDayCountService.create(inoutDayCount)); } @ApiOperation("æ ¹æ®IDå é¤") @GetMapping("/delete/{id}") @RequiresPermissions("business:inoutdaycount:delete") public ApiResponse deleteById(@PathVariable Integer id) { inoutDayCountService.deleteById(id); return ApiResponse.success(null); } @ApiOperation("æ¹éå é¤") @GetMapping("/delete/batch") @RequiresPermissions("business:inoutdaycount:delete") public ApiResponse deleteByIdInBatch(@RequestParam String ids) { String [] idArray = ids.split(","); List<Integer> idList = new ArrayList<>(); for (String id : idArray) { idList.add(Integer.valueOf(id)); } inoutDayCountService.deleteByIdInBatch(idList); return ApiResponse.success(null); } @ApiOperation("æ ¹æ®IDä¿®æ¹") @PostMapping("/updateById") @RequiresPermissions("business:inoutdaycount:update") public ApiResponse updateById(@RequestBody InoutDayCount inoutDayCount) { inoutDayCountService.updateById(inoutDayCount); return ApiResponse.success(null); } @ApiOperation("å页æ¥è¯¢") @PostMapping("/page") @RequiresPermissions("business:inoutdaycount:query") public ApiResponse<PageData<InoutDayCount>> findPage (@RequestBody PageWrap<InoutDayCount> pageWrap) { return ApiResponse.success(inoutDayCountService.findPage(pageWrap)); } @ApiOperation("导åºExcel") @PostMapping("/exportExcel") @RequiresPermissions("business:inoutdaycount:exportExcel") public void exportExcel (@RequestBody PageWrap<InoutDayCount> pageWrap, HttpServletResponse response) { ExcelExporter.build(InoutDayCount.class).export(inoutDayCountService.findPage(pageWrap).getRecords(), "åºå ¥åºäººæ¬¡è½¦æ¬¡æ¯æ¥ç»è®¡è¡¨", response); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") @GetMapping("/{id}") @RequiresPermissions("business:inoutdaycount:query") public ApiResponse findById(@PathVariable Integer id) { return ApiResponse.success(inoutDayCountService.findById(id)); } } server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java
@@ -100,6 +100,12 @@ public ApiResponse<BaseResponse> testBroadcast(@RequestBody CustomBroadcastRequest request, HttpServletResponse response) { return ApiResponse.success( HKService.customBroadcast(request)); } @ApiOperation("ãæµ·åº·ãè·å代åå表") @PostMapping("/getTodoListPage") @LoginNoRequired public ApiResponse<BaseResponse> getTodoListPage(@RequestBody GetTodoListRequest request, HttpServletResponse response) { return ApiResponse.success( HKService.getTodoListPage(request)); } @ApiOperation("ãæµ·åº·ãæµè¯äººè¸å¾çä¸è½½") @PostMapping("/testDonwLoadMemberImg") @LoginNoRequired @@ -126,7 +132,6 @@ public ApiResponse<BaseResponse> nhEventPageList(@RequestBody NhEventPageListRequest param, HttpServletResponse response) { return ApiResponse.success( HKService.nhEventPageList(param)); } @ApiOperation("ãæµ·åº·ãå页æ¥è¯¢æ¶é²ä¼ æå¨é¨ä»¶ç¶æ") @PostMapping("/sensorStatusSearch") @LoginNoRequired server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
@@ -8,6 +8,7 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.dao.admin.response.PCWorkPlatformDataVO; import com.doumee.dao.admin.response.StagingDataVO; import com.doumee.dao.business.model.Visits; import com.doumee.dao.system.dto.NoticesDTO; @@ -100,6 +101,7 @@ return ApiResponse.success("æ¥è¯¢æå",approveService.getHomeDataPC(noticesDTO)); } @ApiOperation("ä»»å¡ä¸å¿å页") @PostMapping("/taskPage") public ApiResponse<PageData<Notices>> taskPage (@RequestBody PageWrap<NoticesDTO> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { @@ -107,6 +109,8 @@ pageWrap.getModel().setMemberId(loginUserInfo.getMemberId()); return ApiResponse.success(noticesService.taskCanterPage(pageWrap)); } @ApiOperation("æ 记已读") @GetMapping("/signRead") @@ -123,4 +127,15 @@ } return ApiResponse.success("æä½æå"); } @ApiOperation("PCå·¥ä½å°") @GetMapping("/pCWorkPlatformData") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "æ¥è¯¢ç±»åï¼1=å¨å人æ°ï¼2=æ¥è¡¨æ°æ®ï¼3=å¾ åäºé¡¹ï¼4=è¶ æ¶é¢è¦", required = true), }) public ApiResponse<PCWorkPlatformDataVO> pCWorkPlatformData (@RequestParam Integer queryType, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { PCWorkPlatformDataVO pcWorkPlatformDataVO = visitsService.getPcWorkPlatformData(queryType,getLoginUser(token)); return ApiResponse.success("æ¥è¯¢æå",pcWorkPlatformDataVO); } } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -136,6 +136,7 @@ String[] sensorStatusSearch= new String[]{"/api/fpnms/v2/sensor/status/search","å页æ¥è¯¢æ¶é²ä¼ æå¨é¨ä»¶ç¶æ"};//å页æ¥è¯¢æ¶é²ä¼ æå¨é¨ä»¶ç¶æ String[] fireDeviceStatusSearch= new String[]{"/api/fpnms/v2/device/status/search","æ¥è¯¢æ¶é²è®¾å¤é¨ä»¶ç¶æ"};//æ¥è¯¢æ¶é²è®¾å¤é¨ä»¶ç¶æ String[] findDeviceAlarmPage= new String[]{"/api/v1/alarm/findDeviceAlarmPage","å页æ¥è¯¢è®¾å¤ä¸çæææ¥è¦è®°å½"};//å页æ¥è¯¢è®¾å¤ä¸çæææ¥è¦è®°å½ String[] getTodoListPage= new String[]{"/api/v3/todo/getTodoListPage","å页è·åå¾ åå表"};//1.10.1å页è·åå¾ åå表 } /** server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -299,6 +299,14 @@ } } /** * å页è·åå¾ åå表 * @param body * @return */ public static String getTodoListPage(Map<String, String> body) throws Exception{ return startDoGetStringArtemis(HKConstants.InterfacePath.getTodoListPage,body); } /** * è·åé¨ç¦ç¹å表 * @param body * @return @@ -364,15 +372,7 @@ return startDoPostStringArtemis(HKConstants.InterfacePath.visitCancel,body); } public static String startDoGetStringArtemis(String[] pathStr,Map<String,String> body ){ Map<String, String> path = getPath(pathStr[0]); Map<String, String> header = new HashMap<>(); header.put("tagId", UUID.randomUUID().toString().replace("-", "")); String result = ArtemisHttpUtil.doGetArtemis(path, body, null, "application/json", header);// post请æ±application/jsonç±»ååæ° saveInterfaceLog(JSONObject.toJSONString(body),result,path,pathStr[1]); return result; } public static String startDoPostStringArtemis(String[] pathStr,String body ){ Map<String, String> path = getPath(pathStr[0]); Map<String, String> header = new HashMap<>(); @@ -380,7 +380,14 @@ String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", header);// post请æ±application/jsonç±»ååæ° saveInterfaceLog(body,result,path,pathStr[1]); return result; } public static String startDoGetStringArtemis(String[] pathStr,Map<String,String> body ){ Map<String, String> path = getPath(pathStr[0]); Map<String, String> header = new HashMap<>(); header.put("tagId", UUID.randomUUID().toString().replace("-", "")); String result = ArtemisHttpUtil.doGetArtemis(path, body, null, null, header); saveInterfaceLog(JSONObject.toJSONString(body),result,path,pathStr[1]); return result; } public static String startDoPostStringArtemis(String[] pathStr,String param,String body ){ Map<String, String> path = getPath(pathStr[0]+StringUtils.defaultString(param,"")); server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/GetTodoListRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class GetTodoListRequest { private String comId;// Query String false ç»ä»¶id private int pageSize ;// Query Number false å页大å°ï¼1~999ï¼ private int cascade ;// Query Number false çº§èæ°æ®æ¥æº0:ä¸çº§å¹³å°æ¥æºï¼1:éä¸çº§å¹³å°æ¥æºï¼ä¸ºç©ºé»è®¤æ¥è¯¢æææ°æ®æ¥æº private String messageId;// Query String false messageId private int pageNo;// Query Number false å½å页ç (1~100000) private String localeType;// Query String false è¯è¨ç±»åzh_CN:䏿en_US:è±æ private int status;// Query Number false ä¸å¡ç¶æç±»å,1-å¾ å¤çï¼2-审æ¹ä¸ï¼3-已宿ï¼4-æéæï¼5-æå®¡æ¹,é»è®¤å¾ å¤ç private String userId;// Query String false ç¨æ·id private String clientType;// Query String false è°ç¨æ¹ç±»å0:å ¶ä»ï¼1ï¼APPï¼ä¸ºç©ºæ¶é»è®¤ä¸º1ï¼2ï¼é¨æ· } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/GetTodoListResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,38 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; @Data public class GetTodoListResponse { private String tid;// String false 主é®id private String msgId ;//String false å¾ åid private String userId ;//String false ç¨æ·id private String comId;// String false ç»ä»¶æ è¯ private String moduleId;// String false æ¨¡åæ è¯ private String msgTitle;// String false ä¿¡æ¯æ é¢ private String msgStatus ;//String false ä¿¡æ¯ç¶æ private String msgStatusStr;// String false ä¿¡æ¯ç¶æåç§° private String msgCreateTime;// String false æ¶æ¯å建æ¶é´,ä¼å 使ç¨msgCreateTimeIso private String msgCreateTimeIso;// String false æ¶æ¯å建æ¶é´,ISOæ¶é´ private String serverTime;// Number false æ¥å£è°ç¨æ¶æå¡æ¶é´æ³ï¼æ¯«ç§ private String menuCode;// String false èåcode private String picUrl ;//String false å¾çurlï¼ä¸ä¸ºç©ºåå±ç¤º private String extendJson ;//String false æ©å±å段Jsonï¼ä¸ä¸ºç©ºåå±ç¤º private String extendNoShow;// String false ä¸ä½å±ç¤ºçæ©å±å段Json private String extendParam;// String false æ©å±æ ·å¼å段 private String extendCascade;// String false 跳转信æ¯å段 private String moduleName;// String false 模ååç§°ï¼å³æ¶æ¯ç±»å private String targetComId ;//String false è·³è½¬ç®æ ç»ä»¶ID private String createUser;// String false è¿æ¡å¾ åçç³è¯·äºº private String webCascadeUrl;// String false è¿æ¡å¾ åçç³è¯·äºº private String h5CascadeUrl;// String false h5端跳转å°åï¼çº§èå¹³å°ä½¿ç¨ï¼ private String cascadeTodoOpenType ;//String false 级èå¾ åçæå¼æ¹å¼ 1ï¼æµè§å¨æ°æå¼çªå£ï¼2ï¼iamæå¼iportalç伪èåï¼3ï¼iamæå¼å¾ åç空èå private String cascadeSourceConfigId ;//String false 级èé ç½®id private String h5Url;// String false 模åé ç½®çH5跳转URL private String segmentId ;//String false 段æ è¯ï¼ç¨äºç»ä»¶å¯»åç¨ private String lastUsers ;//String false ä¸ä¸å¤ç人 private String currentUsers ;//String false å½åå¤ç人 private String todoTypeCode;// String false å¾ ååç±»ç¼ç private String currentUserIds ;//String false å½åå¤ç人çid private String lastUserIds ;//String false ä¸ä¸å¤ç人çid } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -902,13 +902,13 @@ *æ ¹æ®é ç½®å¾®ä¿¡å ¬ä¼å·ç¼å·æ¥è¯¢å¾®ä¿¡å ¬ä¼å·ä¿¡æ¯ * @return */ public static BaseResponse<BaseListPageResponse<WxConfigInfoResponse>> getWxConfig(WxConfigInfoRequest param){ public static BaseResponse< WxConfigInfoResponse> getWxConfig(WxConfigInfoRequest param){ log.info("ãæµ·åº·æ ¹æ®é ç½®å¾®ä¿¡å ¬ä¼å·ç¼å·æ¥è¯¢å¾®ä¿¡å ¬ä¼å·ä¿¡æ¯ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.getWxConfig(toMap(param)); TypeReference typeReference = new TypeReference<BaseResponse<BaseListPageResponse<WxConfigInfoResponse>>>(){}; BaseResponse<BaseListPageResponse<WxConfigInfoResponse>> result = JSONObject.parseObject(res, typeReference.getType()); new TypeReference<BaseResponse<WxConfigInfoResponse>>(){}; BaseResponse<WxConfigInfoResponse> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"æµ·åº·æ ¹æ®é ç½®å¾®ä¿¡å ¬ä¼å·ç¼å·æ¥è¯¢å¾®ä¿¡å ¬ä¼å·ä¿¡æ¯"); return result; }catch (Exception e){ @@ -916,6 +916,24 @@ } return null; } /** *å页è·åå¾ åå表 * @return */ public static BaseResponse<BaseListPageResponse<GetTodoListResponse>> getTodoListPage(GetTodoListRequest param){ log.info("ãæµ·åº·å页è·åå¾ åå表ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.getTodoListPage(toMap(param)); TypeReference typeReference = new TypeReference<BaseResponse<BaseListPageResponse<GetTodoListResponse>>>(){}; BaseResponse<BaseListPageResponse<GetTodoListResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康å页è·åå¾ åå表"); return result; }catch (Exception e){ log.error("ãæµ·åº·å页è·åå¾ åå表ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *å页æ¥è¯¢æ¶é²è®¾å¤é¨ä»¶ç¶æ server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java
@@ -17,10 +17,10 @@ @ApiModel("å·¥ä½å°ç¸å ³æ¹æ°æ®") public class InterestedListVO { @ApiModelProperty(value = "人æ°") private Long userNum; @ApiModelProperty(value = "æ°é") private Long num; @ApiModelProperty(value = "åç§°") private String interestedName; private String name; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java
@@ -1,5 +1,7 @@ package com.doumee.dao.admin.response; import com.doumee.dao.business.model.Visits; import com.doumee.dao.system.model.Notices; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -20,12 +22,11 @@ @ApiModelProperty(value = "仿¥å¨å人æ°") private Long todayInParkUserNum; @ApiModelProperty(value = "仿¥å ¥å人æ°") @ApiModelProperty(value = "仿¥å ¥å人次") private Long todayInUserNum; @ApiModelProperty(value = "仿¥ç¦»å人æ°") @ApiModelProperty(value = "仿¥ç¦»å人次") private Long todayOutUserNum; @ApiModelProperty(value = "å¨å访客人æ°") private Long inParkVisitUserNum; @@ -36,16 +37,14 @@ @ApiModelProperty(value = "ç¾ç¦»äººæ¬¡") private Long signLevelNum; @ApiModelProperty(value = "å¨åé¿æç¸å ³æ¹äººæ°") private Long inParkLwUserNum; @ApiModelProperty(value = "å ¥å人次") @ApiModelProperty(value = "ç¸å ³æ¹å ¥å人次") private Long lwUserInNum; @ApiModelProperty(value = "åºå人次") @ApiModelProperty(value = "ç¸å ³æ¹åºå人次") private Long lwUserOutNum; @ApiModelProperty(value = "仿¥å¨å车è¾") private Long todayInParkCarNum; @@ -56,33 +55,25 @@ @ApiModelProperty(value = "åºå车次") private Long todayOutCarNum; @ApiModelProperty(value = "ç¸å ³æ¹æ°æ®") private List<InterestedListVO> interestedListVOList; @ApiModelProperty(value = "é¿æç¸å ³æ¹ç¸å ³æ¹åå¸ top 5") private List<InterestedListVO> lwList; @ApiModelProperty(value = "è¿ä¸æ¥è®¿å®¢ç»è®¡") private List<InterestedListVO> weekVisitList; @ApiModelProperty(value = "è¿ä¸æ¥è½¦è¾ç»è®¡") private List<InterestedListVO> weekCarList; @ApiModelProperty(value = "访客人å") private Long visitorCount; @ApiModelProperty(value = "å¾ åäºé¡¹æ°é") private Integer noticesNum; @ApiModelProperty(value = "å³å¡äººå") private Long lwCount; @ApiModelProperty(value = "å¾ åäºé¡¹") private List<Notices> noticesList; @ApiModelProperty(value = "å¨åºè½¦è¾") private Long presenceCarCount; @ApiModelProperty(value = "è¶ æ¶é¢è¦æ°é") private Integer timeOutVisitNum; @ApiModelProperty(value = "é¢çº¦è½¦è¾") private Long visitorCarCount; @ApiModelProperty(value = "é¿æè½¦è¾") private Long longCarCount; @ApiModelProperty(value = "ä¾åºåæ°é") private Long supplierCount; @ApiModelProperty(value = "å³å¡å ¬å¸äººåæ°") private List<Map<String,Object>> companyUsers; @ApiModelProperty(value = "æ»çäººåæ°æ®") private List<Map<String,Object>> retentionUsers; @ApiModelProperty(value = "è®¿å®¢è¶ æ¶æ°æ®") private List<Visits> timeOutVisitList; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/InoutDayCountMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ package com.doumee.dao.business; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.InoutDayCount; /** * @author æ±è¹è¹ * @date 2024/10/12 16:19 */ public interface InoutDayCountMapper extends BaseMapper<InoutDayCount> { } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.Retention; import com.github.yulichang.base.MPJBaseMapper; import java.util.List; @@ -9,5 +10,5 @@ * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ public interface RetentionMapper extends BaseMapper<Retention> { public interface RetentionMapper extends MPJBaseMapper<Retention> { } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutDayCount.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,107 @@ package com.doumee.dao.business.model; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import java.util.Date; /** * åºå ¥åºäººæ¬¡è½¦æ¬¡æ¯æ¥ç»è®¡è¡¨ * @author æ±è¹è¹ * @date 2024/10/12 16:19 */ @Data @ApiModel("åºå ¥åºäººæ¬¡è½¦æ¬¡æ¯æ¥ç»è®¡è¡¨") @TableName("`inout_day_count`") public class InoutDayCount { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主é®", example = "1") @ExcelColumn(name="主é®") private Integer id; @ApiModelProperty(value = "å建人ç¼ç ", example = "1") @ExcelColumn(name="å建人ç¼ç ") private Integer creator; @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @ExcelColumn(name="æ´æ°äººç¼ç ") private Integer editor; @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") private Integer isdeleted; @ApiModelProperty(value = "ç»è®¡æ¥æï¼2024-10-12 00:00:00ï¼") @ExcelColumn(name="ç»è®¡æ¥æï¼2024-10-12 00:00:00ï¼") @JsonFormat(pattern = "yyyy-MM-dd") private Date timeInfo; @ApiModelProperty(value = "夿³¨") @ExcelColumn(name="夿³¨") private String remark; @ApiModelProperty(value = "å ¥åæ»äººæ¬¡", example = "1") @ExcelColumn(name="å ¥åæ»äººæ¬¡") private Integer inMemberNum; @ApiModelProperty(value = "åºåæ»äººæ¬¡", example = "1") @ExcelColumn(name="åºåæ»äººæ¬¡") private Integer outMemberNum; @ApiModelProperty(value = "è®¿å®¢å ¥å人次", example = "1") @ExcelColumn(name="è®¿å®¢å ¥å人次") private Integer inVisitorNum; @ApiModelProperty(value = "访客åºå人次", example = "1") @ExcelColumn(name="访客åºå人次") private Integer outVisitorNum; @ApiModelProperty(value = "访客ç»è®°äººæ¬¡", example = "1") @ExcelColumn(name="访客ç»è®°äººæ¬¡") private Integer signinVisitorNum; @ApiModelProperty(value = "访客ç¾ç¦»äººæ¬¡", example = "1") @ExcelColumn(name="访客ç¾ç¦»äººæ¬¡") private Integer leaveVisitorNum; @ApiModelProperty(value = "ç¸å ³æ¹å ¥å人次", example = "1") @ExcelColumn(name="ç¸å ³æ¹å ¥å人次") private Integer inOtherMemberNum; @ApiModelProperty(value = "ç¸å ³æ¹åºå人次", example = "1") @ExcelColumn(name="ç¸å ³æ¹åºå人次") private Integer outOtherMemberNum; @ApiModelProperty(value = "å é¨äººåå ¥å人次", example = "1") @ExcelColumn(name="å é¨äººåå ¥å人次") private Integer inSelfMemberNum; @ApiModelProperty(value = "å é¨äººååºå人次", example = "1") @ExcelColumn(name="å é¨äººååºå人次") private Integer outSelfMemberNum; @ApiModelProperty(value = "å ¥å车次", example = "1") @ExcelColumn(name="å ¥å车次") private Integer inCarNum; @ApiModelProperty(value = "åºå车次", example = "1") @ExcelColumn(name="åºå车次") private Integer outCarNum; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -137,7 +137,6 @@ @ApiModelProperty(value = "éç¥å ¥åçå¾ æ¶é´") @ExcelColumn(name="éç¥å ¥åçå¾ æ¶é´") private Date inwaitDate; @ApiModelProperty(value = "éç¥å ¥åçå¾ æä½äººç¼ç ", example = "1") @@ -147,8 +146,6 @@ @ApiModelProperty(value = "å«å·æ¶é´") @ExcelColumn(name="å«å·æ¶é´") private Date callDate; @ApiModelProperty(value = "å«å·äººç¼ç ", example = "1") @@ -197,7 +194,6 @@ @ApiModelProperty(value = "车è¾ç¦»åæ¶é´") @ExcelColumn(name="车è¾ç¦»åæ¶é´") private Date outDate; @ApiModelProperty(value = "ç¦»åæ¹å¼ 0èªå¨ç¦»å 1æå¨ç¦»åº", example = "1") server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -83,7 +83,6 @@ @ApiModelProperty(value = "海康é¨ç¦åç§°") @ExcelColumn(name="è¿åé¨ç¦" ,index = 6,width = 12) @TableField(exist = false) private String deviceName; @ApiModelProperty(value = "海康é¨ç¦ç¼ç ") @@ -96,6 +95,8 @@ @ApiModelProperty(value = "访客ID(å ³èmember)") private Integer memberId; @ApiModelProperty(value = "访客1é¨ç¦äºä»¶2车è¾äºä»¶") private String accessType; @ApiModelProperty(value = "äºä»¶ç±»åç ") private String eventCode; @@ -116,6 +117,10 @@ @TableField(exist = false) private String keyWords; @ApiModelProperty(value = "ç±»å 0å³å¡å ¬å¸ 1å é¨ç»ç»") @TableField(exist = false) private Integer companyType; @ApiModelProperty(value = "å¼å§æ¶é´") @TableField(exist = false) private Date startTime; server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutDayCountService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,97 @@ package com.doumee.service.business; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.InoutDayCount; import java.util.List; /** * åºå ¥åºäººæ¬¡è½¦æ¬¡æ¯æ¥ç»è®¡è¡¨Serviceå®ä¹ * @author æ±è¹è¹ * @date 2024/10/12 16:19 */ public interface InoutDayCountService { /** * å建 * * @param inoutDayCount å®ä½å¯¹è±¡ * @return Integer */ Integer create(InoutDayCount inoutDayCount); /** * 主é®å é¤ * * @param id ä¸»é® */ void deleteById(Integer id); /** * å é¤ * * @param inoutDayCount å®ä½å¯¹è±¡ */ void delete(InoutDayCount inoutDayCount); /** * æ¹é主é®å é¤ * * @param ids 主é®é */ void deleteByIdInBatch(List<Integer> ids); /** * 䏻鮿´æ° * * @param inoutDayCount å®ä½å¯¹è±¡ */ void updateById(InoutDayCount inoutDayCount); /** * æ¹é䏻鮿´æ° * * @param inoutDayCounts å®ä½é */ void updateByIdInBatch(List<InoutDayCount> inoutDayCounts); /** * 䏻鮿¥è¯¢ * * @param id ä¸»é® * @return InoutDayCount */ InoutDayCount findById(Integer id); /** * æ¡ä»¶æ¥è¯¢åæ¡è®°å½ * * @param inoutDayCount å®ä½å¯¹è±¡ * @return InoutDayCount */ InoutDayCount findOne(InoutDayCount inoutDayCount); /** * æ¡ä»¶æ¥è¯¢ * * @param inoutDayCount å®ä½å¯¹è±¡ * @return List<InoutDayCount> */ List<InoutDayCount> findList(InoutDayCount inoutDayCount); /** * å页æ¥è¯¢ * * @param pageWrap å页对象 * @return PageData<InoutDayCount> */ PageData<InoutDayCount> findPage(PageWrap<InoutDayCount> pageWrap); /** * æ¡ä»¶ç»è®¡ * * @param inoutDayCount å®ä½å¯¹è±¡ * @return long */ long count(InoutDayCount inoutDayCount); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -1,7 +1,9 @@ package com.doumee.service.business; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.admin.response.PCWorkPlatformDataVO; import com.doumee.dao.business.dto.ResetPasswordDTO; import com.doumee.dao.business.model.Visits; import com.doumee.dao.web.reqeust.AuditApproveDTO; @@ -143,4 +145,6 @@ void resetPassword(ResetPasswordDTO resetPasswordDTO); void visitResend(Integer visitId); PCWorkPlatformDataVO getPcWorkPlatformData(Integer queryType ,LoginUserInfo loginUserInfo); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,170 @@ package com.doumee.service.business.impl; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.dao.business.InoutDayCountMapper; import com.doumee.dao.business.model.InoutDayCount; import com.doumee.service.business.InoutDayCountService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; /** * åºå ¥åºäººæ¬¡è½¦æ¬¡æ¯æ¥ç»è®¡è¡¨Serviceå®ç° * @author æ±è¹è¹ * @date 2024/10/12 16:19 */ @Service public class InoutDayCountServiceImpl implements InoutDayCountService { @Autowired private InoutDayCountMapper inoutDayCountMapper; @Override public Integer create(InoutDayCount inoutDayCount) { inoutDayCountMapper.insert(inoutDayCount); return inoutDayCount.getId(); } @Override public void deleteById(Integer id) { inoutDayCountMapper.deleteById(id); } @Override public void delete(InoutDayCount inoutDayCount) { UpdateWrapper<InoutDayCount> deleteWrapper = new UpdateWrapper<>(inoutDayCount); inoutDayCountMapper.delete(deleteWrapper); } @Override public void deleteByIdInBatch(List<Integer> ids) { if (CollectionUtils.isEmpty(ids)) { return; } inoutDayCountMapper.deleteBatchIds(ids); } @Override public void updateById(InoutDayCount inoutDayCount) { inoutDayCountMapper.updateById(inoutDayCount); } @Override public void updateByIdInBatch(List<InoutDayCount> inoutDayCounts) { if (CollectionUtils.isEmpty(inoutDayCounts)) { return; } for (InoutDayCount inoutDayCount: inoutDayCounts) { this.updateById(inoutDayCount); } } @Override public InoutDayCount findById(Integer id) { return inoutDayCountMapper.selectById(id); } @Override public InoutDayCount findOne(InoutDayCount inoutDayCount) { QueryWrapper<InoutDayCount> wrapper = new QueryWrapper<>(inoutDayCount); return inoutDayCountMapper.selectOne(wrapper); } @Override public List<InoutDayCount> findList(InoutDayCount inoutDayCount) { QueryWrapper<InoutDayCount> wrapper = new QueryWrapper<>(inoutDayCount); return inoutDayCountMapper.selectList(wrapper); } @Override public PageData<InoutDayCount> findPage(PageWrap<InoutDayCount> pageWrap) { IPage<InoutDayCount> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<InoutDayCount> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(InoutDayCount::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(InoutDayCount::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(InoutDayCount::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(InoutDayCount::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getEditor() != null) { queryWrapper.lambda().eq(InoutDayCount::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(InoutDayCount::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(InoutDayCount::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(InoutDayCount::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getTimeInfo() != null) { queryWrapper.lambda().ge(InoutDayCount::getTimeInfo, Utils.Date.getStart(pageWrap.getModel().getTimeInfo())); queryWrapper.lambda().le(InoutDayCount::getTimeInfo, Utils.Date.getEnd(pageWrap.getModel().getTimeInfo())); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.lambda().eq(InoutDayCount::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getInMemberNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getInMemberNum, pageWrap.getModel().getInMemberNum()); } if (pageWrap.getModel().getOutMemberNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getOutMemberNum, pageWrap.getModel().getOutMemberNum()); } if (pageWrap.getModel().getInVisitorNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getInVisitorNum, pageWrap.getModel().getInVisitorNum()); } if (pageWrap.getModel().getOutVisitorNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getOutVisitorNum, pageWrap.getModel().getOutVisitorNum()); } if (pageWrap.getModel().getSinginVisitorNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getSinginVisitorNum, pageWrap.getModel().getSinginVisitorNum()); } if (pageWrap.getModel().getLeaveVisitorNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getLeaveVisitorNum, pageWrap.getModel().getLeaveVisitorNum()); } if (pageWrap.getModel().getInOrtherMemberNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getInOrtherMemberNum, pageWrap.getModel().getInOrtherMemberNum()); } if (pageWrap.getModel().getOutOrtherMemberNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getOutOrtherMemberNum, pageWrap.getModel().getOutOrtherMemberNum()); } if (pageWrap.getModel().getInSelfMemberNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getInSelfMemberNum, pageWrap.getModel().getInSelfMemberNum()); } if (pageWrap.getModel().getOutSelfMemberNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getOutSelfMemberNum, pageWrap.getModel().getOutSelfMemberNum()); } if (pageWrap.getModel().getInCarNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getInCarNum, pageWrap.getModel().getInCarNum()); } if (pageWrap.getModel().getOutCarNum() != null) { queryWrapper.lambda().eq(InoutDayCount::getOutCarNum, pageWrap.getModel().getOutCarNum()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(inoutDayCountMapper.selectPage(page, queryWrapper)); } @Override public long count(InoutDayCount inoutDayCount) { QueryWrapper<InoutDayCount> wrapper = new QueryWrapper<>(inoutDayCount); return inoutDayCountMapper.selectCount(wrapper); } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -17,6 +17,7 @@ import com.doumee.core.haikang.model.param.request.VisitAppointmentRequest; import com.doumee.core.haikang.model.param.respose.VisitAppointmentResponse; import com.doumee.core.haikang.service.HKService; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; @@ -24,6 +25,7 @@ import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.core.wx.wxPlat.WxPlatNotice; import com.doumee.dao.admin.response.PCWorkPlatformDataVO; import com.doumee.dao.business.*; import com.doumee.dao.business.dao.CompanyMapper; import com.doumee.dao.business.dto.ResetPasswordDTO; @@ -31,7 +33,10 @@ import com.doumee.dao.business.join.VisitsJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.system.SystemUserMapper; import com.doumee.dao.system.dto.NoticesDTO; import com.doumee.dao.system.dto.ResetSystemUserPwdDTO; import com.doumee.dao.system.join.NoticesJoinMapper; import com.doumee.dao.system.model.Notices; import com.doumee.dao.system.model.SystemUser; import com.doumee.dao.web.reqeust.AuditApproveDTO; import com.doumee.dao.web.reqeust.ErpVisitDTO; @@ -108,6 +113,8 @@ private SystemUserMapper systemUserMapper; @Autowired private ApproveService approveService; @Autowired private NoticesJoinMapper noticesJoinMapper; @Override @@ -1463,4 +1470,104 @@ systemUserBiz.resetPwd(dto); } /** * * @param queryType æ¥è¯¢ç±»åï¼1=å¨å人æ°ï¼2=æ¥è¡¨æ°æ®ï¼3=å¾ åäºé¡¹ï¼4=è¶ æ¶é¢è¦ * @param loginUserInfo * @return */ @Override public PCWorkPlatformDataVO getPcWorkPlatformData(Integer queryType ,LoginUserInfo loginUserInfo){ PCWorkPlatformDataVO pcWorkPlatformDataVO = new PCWorkPlatformDataVO(); if(Constants.equalsInteger(queryType,Constants.ONE)){ List<Retention> retentionList = retentionMapper.selectJoinList(Retention.class, new MPJLambdaWrapper<Retention>() .selectAll(Retention.class) .selectAs(Company::getType,Retention::getCompanyType) .leftJoin(Company.class,Company::getId,Retention::getCompanyId) ); //仿¥å¨åäººæ° pcWorkPlatformDataVO.setTodayInParkUserNum( retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).count() ); pcWorkPlatformDataVO.setTodayInUserNum(0L); pcWorkPlatformDataVO.setTodayOutUserNum(0L); //å¨åé¿æç¸å ³æ¹äººæ° pcWorkPlatformDataVO.setInParkLwUserNum( retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyType(),Constants.ONE)).count() ); pcWorkPlatformDataVO.setLwUserInNum(0L); pcWorkPlatformDataVO.setLwUserOutNum(0L); //å¨å访客æ°é pcWorkPlatformDataVO.setInParkVisitUserNum( retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)&&Objects.isNull(i.getCompanyType())).count() ); pcWorkPlatformDataVO.setVisitUserNum(0L); pcWorkPlatformDataVO.setSignLevelNum(0L); //å¨åè½¦è¾ pcWorkPlatformDataVO.setTodayInParkCarNum( retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count() ); pcWorkPlatformDataVO.setTodayInCarNum(0L); pcWorkPlatformDataVO.setTodayOutCarNum(0L); }else if(Constants.equalsInteger(queryType,Constants.TWO)){ }else if(Constants.equalsInteger(queryType,Constants.THREE)) { MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(Notices.class); if (Objects.isNull(loginUserInfo.getMemberId())) { queryWrapper.eq("1", "2"); } else { queryWrapper.eq(Notices::getStatus, Constants.ZERO); queryWrapper.eq(Notices::getSendacopy, Constants.ZERO); queryWrapper.eq(Notices::getParam2, Constants.ZERO); queryWrapper.eq(Notices::getUserId, loginUserInfo.getMemberId()); } queryWrapper.orderByDesc(Notices::getCreateDate); List<Notices> noticesList = noticesJoinMapper.selectList(queryWrapper); pcWorkPlatformDataVO.setNoticesList(noticesList); pcWorkPlatformDataVO.setNoticesNum(noticesList.size()); }else{ String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_WARNING).getCode(); MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(Visits.class); queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName); queryWrapper.select("TIMESTAMPDIFF( MINUTE, NOW(), t.OUT_DATE) AS timeOut"); queryWrapper.selectAs(Member::getType,Visits::getMemberType); queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment); queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId); queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); queryWrapper.leftJoin(" member m on m.id= t.MEMBER_ID"); queryWrapper.eq(Visits::getStatus,Constants.VisitStatus.signin); queryWrapper.apply(" TIMESTAMPDIFF( MINUTE, NOW(), t.OUT_DATE) <= "+code+" "); queryWrapper.ne("m.type ",Constants.TWO); queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO); queryWrapper.orderByDesc(Visits::getEditDate); List<Visits> result = visitsJoinMapper.selectList(queryWrapper); if(result!=null&&result!=null){ result.stream().forEach(s ->{ if(s.getStatus().equals(Constants.VisitStatus.signin)){ if(s.getTimeOut()<=Integer.valueOf(code)&&s.getTimeOut()>=0){ s.setOutStatus(Constants.TWO); }else if(s.getTimeOut()>Constants.ZERO){ s.setOutStatus(Constants.ZERO); }else{ s.setOutStatus(Constants.ONE); } } }); } pcWorkPlatformDataVO.setTimeOutVisitList(result); pcWorkPlatformDataVO.setTimeOutVisitNum(result.size()); } return pcWorkPlatformDataVO; } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -17,6 +17,7 @@ import com.doumee.core.utils.Constants; import com.doumee.core.utils.DESUtil; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.business.*; import com.doumee.dao.business.join.VisitsJoinMapper; import com.doumee.dao.business.model.*; @@ -43,6 +44,8 @@ @Slf4j public class HkSyncPushServiceImpl extends HkSyncBaseServiceImpl { @Autowired private InoutDayCountMapper inoutDayCountMapper; @Autowired private InterfaceLogMapper interfaceLogMapper; @Autowired @@ -102,13 +105,14 @@ List<DeviceEvent> list = new ArrayList<>(); List<Integer> delRetentionLis = new ArrayList<>(); List<Retention> retentionList = new ArrayList<>(); InoutDayCount inoutDayCount = new InoutDayCount(); for(EventAcsInfoRequest request : events){ EventDeviceDataRequest model = request.getData(); if(model ==null){ continue; } //æ ¹æ®æ¨é人åç¼ç ï¼å¤çå¨åºã离åºäººåæ°æ®è®°å½ dealMemberDataByRequest(request,delRetentionLis,retentionList); dealMemberDataByRequest(request,delRetentionLis,retentionList,inoutDayCount); //å°è£ é¨ç¦äºä»¶ä¿¡æ¯è¡¨å¯¹è±¡ list.add(getDeviceEventModelByRequest(request)); } @@ -126,6 +130,7 @@ //åæå ¥ææ°çå¨å人å retentionMapper.insert(retentionList); } dealInoutDayCountBiz(inoutDayCount); log.info("ãæµ·åº·é¨ç¦äºä»¶æ¨éã========æå======="); }catch (Exception e) { log.error("ãæµ·åº·é¨ç¦äºä»¶æ¨éã========失败=======ï¼\n" + e.getMessage()); @@ -136,27 +141,80 @@ } private void dealInoutDayCountBiz(InoutDayCount param) { param.setTimeInfo(Utils.Date.getStart(new Date())); InoutDayCount model = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>().lambda() .eq(InoutDayCount::getTimeInfo,param.getTimeInfo()) .eq(InoutDayCount::getIsdeleted,Constants.ZERO) .last("limit 1")); if(model == null){ param.setIsdeleted(Constants.ZERO); param.setCreateDate(new Date()); param.setEditDate(new Date()); inoutDayCountMapper.insert(param); }else{ inoutDayCountMapper.update(null,new UpdateWrapper<InoutDayCount>().lambda() .eq(InoutDayCount::getId,model.getId() ) .set(InoutDayCount::getEditDate,new Date() ) .setSql(param.getInCarNum()!=null,"IN_CAR_NUM = ifnull(IN_CAR_NUM)"+param.getInCarNum() ) .setSql(param.getOutCarNum()!=null,"OUT_CAR_NUM = ifnull(OUT_CAR_NUM)"+param.getOutCarNum() ) .setSql(param.getInMemberNum()!=null,"IN_MEMBER_NUM = ifnull(IN_MEMBER_NUM)"+param.getInMemberNum() ) .setSql(param.getOutMemberNum()!=null,"OUT_MEMBER_NUM = ifnull(OUT_MEMBER_NUM)"+param.getOutMemberNum() ) .setSql(param.getInVisitorNum()!=null,"IN_VISITOR_NUM = ifnull(IN_VISITOR_NUM)"+param.getInVisitorNum() ) .setSql(param.getOutVisitorNum()!=null,"OUT_VISITOR_NUM = ifnull(OUT_VISITOR_NUM)"+param.getOutVisitorNum() ) .setSql(param.getSigninVisitorNum()!=null,"SIGNIN_VISITOR_NUM = ifnull(SIGNIN_VISITOR_NUM)"+param.getSigninVisitorNum() ) .setSql(param.getLeaveVisitorNum()!=null,"LEAVE_VISITOR_NUM = ifnull(LEAVE_VISITOR_NUM)"+param.getLeaveVisitorNum() ) .setSql(param.getInOtherMemberNum()!=null,"IN_OTHER_MEMBER_NUM = ifnull(IN_OTHER_MEMBER_NUM)"+param.getInOtherMemberNum() ) .setSql(param.getOutOtherMemberNum()!=null,"OUT_OTHER_MEMBER_NUM = ifnull(OUT_OTHER_MEMBER_NUM)"+param.getOutOtherMemberNum() ) .setSql(param.getInSelfMemberNum()!=null,"IN_SELF_MEMBER_NUM = ifnull(IN_SELF_MEMBER_NUM)"+param.getInSelfMemberNum() ) .setSql(param.getOutSelfMemberNum()!=null,"OUT_SELF_MEMBER_NUM = ifnull(OUT_SELF_MEMBER_NUM)"+param.getOutSelfMemberNum() ) ); } } /** * æ ¹æ®æ¨é人åç¼ç ï¼å¤çå¨åºã离åºäººåæ°æ®è®°å½ * @param request * @param delRetentionLis * @param retentionList */ private void dealMemberDataByRequest(EventAcsInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList) { private void dealMemberDataByRequest(EventAcsInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList,InoutDayCount inoutDayCount) { //海康人åç¼ç String userNo = request.getData().getExtEventPersonNo(); if(StringUtils.isNotBlank(userNo)){ Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getHkId,userNo).last("limit 1")); Member member = memberMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>() .selectAll(Member.class) .selectAs(Member::getCompanyType,Company::getType) .leftJoin(Company.class,Company::getId,Member::getCompanyId) .eq(Member::getHkId,userNo) .last("limit 1")); //å¦æäººåä¿¡æ¯åå¨ï¼åå é¤ä¹åçææè¿åºæ°æ®ï¼æ è®ºæ¤æ¬¡æ¨éæ¯è¿åè¿æ¯åºåºæ¨éäºä»¶ï¼ Device d = deviceMapper.selectOne(new QueryWrapper<Device>().lambda() .eq(Device::getDoorId,request.getSrcIndex()) .eq(Device::getIsdeleted,Constants.ZERO) .last("limit 1" )); if(d!=null && !(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){ //妿æ¯è¿é¨ï¼å½å ¥äººåçå¨åºæ°æ®è®°å½ inoutDayCount.setInMemberNum(Constants.formatIntegerNum(inoutDayCount.getInMemberNum())+1);//å ¥åºäººæ¬¡ }else{ inoutDayCount.setOutMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutMemberNum())+1);//离åºäººæ¬¡ } if(member !=null){ //å¦æäººåä¿¡æ¯åå¨ï¼åå é¤ä¹åçææè¿åºæ°æ®ï¼æ è®ºæ¤æ¬¡æ¨éæ¯è¿åè¿æ¯åºåºæ¨éäºä»¶ï¼ Device d = deviceMapper.selectOne(new QueryWrapper<Device>().lambda() .eq(Device::getDoorId,request.getSrcIndex()) .eq(Device::getIsdeleted,Constants.ZERO) .last("limit 1" )); delRetentionLis.add(member.getId()); if(d!=null && !(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){ //妿æ¯è¿é¨ï¼å½å ¥äººåçå¨åºæ°æ®è®°å½ retentionList.add(getRetentionModelByRequest(member,request)); if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ inoutDayCount.setInSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getInSelfMemberNum())+1);//å é¨äººåå ¥åºäººæ¬¡ }else{ inoutDayCount.setInOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getInOtherMemberNum())+1);//ç¸å ³æ¹å ¥åºäººæ¬¡ } }else{ if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ inoutDayCount.setOutSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutSelfMemberNum())+1);//å é¨äººååºåºäººæ¬¡ }else{ inoutDayCount.setOutOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutOtherMemberNum())+1);//ç¸å ³æ¹åºåºäººæ¬¡ } } } } @@ -345,6 +403,7 @@ List<VisitEvent> list = new ArrayList<>(); List<Integer> delRetentionLis = new ArrayList<>(); List<Retention> retentionList = new ArrayList<>(); InoutDayCount inoutDayCount = new InoutDayCount(); for(EventVisitIccmInfoRequest request : events){ if(request.getData() ==null || request.getData().getVisitorInvoices() ==null){ continue; @@ -353,7 +412,7 @@ continue; } //海康访客记å½ç¼ç dealVisitDataByRequstIccm(request,delRetentionLis,retentionList); dealVisitDataByRequstIccm(request,delRetentionLis,retentionList,inoutDayCount); list.add(getVisitEventModelByRequestIccm(request,request.getData().getVisitorInformationList().get(0))); } if(list.size()>0){ @@ -370,6 +429,7 @@ //åæå ¥ææ°çå¨å人å retentionMapper.insert(retentionList); } dealInoutDayCountBiz(inoutDayCount); log.info("ãæµ·åº·è®¿å®¢äºä»¶æ¨éã========æå======="); }catch (Exception e){ log.error("ãæµ·åº·è®¿å®¢äºä»¶æ¨éã========失败=======ï¼\n"+e.getMessage()); @@ -382,7 +442,7 @@ /** * æ ¹æ®è®¿å®¢æ¨é访客记å½ç¼ç ï¼å¤ç访客记å½ãå¨åºäººåçä¿¡æ¯ */ private void dealVisitDataByRequstIccm(EventVisitIccmInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList ) { private void dealVisitDataByRequstIccm(EventVisitIccmInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList, InoutDayCount inoutDayCount) { EventVisitIccmDataRequest model = request.getData(); EventVisitIccmInvoiceParamRequest data = request.getData().getVisitorInvoices(); @@ -394,8 +454,6 @@ queryWrapper.last("limit 1"); Visits visits = visitsMapper.selectJoinOne(Visits.class,queryWrapper); if(visits !=null){ //å¦æäººåä¿¡æ¯åå¨ï¼åå é¤ä¹åçææè¿åºæ°æ®ï¼æ è®ºæ¤æ¬¡æ¨éæ¯è¿åè¿æ¯åºåºæ¨éäºä»¶ï¼ delRetentionLis.add(visits.getMemberId()); if(dataSyncConfig.getOrgUserDataOrigin() == DataSyncConfig.origin.hk){ //妿æ¯ä¼å©å¤§å±é¡¹ç®ï¼ä¸åå¤ç return; @@ -404,8 +462,9 @@ updateVistis.setId(visits.getId()); if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_IN.getKey()) { //妿æ¯è®¿å®¢ç»è®°ï¼å½å ¥äººåçå¨åºæ°æ®è®°å½ retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType())); // retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType())); //æ¥è®¿æ¶é´ inoutDayCount.setSigninVisitorNum(Constants.formatIntegerNum(inoutDayCount.getSigninVisitorNum())+1); updateVistis.setStatus(Constants.VisitStatus.signin); updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime())); updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime())); @@ -416,13 +475,31 @@ memberMapper.updateById(member); }else if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_OUT.getKey()) { //妿æ¯è®¿å®¢ç¾ç¦»äºä»¶ inoutDayCount.setLeaveVisitorNum(Constants.formatIntegerNum(inoutDayCount.getLeaveVisitorNum())+1); updateVistis.setStatus(Constants.VisitStatus.signout); updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime())); updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime())); updateVistis.setOutType(Constants.ZERO); updateVistis.setOutInfo("访客æ£å¸¸ç¾ç¦»"); }else{ //å¦æäººåä¿¡æ¯åå¨ï¼åæ¯è®¿å®¢éè¡ï¼åå é¤ä¹åçææè¿åºæ°æ®ï¼æ è®ºæ¤æ¬¡æ¨éæ¯è¿åè¿æ¯åºåºæ¨éäºä»¶ï¼ delRetentionLis.add(visits.getMemberId()); //妿æ¯è®¿å®¢éè¡ if(request.getData()!=null&&request.getData().getParamValues()!=null && StringUtils.equals(request.getData().getParamValues().getInOrOut(),"1")){ //妿æ¯è®¿å®¢ç»è®°ï¼å½å ¥äººåçå¨åºæ°æ®è®°å½ Retention r = getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType()); r.setCarNo(request.getData().getParamValues().getPlateNos()); r.setAccessType(request.getData().getParamValues().getAccessType()); r.setDeviceName(request.getData().getParamValues().getSrcName()); r.setDeviceIndex(request.getData().getParamValues().getSrcIndex()); retentionList.add(r); inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1); } if(request.getData()!=null&&request.getData().getParamValues()!=null && StringUtils.equals(request.getData().getParamValues().getInOrOut(),"2")){ inoutDayCount.setOutVisitorNum(Constants.formatIntegerNum(inoutDayCount.getOutVisitorNum())+1); } } updateVistis.setEditDate(new Date()); //æ´æ°è®¿å®¢æ¥è®¿æè ç¾ç¦»æ¶é´ä¿¡æ¯ @@ -643,12 +720,13 @@ List<CarEvent> list = new ArrayList<>(); List<Retention> retentionList = new ArrayList<>(); List<String> delRetentionList = new ArrayList<>(); InoutDayCount inoutDayCount = new InoutDayCount(); for(EventParkInfoRequest request : events){ if(request.getData() ==null ||StringUtils.isBlank(request.getData().getPlateNo())){ continue; } //å°è£ äºä»¶ä¿¡æ¯è¡¨å¯¹è±¡ list.add(getParkEventModelByRequest(request,delRetentionList,retentionList)); list.add(getParkEventModelByRequest(request,delRetentionList,retentionList,inoutDayCount)); } if(list.size()>0){ //æå ¥é¨ç¦è®°å½ @@ -664,6 +742,7 @@ //åæå ¥ææ°çå¨å人å retentionMapper.insert(retentionList); } dealInoutDayCountBiz(inoutDayCount); log.info("ãæµ·åº·å车åºäºä»¶æ¨éã========æå======="); }catch (Exception e){ @@ -678,7 +757,7 @@ * @param request * @return */ private CarEvent getParkEventModelByRequest(EventParkInfoRequest request, List<String> delRetentionList , List<Retention> retentionList ) { private CarEvent getParkEventModelByRequest(EventParkInfoRequest request, List<String> delRetentionList , List<Retention> retentionList,InoutDayCount inoutDayCount ) { CarEvent event = new CarEvent(); event.setIsdeleted(Constants.ZERO); event.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime())); @@ -754,9 +833,11 @@ //妿æ¯å ¥åæ¾è¡ delRetentionList.add(event.getPlateNos()); retentionList.add(getRetentionModelByParkRequest(request)); inoutDayCount.setInCarNum(Constants.formatIntegerNum(inoutDayCount.getInCarNum())+1); }else if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){ //妿æ¯åºåºæ¾è¡ delRetentionList.add(event.getPlateNos()); inoutDayCount.setOutCarNum(Constants.formatIntegerNum(inoutDayCount.getOutCarNum())+1); } } return event;