| | |
| | | package com.doumee.service.business.impl.hksync.ferp; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | 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.haikang.model.param.request.*; |
| | | import com.doumee.core.haikang.model.param.respose.*; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.DESUtil; |
| | | import com.doumee.core.utils.DateUtil; |
| | |
| | | import com.doumee.dao.business.dao.CompanyMapper; |
| | | import com.doumee.dao.business.join.MemberJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.system.SystemUserMapper; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.service.business.ext.ERPSyncService; |
| | | import com.doumee.service.business.impl.hksync.HkSyncBaseServiceImpl; |
| | | import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import io.swagger.models.auth.In; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections.CollectionUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.checkerframework.checker.units.qual.C; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | @Autowired |
| | | private ERPSyncService erpSyncService; |
| | | @Autowired |
| | | private SystemUserMapper systemUserMapper; |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | @Autowired |
| | | private DataSyncConfig dataSyncConfig; |
| | | |
| | | /** |
| | | * 绑定海康用户openId |
| | | * { |
| | | * "openId" : "ovmre6R7w-vEQCHg52-UN2mV_abI", |
| | | * "userName" : "13856591439", |
| | | * "appKey" : "wx173e6caf5abc718a", |
| | | * "oaId" : "atwl", |
| | | * "platformName" : "安泰物流园区", |
| | | * |
| | | * } |
| | | */ |
| | | @Override |
| | | public String syncHkUserOpenid(Integer id){ |
| | | SystemUser user = systemUserMapper.selectById(id); |
| | | if(user == null ||StringUtils.isBlank(user.getOpenid()) ||Constants.equalsInteger(user.getOpenidHkStatus(),Constants.ONE)){ |
| | | return null; |
| | | } |
| | | UserOpenidSaveRequest request = new UserOpenidSaveRequest(); |
| | | request.setUserName(user.getUsername()); |
| | | request.setAppKey(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode()); |
| | | request.setOaId("atwl"); |
| | | request.setOpenId(user.getOpenid()); |
| | | request.setPlatformName("安泰物流园区"); |
| | | BaseResponse<Integer> response = HKService.userOpenidSave(request); |
| | | if(response!=null &&response.getCode().equals(HKConstants.RESPONSE_SUCCEE) && Constants.equalsInteger(response.getData(),Constants.ONE)){ |
| | | user.setOpenidHkStatus(Constants.ONE); |
| | | user.setOpenidHkInfo("绑定成功"); |
| | | }else{ |
| | | user.setOpenidHkStatus(Constants.TWO); |
| | | user.setOpenidHkInfo(response!=null?StringUtils.defaultString(response.getMsg(),"【未知失败原因】"):"绑定失败"); |
| | | } |
| | | user.setOpenidHkDate(new Date()); |
| | | systemUserMapper.updateById(user); |
| | | return "成功"; |
| | | } |
| | | |
| | | /** |
| | | * 同步海康组织信息,根据erp同步组织结果,定时检查需要下发到海康的组织信息 |
| | | */ |
| | | @Override |
| | | public void syncOrgData(){ |
| | | if(Constants.DEALING_HK_ORG || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) != DataSyncConfig.origin.erp){ |
| | | public void syncOrgData(LoginUserInfo user){ |
| | | if(Constants.DEALING_HK_ORG || |
| | | !(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp |
| | | || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.self)){ |
| | | return ; |
| | | } |
| | | Constants.DEALING_HK_ORG =true; |
| | |
| | | if(addList!=null &&addList.size()>0){ |
| | | //处理新增 |
| | | BaseResponse<OrgOrUserAddResponse> result = HKService.addBatchOrg(addList); |
| | | if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ |
| | | if(result !=null && StringUtils.equals(result.getCode(), HKConstants.RESPONSE_SUCCEE)){ |
| | | OrgOrUserAddResponse data = result.getData(); |
| | | if(data.getSuccesses()!=null && data.getSuccesses().size()>0){ |
| | | //处理新增成功的数据,修改海康同步状态 |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public void syncUserData(){ |
| | | if(Constants.DEALING_HK_USER || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) != DataSyncConfig.origin.erp){ |
| | | public void syncUserData(LoginUserInfo user){ |
| | | if(Constants.DEALING_HK_USER || |
| | | !(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp |
| | | || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.self)){ |
| | | return ; |
| | | } |
| | | Constants.DEALING_HK_USER =true; |
| | |
| | | return; |
| | | } |
| | | Date date = new Date(); |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode() |
| | | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | for(Member c : list){ |
| | | dealMemberInfoBiz(c,date,path) ; |
| | |
| | | } |
| | | |
| | | if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)){ |
| | | // && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){ |
| | | // && Constants.equalsInteger(member.getHkStatus(),Constants.ONE)){ |
| | | List<Integer> deviceIds =new ArrayList<>();//新设备编码集合 |
| | | List<Empower> list = new ArrayList<>();//新授权记录集合 |
| | | //如果用户是同步海康成功,添加带下发权限(只管理新增或者编辑的) |
| | |
| | | .eq(Empower::getMemberId,member.getId()) |
| | | .eq(Empower::getIsdeleted,Constants.ZERO) |
| | | .in(Empower::getDeviceId,deviceIds) ); |
| | | empowerMapper.insertBatchSomeColumn(list); |
| | | empowerMapper.insert(list); |
| | | } |
| | | } |
| | | } |
| | |
| | | List<Integer> deviceIds =new ArrayList<>();//新设备编码集合 |
| | | List<Empower> list = new ArrayList<>();//新授权记录集合 |
| | | if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO) |
| | | && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){ |
| | | && Constants.equalsInteger(member.getHkStatus(),Constants.ONE)){ |
| | | //如果用户是同步海康成功,添加带下发权限(只管理新增或者编辑的) |
| | | List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,addDoorIds)); |
| | | if(deviceList == null || deviceList.size() == 0){ |
| | |
| | | .eq(Empower::getMemberId,member.getId()) |
| | | .eq(Empower::getIsdeleted,Constants.ZERO) |
| | | .in(Empower::getDeviceId,deviceIds) ); |
| | | empowerMapper.insertBatchSomeColumn(list); |
| | | empowerMapper.insert(list); |
| | | } |
| | | } |
| | | |