| | |
| | | * 宿¶åæ¥å
é¨äººåææå°æµ·åº·ç³»ç» |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 30*1000) |
| | | @Scheduled(fixedRate= 30*1000) |
| | | public void syncEmpowerData() { |
| | | if(endId ==null){ |
| | | endId =0; |
| | |
| | | * 宿¶æ¥è¯¢äººåå®é
ä¸åæéç»æï¼æ¯å¦å·²ç»ä¸è½½æå |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 30*1000) |
| | | @Scheduled(fixedRate= 30*1000) |
| | | public void syncEmpowerDetailData() { |
| | | if(endId ==null){ |
| | | endId =0; |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.task; |
| | | |
| | | |
| | | import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.EnableScheduling; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 宿¶ä»»å¡ |
| | | * @author jiangping |
| | | * @date 2021-10-10 14:40:35 |
| | | * https://www.bejson.com/othertools/cron/ cron 表达å¼çæå°å |
| | | */ |
| | | @Component |
| | | @EnableScheduling |
| | | public class ScheduleTaskFailRetrylTool { |
| | | |
| | | public static Integer endId = 0; |
| | | @Autowired |
| | | private HkSyncEmpowerServiceImpl hkSyncEmpowerService; |
| | | |
| | | /** |
| | | * 宿¶å¯¹ä¸åå¤±è´¥çææè¿è¡éè¯ï¼10åéï¼ |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedRate= 60*1000 *10) |
| | | public void syncEmpowerDetailData() { |
| | | hkSyncEmpowerService.syncEmpowerFailData(endId); |
| | | } |
| | | } |
| | |
| | | * 宿¶æ¥è¯¢äººåä¸åæµ·åº·ç»æï¼ä»»å¡æ¯å¦å·²ä¸è½½ç»æï¼ |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay=20*1000) |
| | | @Scheduled(fixedRate=20*1000) |
| | | public void syncEmpowerResultData() { |
| | | hkSyncEmpowerService.syncEmpowerResultData(endId); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | @ApiOperation("åæ¥äººè¸ä¿¡æ¯") |
| | | @PostMapping("/updateFace") |
| | | public ApiResponse updateFace(@RequestBody Member member) { |
| | | memberService.updateFace(member); |
| | | return ApiResponse.success(null); |
| | | } |
| | | @ApiOperation("æ ¹æ®IDä¿®æ¹") |
| | | @PostMapping("/updateById") |
| | | @RequiresPermissions("business:member:update") |
| | |
| | | * @date 2021-10-10 14:40:35 |
| | | * https://www.bejson.com/othertools/cron/ cron 表达å¼çæå°å |
| | | */ |
| | | @Component |
| | | @EnableScheduling |
| | | //@Component |
| | | //@EnableScheduling |
| | | public class ScheduleTool { |
| | | |
| | | @Autowired |
| | |
| | | * æ¯åéæå䏿¬¡ä»æ¥ç访客é¢çº¦æ°æ® |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 30*1000) |
| | | @Scheduled(fixedRate= 30*1000) |
| | | public void syncVistAppointData() throws Exception { |
| | | if(Constants.DEALING_FROM_HK_VISIT){ |
| | | return ; |
| | |
| | | * æ¯10åéæå䏿¬¡ææ°è®¿å®¢ç»è®°ç¶æï¼é¢çº¦æååå·²ç»è®°ï¼ |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 10*60*1000) |
| | | @Scheduled(fixedRate= 10*60*1000) |
| | | public void syncVisitOuttimeStatus() throws Exception { |
| | | hkSyncVisitService.getOutTimeVisitRecord(); |
| | | } |
| | |
| | | * ä¸è½½æµ·åº·ç³»ç»å¾çæ°æ® |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | @Scheduled(fixedRate= 60*1000) |
| | | public void downloadHkImg() throws Exception { |
| | | if(dataSyncConfig.getNeedDealImg()!=null && dataSyncConfig.getNeedDealImg()){ |
| | | hkSyncImgService.downHKImgs(0); |
| | |
| | | * 宿¶åæ¥ç»ç»ä¿¡æ¯å°æµ·åº·ç³»ç» |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | @Scheduled(fixedRate= 60*1000) |
| | | public void syncOrgData() { |
| | | if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp){ |
| | | //妿æ¯ERPç³»ç»åæ¥ä¸å |
| | |
| | | * 宿¶åæ¥ç¨æ·ä¿¡æ¯å°æµ·åº·ç³»ç» |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | @Scheduled(fixedRate= 60*1000) |
| | | public void syncUserData() { |
| | | if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp) { |
| | | //妿æ¯ERPç³»ç»åæ¥ä¸å |
| | |
| | | * 宿¶åæ¥ç³è¯·éè¿çè®¿å®¢æ°æ®å°æµ·åº·ç³»ç» |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | @Scheduled(fixedRate= 60*1000) |
| | | public void syncVisitData() { |
| | | hkSyncVisitService.syncVisitData(); |
| | | } |
| | |
| | | * 宿¶åæ¥å
é¨äººåææå°æµ·åº·ç³»ç» |
| | | * @throws Exception |
| | | *//* |
| | | @Scheduled(fixedDelay= 3*1000) |
| | | @Scheduled(fixedRate= 3*1000) |
| | | public void syncEmpowerData() { |
| | | hkSyncEmpowerService.syncEmpowerData(); |
| | | } |
| | |
| | | * 宿¶æ¥è¯¢äººåä¸åæµ·åº·ç»æï¼ä»»å¡æ¯å¦å·²ä¸è½½ç»æï¼ |
| | | * @throws Exception |
| | | *//* |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | @Scheduled(fixedRate= 60*1000) |
| | | public void syncEmpowerResultData() { |
| | | hkSyncEmpowerService.syncEmpowerResultData(); |
| | | } |
| | |
| | | * 宿¶æ¥è¯¢äººåå®é
ä¸åæéç»æï¼æ¯å¦å·²ç»ä¸è½½æå |
| | | * @throws Exception |
| | | *//* |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | @Scheduled(fixedRate= 60*1000) |
| | | public void syncEmpowerDetailData() { |
| | | hkSyncEmpowerService.syncEmpowerDetailData(); |
| | | }*/ |
| | |
| | | * 宿¶åæ¥è½¦è¾å
æå°æµ·åº·ç³»ç» |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | @Scheduled(fixedRate= 60*1000) |
| | | public void syncParkBookData() { |
| | | hkSyncParkService.syncParkBookData(); |
| | | } |
| | |
| | | /** |
| | | * 宿¶å»ç»å
é¨äººå |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | @Scheduled(fixedRate= 60*1000) |
| | | public void memberFreeze() { |
| | | memberService.memberFreeze(); |
| | | } |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * å类信æ¯è¡¨ |
| | | * @author æ±è¹è¹ |
| | |
| | | private Integer status; |
| | | @ApiModelProperty(value = "å®¡æ ¸æ¶é´ yyyy-MM-dd HH:mm:ss" ) |
| | | private String approveDate ; |
| | | @ApiModelProperty(value = "å®¡æ ¸åå
许è¿åºæ¶é´ æ ¼å¼ï¼yyyy-MM-dd HH:mm:ss,ä¸ºç©ºè¡¨ç¤ºä¿æç³è¯·æ°æ®" ) |
| | | private Date startTime ; |
| | | @ApiModelProperty(value = "审æ¹åå
è®¸ç¦»å¼æ¶é´ æ ¼å¼ï¼yyyy-MM-dd HH:mm:ss,ä¸ºç©ºè¡¨ç¤ºä¿æç³è¯·æ°æ®" ) |
| | | private Date endTime ; |
| | | @ApiModelProperty(value = "审æ¹åå
许访客é¨ç¦ç»ç¼ç ,å¤ä¸ªè¯·ä½¿ç¨è±æéå·,éå¼ï¼å¦1,2,ä¸ºç©ºè¡¨ç¤ºä¿æç³è¯·æ°æ®" ) |
| | | private String doors; |
| | | } |
| | |
| | | private String startTime ; |
| | | @ApiModelProperty(value = "ç³è¯·ç¦»å¼æ¶é´" ) |
| | | private String endTime ; |
| | | @ApiModelProperty(value = "车çå·éå" ) |
| | | private List<String> carNo ; |
| | | @ApiModelProperty(value = "é¨ç¦ç»ç¼ç éå" ) |
| | | private List<Integer> roleIds ; |
| | | @ApiModelProperty(value = "车çå·éå" ) |
| | | private List<String> carNo ; |
| | | |
| | | @ApiModelProperty(value = "é¨ç¦ç»åç§°éå" ) |
| | | private List<String> roleNames ; |
| | | @ApiModelProperty(value = "被访é®äººæå±ç»ç»Id(ERP端ID)" ) |
| | |
| | | String visitingRecords= "/api/visitor/v2/visiting/records";//æ¥è¯¢è®¿å®¢æ¥è®¿è®°å½v2 |
| | | String vehicleList= "/api/resource/v2/vehicle/advance/vehicleList";//æ¥è¯¢è½¦è¾å表v2 |
| | | String vehicleTimeRangeList= "/api/resource/v1/vehicle/timeRange";//å¢éè·åè½¦è¾æ°æ® |
| | | String facePictureCheck= "/api/frs/v1/face/picture/check";//人è¸è¯å |
| | | } |
| | | |
| | | /** |
| | |
| | | saveInterfaceLog(body,result,path); |
| | | return result; |
| | | } |
| | | /** |
| | | * å车åºè¿è½¦è®°å½æ¥è¯¢ |
| | | * @param body |
| | | * @return |
| | | */ |
| | | public static String facePictureCheck(String body) { |
| | | Map<String, String> path = getPath(HKConstants.InterfacePath.facePictureCheck); |
| | | String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请æ±application/jsonç±»ååæ° |
| | | saveInterfaceLog(body,result,path); |
| | | return result; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.haikang.model.param.request; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class FacePictureCheckRequest { |
| | | |
| | | private String facePicBinaryData;// string False 人è¸å¾ççäºè¿å¶æ°æ®ç»è¿ Base64 ç¼ç åçå符串ï¼è¯¥åæ°ä¸ f acePicUrl è³å°æä¸ä¸ªåå¨ï¼é½å卿¶ä¼å
ä½¿ç¨æ¤åæ° |
| | | private String facePicUrl ;//string False 人è¸å¾çurl ï¼è¦æ± URL å¯ä»¥éè¿ GET æ¹å¼ç´æ¥ä¸è½½ï¼è¯¥ åæ°ä¸ facePicBinaryData è³å°æä¸ä¸ªåå¨ |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.haikang.model.param.respose; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class FacePictureCheckResponse { |
| | | |
| | | private Integer total;// number False æ»æ¡æ° |
| | | |
| | | private Boolean checkResult;// boolean False 人è¸å¾çæ£æµç»æï¼true-è¯ååæ ¼false-è¯åä¸ åæ ¼ |
| | | /** |
| | | * 0x1f902300-äººè¸æ£æµé误ï¼å¾çæ ¼å¼ä¸ç¬¦åè¦æ±ãæ£æµä¸å°äººè¸çæ
嵿¶ï¼ |
| | | * 0x1f902301-äººè¸æ£æµè¶
æ¶ |
| | | * 0x1f902303-å¾ç两ç¼é´è·è¿å° |
| | | * 0x1f902304-å¾ç彩è²ç½®ä¿¡åº¦è¿ä½ |
| | | * 0x1f902305-å¾ç人è¸è§åº¦è¿å¤§ |
| | | * 0x1f902306-å¾çæ¸
æ°åº¦è¿ä½ |
| | | * 0x1f902307-å¾çè¿ææè¿æï¼ç°é¶å¼ä¸ç¬¦åè¦æ±ï¼ |
| | | * 0x1f902308-å¾ç鮿¡ä¸¥é |
| | | * 0x1f902309-å¾çåæ°è¿ä½ |
| | | */ |
| | | private String statusCode ;//string False è¯å失败详ç»é误ç ï¼ |
| | | private String statusMessage;// string False è¯å失败详æ
æè¿° |
| | | private String faceScore ;//number False 人è¸è¯åï¼èå´ï¼ 1-100 |
| | | private String facePicAnalysisResult ;//object False è¯åæååçäººè¸ ä¿¡æ¯ï¼ç¨äºäººè¸è£åª |
| | | |
| | | } |
| | |
| | | } |
| | | return null; |
| | | } |
| | | /** |
| | | *å¢éè½¦è¾æ¥è¯¢ï¼åé¡µï¼ |
| | | * @return |
| | | */ |
| | | public static BaseResponse<BaseListPageResponse<VehicleTimeRangeInfoResponse>> facePictureCheck(TimeRangeListRequest param){ |
| | | log.info("ãæµ·åº·å¢éäººåæ¥è¯¢ã================å¼å§===="+JSONObject.toJSONString(param)); |
| | | try { |
| | | String res = HKTools.facePictureCheck(JSONObject.toJSONString(param)); |
| | | TypeReference typeReference = |
| | | new TypeReference< BaseResponse<BaseListPageResponse<VehicleTimeRangeInfoResponse>> >(){}; |
| | | BaseResponse<BaseListPageResponse<VehicleTimeRangeInfoResponse>> result = JSONObject.parseObject(res, typeReference.getType()); |
| | | logResult(result,"海康å¢éäººåæ¥è¯¢"); |
| | | return result; |
| | | }catch (Exception e){ |
| | | log.error("ãæµ·åº·å¢éäººåæ¥è¯¢ã================失败====ï¼\n"+ e.getMessage()); |
| | | } |
| | | return null; |
| | | } |
| | | private static void logResult(BaseResponse res,String name) { |
| | | if(StringUtils.equals(res.getCode(),HKConstants.RESPONSE_SUCCEE)){ |
| | | log.info("ã"+name+"ã================æå====\n"+res); |
| | |
| | | import com.doumee.dao.business.model.Empower; |
| | | import com.github.yulichang.base.mapper.MPJJoinMapper; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/11/30 15:33 |
| | | */ |
| | | public interface EmpowerJoinMapper extends MPJJoinMapper<Empower> { |
| | | |
| | | void insertBatchSomeColumn(List<Empower> list); |
| | | } |
| | |
| | | private Integer sendUserId; |
| | | @ApiModelProperty(value = "ä¸å次æ°", example = "1") |
| | | private Integer tryNum; |
| | | @ApiModelProperty(value = "失败éè¯ 0éè¦ 1ä¸éè¦", example = "1") |
| | | private Integer failFlag; |
| | | |
| | | @ApiModelProperty(value = "åæ¶äººå", example = "1") |
| | | private Integer cancelUserId; |
| | |
| | | @ApiModelProperty(value = "äººåæ¯å¦å é¤ 0å¦ 1æ¯") |
| | | @TableField(exist = false) |
| | | private Integer memberDeleted; |
| | | @ApiModelProperty(value = "临æ¶å段") |
| | | @TableField(exist = false) |
| | | private Integer tempCouunt; |
| | | |
| | | } |
| | |
| | | |
| | | @ApiModelProperty(value = "é访人åä¿¡æ¯") |
| | | List<ErpWithVisitDTO> erpWithVisitDTOList; |
| | | |
| | | |
| | | } |
| | |
| | | * @param member å®ä½å¯¹è±¡ |
| | | */ |
| | | void updateById(Member member); |
| | | void updateFace(Member member); |
| | | |
| | | |
| | | /** |
| | |
| | | if(member==null || member.getIsdeleted().equals(Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"å工信æ¯å·²å é¤"); |
| | | } |
| | | List<MemberCard> cards = HkSyncOrgUserToHKServiceImpl.getNormalCardList(member,memberCardMapper); |
| | | HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(cards,member,deviceRoleMapper,empowerMapper,deviceMapper); |
| | | |
| | | /* LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | Member member = memberMapper.selectById(id); |
| | | if(member.getIsdeleted().equals(Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å工信æ¯å·²å é¤"); |
| | | } |
| | | if(!member.getType().equals(Constants.memberType.internal)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"éå
é¨äººåæ æ³è¿è¡è¯¥æä½"); |
| | | } |
| | | List<MemberRole> roleList = memberRoleMapper.selectList(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); |
| | | */ |
| | | // List<MemberCard> cards = HkSyncOrgUserToHKServiceImpl.getNormalCardList(member,memberCardMapper); |
| | | HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,member,deviceRoleMapper,empowerMapper,deviceMapper); |
| | | } |
| | | |
| | | |
| | |
| | | public void updateById(Member member) { |
| | | memberMapper.updateById(member); |
| | | } |
| | | @Override |
| | | public void updateFace(Member member) { |
| | | QueryWrapper<Member> wrapper = new QueryWrapper<>(member); |
| | | wrapper.lambda().ne(Member::getRemark,"人è¸å·²åæ¥ææ°"); |
| | | List<Member> list =memberMapper.selectList(wrapper); |
| | | if(list!=null){ |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | for(Member m : list){ |
| | | String faceId= HkSyncOrgUserToHKServiceImpl.dealMemberFace(m,path); |
| | | if(StringUtils.isNotBlank(faceId)){ |
| | | Member update = new Member(); |
| | | update.setId(m.getId()); |
| | | update.setFaceId(faceId); |
| | | update.setRemark("人è¸å·²åæ¥ææ°"); |
| | | update.setFaceStatus(Constants.ZERO); |
| | | memberMapper.updateById(update); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void updateStatusById(Member member) { |
| | |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.service.business.ext.ERPSyncService; |
| | | import com.doumee.service.business.InterfaceLogService; |
| | | import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import lombok.Synchronized; |
| | | import org.apache.commons.collections.CollectionUtils; |
| | |
| | | dealUserChangeList(list,addList,updateList,delList,allList,param); |
| | | if(addList.size()>0){ |
| | | memberMapper.insertBatchSomeColumn(addList); |
| | | for (Member member:addList) { |
| | | /* for (Member member:addList) { |
| | | dealRoleEmpower(member ); |
| | | } |
| | | }*/ |
| | | } |
| | | if(updateList.size()>0){ |
| | | for(Member c : updateList){ |
| | | dealRoleEmpower(c ); |
| | | // dealRoleEmpower(c ); |
| | | c.setHkStatus(Constants.ZERO); |
| | | c.setRemark("å¾
忥å®é²å¹³å°"); |
| | | memberMapper.updateById(c); |
| | | } |
| | | } |
| | | if(delList.size()>0){ |
| | | for (Member member:delList) { |
| | | /* for (Member member:delList) { |
| | | dealRoleEmpower(member ); |
| | | } |
| | | }*/ |
| | | delIds = delList.stream().map(m->m.getId()).collect(Collectors.toList()); |
| | | memberMapper.update(null,new UpdateWrapper<Member>().lambda() |
| | | .set(Member::getHkStatus,Constants.ZERO) |
| | |
| | | member.setErpStatus(Constants.ONE); |
| | | member.setErpDate(new Date()); |
| | | member.setErpId(param.getId()); |
| | | member.setFsStatus(Constants.ZERO); |
| | | member.setFaceStatus(Constants.ZERO); |
| | | member.setCompanyId(company.getId()); |
| | | member.setType(Constants.memberType.internal); |
| | | member.setCanVisit(Constants.ONE); |
| | |
| | | memberMapper.insert(member); |
| | | }else{ |
| | | Integer id = member.getId(); |
| | | String faceImg = member.getFaceImg(); |
| | | BeanUtils.copyProperties(param,member); |
| | | member.setId(id); |
| | | member.setCompanyId(company.getId()); |
| | |
| | | member.setEditDate(new Date()); |
| | | member.setErpDate(new Date()); |
| | | member.setHkStatus(Constants.ZERO); |
| | | member.setRemark("å¾
忥å®é²å¹³å°"); |
| | | if(StringUtils.isNotBlank(param.getFaceImg()) |
| | | && !StringUtils.equals(param.getFaceImg(),faceImg)){ |
| | | //åªæäººè¸åçååï¼æè¿è¡éæ°åæ¥ |
| | | member.setFaceStatus(Constants.ZERO); |
| | | member.setRemark("å¾
忥å®é²å¹³å°"); |
| | | } |
| | | member.setStartTime(param.getValidStartTime()); |
| | | member.setEndTime(param.getValidEndTime()); |
| | | memberMapper.updateById(member); |
| | | } |
| | | //2024å¹´3æ7æ¥17:49:33 åæ¶æ¤ä¸å¡å¤ç人åé¨ç¦æé |
| | | // getRoleIdByParam(param.getRoleIds(),member); |
| | | //æ·»å 人åå¡çæ°æ® |
| | | dealMemberCard(member,param); |
| | | //æ·»å 人åå¡çæ°æ®(å·²å¼å¯èæå¡åè½ï¼ç³»ç»ä¸éè¦ç»èæå¡) |
| | | // dealMemberCard(member,param); |
| | | } |
| | | } |
| | | |
| | |
| | | if(param.getRoleIds()!=null && param.getRoleIds().length>0 && StringUtils.isBlank(member.getRoleId())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼æªæ¥è¯¢å°ææé¨ç¦ç»æ°æ®"); |
| | | } |
| | | memberMapper.update(null,new UpdateWrapper<Member>().lambda() |
| | | //éæ°ææ |
| | | HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,member,deviceRoleMapper,empowerMapper,deviceMapper); |
| | | |
| | | |
| | | /* memberMapper.update(null,new UpdateWrapper<Member>().lambda() |
| | | .eq(Member::getId,member.getId()) |
| | | .set(Member::getRoleId,member.getRoleId()) |
| | | .set(Member::getRemark,"å¾
忥å®é²å¹³å°") |
| | | .set(Member::getStartTime,param.getValidStartTime()) |
| | | .set(Member::getEndTime,param.getValidEndTime()) |
| | | .set(Member::getEditDate,new Date()) |
| | | .set(Member::getHkStatus,Constants.ZERO )); |
| | | .set(Member::getHkStatus,Constants.ZERO ));*/ |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | private void isValidDoors(String doors) { |
| | | if(StringUtils.isNotBlank(doors)){ |
| | | String[] dIds = doors.split(","); |
| | | List<DeviceRole> roles = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() |
| | | .eq(DeviceRole::getIsdeleted,Constants.ZERO) |
| | | .eq(DeviceRole::getType,Constants.DeviceRoleType.fk) |
| | | .in(DeviceRole::getId, Arrays.asList(dIds))); |
| | | if(roles == null || roles.size()==0 || roles.size() != dIds.length){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼è¯·éæ©ææç访客é¨ç¦ç»ï¼"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void approveApply(ApproveNoticeRequest param){ |
| | | try{ |
| | | if(!Objects.isNull(param) |
| | | ){ |
| | | |
| | | } |
| | | if(Objects.isNull(param) |
| | | ||Objects.isNull(param.getId()) |
| | | ||Objects.isNull(param.getStatus())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(!(param.getStatus()==Constants.ZERO||param.getStatus()==Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"ç¶æç é误"); |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"审æ¹ç»æåæ°ä¸æ£ç¡®"); |
| | | } |
| | | if(visitsMapper.selectCount(new QueryWrapper<Visits>().lambda().eq(Visits::getErpId,param.getId()) |
| | | .ne(Visits::getStatus,Constants.VisitStatus.submitCheck))>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æç é误"); |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该ç³è¯·å½åç¶æä¸æ¯æè¯¥æä½"); |
| | | } |
| | | isValidDoors(param.getDoors()); |
| | | List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda().eq(Visits::getErpId,param.getId())); |
| | | if(CollectionUtils.isNotEmpty(visitsList)){ |
| | | visitsList.forEach(i->{ |
| | | i.setEndCheckInfo("ç³è¯·æ¶é´ï¼"+DateUtil.getPlusTime2(i.getStarttime())+"-" |
| | | +DateUtil.getPlusTime2(i.getEndtime()) |
| | | +" ç³è¯·é¨ç¦ï¼"+i.getDoors()); |
| | | i.setStatus(!param.getStatus().equals(Constants.ZERO)?Constants.VisitStatus.pass:Constants.VisitStatus.noPass); |
| | | i.setEndCheckDate(DateUtil.StringToDate(param.getApproveDate(),"yyyy-MM-dd HH:mm:ss")); |
| | | i.setHkStatus(Constants.ZERO); |
| | | i.setRemark("å¾
忥å®é²å¹³å°"); |
| | | i.setStarttime( param.getStartTime()); |
| | | i.setEndtime(param.getEndTime()); |
| | | i.setDoors(param.getDoors()); |
| | | visitsMapper.updateById(i); |
| | | if(Objects.isNull(i.getParentId())){ |
| | | wxPlatNotice.sendVisitAuditTemplateNotice(i, |
| | |
| | | .eq(Empower::getId, c.getId()) |
| | | .set(Empower::getRemark, "å 餿éä¸å失败") |
| | | .set(Empower::getSendInfo, "å 餿éä¸å失败") |
| | | .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1) |
| | | .set(Empower::getSendStatus, Constants.EmpowerStatus.fail)); |
| | | }else{ |
| | | empowerMapper.update(null, new UpdateWrapper<Empower>() |
| | | .lambda() |
| | | .eq(Empower::getId, c.getId()) |
| | | .set(Empower::getRemark, "ä¸å失败") |
| | | .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1) |
| | | .set(Empower::getSendInfo, "ä¸å失败") |
| | | .set(Empower::getSendStatus, Constants.EmpowerStatus.fail)); |
| | | } |
| | |
| | | List<Empower> allList =getAllFailDealList( endId); |
| | | if(allList!=null && allList.size()>0){ |
| | | Date date = new Date(); |
| | | List<Integer> retryIds = new ArrayList<>(); |
| | | List<Integer> noIds = new ArrayList<>(); |
| | | for(Empower empower:allList){ |
| | | if(Constants.equalsObject(empower.getIsdeleted(),Constants.ONE)){ |
| | | //妿æ¯å é¤çæéä¸åï¼æ¥è¯¢æ¯å¦ä¼ºåæä¸åæåçæ°æ®ï¼å¦ææï¼åä¸å¤ç |
| | | Empower param = empowerMapper.selectOne(new QueryWrapper<Empower>().lambda() |
| | | .eq(Empower::getMemberId,empower.getMemberId()) |
| | | .eq(Empower::getDeviceId,empower.getDeviceId() ) |
| | | .gt(Empower::getId,empower.getId()) |
| | | .last("limit 1")); |
| | | if(empower ==null || Constants.equalsInteger(empower.getIsdeleted(),Constants.ONE)){ |
| | | // addIds.add(did); |
| | | } |
| | | //妿æ¯å é¤çæéä¸åï¼æ¥è¯¢æ¯å¦ä¼ºåæä¸åæåçæ°æ®ï¼å¦ææï¼åä¸å¤ç |
| | | if(empower.getId().equals(392479)){ |
| | | System.out.println("============================"); |
| | | } |
| | | //æ´æ°éæ°ä¸åæ¬¡æ° |
| | | // int flag= empowerMapper.selectCount(new QueryWrapper<Empower>().lambda() |
| | | // .eq(Empower::getMemberId,empower.getMemberId()) |
| | | // .eq(Empower::getDeviceId,empower.getDeviceId() ) |
| | | // .gt(Empower::getId,empower.getId()) |
| | | // .last("limit 1")); |
| | | if(empower.getTempCouunt() ==0){ |
| | | //妿ä¹åæ¶é´å
åéæ°ä¸åè®°å½ï¼åè·³è¿ä¸åå¤ç |
| | | retryIds.add(empower.getId()); |
| | | }else{ |
| | | noIds.add(empower.getId()); |
| | | } |
| | | } |
| | | |
| | | if(retryIds.size()>0){ |
| | | empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() |
| | | .eq(Empower::getEditDate,date) |
| | | .setSql("try_num = ifnull(tyr_num,0) +1" ) |
| | | .set(Empower::getCreateDate,date) |
| | | .set(Empower::getSendStatus,Constants.EmpowerStatus.wait) |
| | | .set(Empower::getSendDate,null) |
| | | .set(Empower::getEditDate,date) |
| | | .set(Empower::getRemark,"ä¸å失败ï¼å¾
éæ°ä¸å~") |
| | | .set(Empower::getRemark,"ä¸å失败ï¼å¾
éæ°ä¸å~") |
| | | .eq(Empower::getId,empower.getId())); |
| | | .set(Empower::getSendInfo,"ä¸å失败ï¼å¾
éæ°ä¸å~") |
| | | .in(Empower::getId,retryIds)); |
| | | } |
| | | if(noIds.size()>0){ |
| | | empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() |
| | | .set(Empower::getEditDate,date) |
| | | .set(Empower::getFailFlag,Constants.ONE) |
| | | .in(Empower::getId,noIds)); |
| | | } |
| | | return allList.get(allList.size()-1).getId(); |
| | | } |
| | |
| | | List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper); |
| | | return list; |
| | | } |
| | | private List<Empower> getAllFailDealList(int endId ) { |
| | | private List<Empower> getAllFailDealList(int endId ) { |
| | | MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(Empower.class); |
| | | queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo); |
| | | queryWrapper.selectAs(Member::getHkStatus,Empower::getMemberHkStatus); |
| | | queryWrapper.selectAs(Member::getIsdeleted,Empower::getMemberDeleted); |
| | | queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId); |
| | | queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode); |
| | | queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType); |
| | | queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId); |
| | | queryWrapper.select(Empower::getId,Empower::getMemberId,Empower::getDeviceId,Empower::getIsdeleted); |
| | | queryWrapper.select(" (select count(1) from empower ee where ee.member_id=t.MEMBER_ID and ee.device_id =t.DEVICE_ID and ee.id>t.id) as tempCouunt"); |
| | | queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.fail); |
| | | queryWrapper.gt(Empower::getId,endId); |
| | | queryWrapper.orderByAsc(Empower::getId ); |
| | | // queryWrapper.orderByAsc(Empower::getCreateDate ); |
| | | queryWrapper.last("limit 100");//æ¯æ¬¡éå¶ä¸å100个 |
| | | queryWrapper.ne( Empower::getFailFlag,Constants.ONE); |
| | | List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper); |
| | | return list; |
| | | } |
| | |
| | | dealMemberRoleEmpowerDo(cards,member,deviceRoleMapper,empowerMapper,deviceMapper); |
| | | } |
| | | |
| | | public static void dealMemberRoleEmpowerDo(List<MemberCard> cards,Member member , DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) { |
| | | public static void dealMemberRoleEmpowerDo(List<MemberCard> cards1,Member member , DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) { |
| | | List<Integer> doorIds = getRoleIdByParam(member,deviceRoleMapper); |
| | | if(doorIds==null || doorIds.size() == 0){ |
| | | //妿æéæ¸
空ï¼åæ¸
ç©ºäººåææçæéæ°æ® |
| | |
| | | .set(Empower::getSendStatus,Constants.ZERO)); |
| | | return; |
| | | } |
| | | if((cards == null || cards.size() == 0) && StringUtils.isBlank(member.getFaceId())){ |
| | | // if((cards == null || cards.size() == 0) && StringUtils.isBlank(member.getFaceId())){ |
| | | if( StringUtils.isBlank(member.getFaceId())){ |
| | | //å¦ææ²¡æå¡ 乿²¡æäººè¸ |
| | | return; |
| | | } |
| | |
| | | //å¤çæ°å¢æ°æ® |
| | | BaseResponse result = HKService.editUser(addHkModel); |
| | | if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){ |
| | | if(StringUtils.isNotBlank(c.getFaceImg())){ |
| | | if(StringUtils.isNotBlank(c.getFaceImg()) && Constants.equalsInteger(c.getFaceStatus(),Constants.ZERO)){ |
| | | //妿æäººè¸ç
§çï¼å¤ç人è¸ç
§ç忥 |
| | | String faceid = dealMemberFace(c,path); |
| | | if(StringUtils.isBlank(faceid)){ |
| | | noticeErpFail(c,Constants.ZERO,"人è¸ä¿¡æ¯æ´æ°å¤±è´¥ï¼è¯·æ£æ¥äººè¸ç
§çæ¯å¦åæ³ï¼"); |
| | | c.setHkStatus(Constants.TWO); |
| | | c.setFaceStatus(Constants.TWO); |
| | | c.setRemark("人è¸ä¿¡æ¯æ´æ°å¤±è´¥ï¼è¯·æ£æ¥äººè¸ç
§çæ¯å¦åæ³ï¼ï¼"+result.getMsg()); |
| | | }else{ |
| | | c.setFaceId(faceid); |
| | | c.setFaceStatus(Constants.ONE); |
| | | //å¦æäººè¸è·ä½ ï¼éæ°ä¸åæéæ°æ® |
| | | dealMemberRoleEmpower(c); |
| | | } |
| | | } |
| | | }else{ |
| | |
| | | c.setHkStatus(Constants.TWO); |
| | | c.setRemark("人åä¿¡æ¯åæ¥å®é²å¹³å°æ´æ°å¤±è´¥ï¼è¯·ä¿®æ£åéè¯ï¼ï¼"+(result!=null?result.getCode()+result.getMsg():"")); |
| | | } |
| | | //éæ°ä¸åæéæ°æ® |
| | | dealMemberRoleEmpower(c); |
| | | |
| | | } |
| | | c.setHkDate(date); |
| | | memberMapper.updateById(c); |
| | |
| | | c.setHkId(addHkModel.getPersonId()); |
| | | c.setHkDate(new Date()); |
| | | memberMapper.updateById(c); |
| | | dealMemberRoleEmpower(c); |
| | | // dealMemberRoleEmpower(c); |
| | | return true; |
| | | }else{ |
| | | noticeErpFail(c,Constants.ZERO,"人åä¿¡æ¯åæ¥å®é²å¹³å°å¤±è´¥ï¼è¯·ä¿®æ£åéè¯ï¼"+result.getCode()+result.getMsg()); |
| | |
| | | * @param path |
| | | * @return |
| | | */ |
| | | private String dealMemberFace(Member c,String path) { |
| | | public static String dealMemberFace(Member c,String path) { |
| | | if(StringUtils.isBlank(c.getFaceId())){ |
| | | BaseResponse<FaceAddOrEditesponse> response = HKService.addFace(getFaceAddModel(c,path)); |
| | | if(response !=null && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)&& response.getData()!=null ){ |
| | |
| | | } |
| | | return model; |
| | | } |
| | | private FaceAddRequest getFaceAddModel(Member c,String path) { |
| | | public static FaceAddRequest getFaceAddModel(Member c,String path) { |
| | | FaceAddRequest model = new FaceAddRequest(); |
| | | model.setPersonId(c.getHkId()); |
| | | if(StringUtils.isNotBlank(c.getFaceImg())){ |
| | |
| | | } |
| | | return model; |
| | | } |
| | | private FaceEditRequest getFaceUpdateModel(Member c,String path) { |
| | | public static FaceEditRequest getFaceUpdateModel(Member c,String path) { |
| | | FaceEditRequest model = new FaceEditRequest(); |
| | | model.setFaceId(c.getFaceId()); |
| | | if(StringUtils.isNotBlank(c.getFaceImg())){ |