| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.haikang.model.HKConstants; |
| | | import com.doumee.core.haikang.model.HKResponseCode; |
| | |
| | | import com.doumee.dao.business.MemberCardMapper; |
| | | import com.doumee.dao.business.MemberMapper; |
| | | import com.doumee.dao.business.join.EmpowerJoinMapper; |
| | | import com.doumee.dao.business.join.VisitsJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | |
| | | */ |
| | | @Override |
| | | public Integer syncEmpowerDetailData(Integer endId){ |
| | | log.error(""); |
| | | // if(Constants.DEALING_HK_EMPOWER_DETAIL){ |
| | | // return ; |
| | | // } |
| | |
| | | //查询下发状态 |
| | | BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param); |
| | | if(response!=null |
| | | && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) |
| | | && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) |
| | | && response.getData()!=null |
| | | && response.getData().getList() != null |
| | | && response.getData().getList().size() > 0 |
| | |
| | | request.setPersonIds(new String[]{delHkIds}); |
| | | BaseResponse<List<UserDelResponse>> result = HKService.delBatchUser(request); |
| | | boolean succes = false; |
| | | if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ |
| | | if(result !=null && StringUtils.equals(result.getCode(), HKConstants.RESPONSE_SUCCEE)){ |
| | | //标记删除成功的数据(海康对接状态为已同步,,同步失败的仍为待同步,等下一次继续处理,知道全部删除完毕) |
| | | if(result.getData()!=null && result.getData().size()>0){ |
| | | UserDelResponse tem = result.getData().get(0); |
| | |
| | | Thread t1=new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | dealAllListTask(allList); |
| | | try { |
| | | dealAllListTask(allList); |
| | | }catch (Exception e){ |
| | | log.info("======================下发授权异常:"+e.getMessage()); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | }); |
| | | t1.start(); |
| | |
| | | |
| | | } |
| | | } |
| | | public class TaskRuner implements Runnable{ |
| | | private List<Empower> list ; |
| | | @Override |
| | | public void run() { |
| | | dealNewListTask(list); |
| | | } |
| | | |
| | | public List<Empower> getList() { |
| | | return list; |
| | | } |
| | | |
| | | public void setList(List<Empower> list) { |
| | | this.list = list; |
| | | } |
| | | } |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | private void dealAllListTask(List<Empower> list) { |
| | | //按照父级申请分批处理每次申请数据 |
| | | if(list ==null || list.size()==0){ |
| | |
| | | List<Empower> faceErrorList = new ArrayList<>(); |
| | | for(Empower c : list) { |
| | | //向任务添加人员、设备信息数据 |
| | | if((Constants.equalsInteger(c.getMemberDeleted(),1) && |
| | | if((Constants.equalsInteger(c.getMemberDeleted(),Constants.ONE) && |
| | | Constants.equalsInteger(c.getMemberHkStatus(),Constants.ONE)) |
| | | || Constants.equalsInteger(c.getDeviceDeleted(),1)){ |
| | | //如果人員或者設備删除,取消下发 |
| | | cacenList.add(c); |
| | | continue; |
| | | } |
| | | if(Constants.equalsInteger(c.getMemberDeleted(),Constants.ONE) |
| | | && Constants.equalsInteger(c.getIsdeleted(),1)){ |
| | | //如果人员已离职,新增授权无需下发,取消下发 |
| | | cacenList.add(c); |
| | | continue; |
| | | } |
| | |
| | | continue; |
| | | } |
| | | HKConstants.OPERA_TYPE flag = HKConstants.OPERA_TYPE.ADD; |
| | | if(Constants.equalsObject(c.getIsdeleted(),Constants.ONE)){ |
| | | if(Constants.equalsInteger(c.getIsdeleted(),Constants.ONE)){ |
| | | flag = HKConstants.OPERA_TYPE.DEL; |
| | | } |
| | | if(addTaskData(c,taskId,flag.getKey())){ |
| | |
| | | queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo); |
| | | queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId); |
| | | queryWrapper.selectAs(Member::getFaceStatus,Empower::getMemberFaceStatus); |
| | | queryWrapper.selectAs(Device::getOnline,Empower::getDeviceOnline); |
| | | queryWrapper.selectAs(Member::getHkStatus,Empower::getMemberFaceStatus); |
| | | queryWrapper.selectAs(Device::getOnline,Empower::getMemberHkStatus); |
| | | queryWrapper.selectAs(Device::getIsdeleted,Empower::getDeviceDeleted); |
| | | queryWrapper.selectAs(Member::getIsdeleted,Empower::getMemberDeleted); |
| | | queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode); |