doum
5 天以前 e3552c670fe7f2228d3d427e6bf3b4ab400ce8e2
更改头部
已删除3个文件
已修改17个文件
168 ■■■■ 文件已修改
admin/public/template/cars.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
admin/public/template/member.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
admin/whyc_admin/index.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/whyc_admin/static/css/app.034e1a67.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/whyc_admin/static/js/app.c8651863.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/whyc_admin/static/js/app.c8651863.js.map 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/doc/新增断路器设备功能(2025-12-24).sql 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/constants/HttpConstant.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/business/model/Member.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_timer/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/admin_timer/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/JiandaoyunCloudController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/CarsImport.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncLoginAuthServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/public/template/cars.xlsx
Binary files differ
admin/public/template/member.xlsx
Binary files differ
admin/whyc_admin/index.html
@@ -1 +1 @@
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/whyc_admin/favicon.ico"><title>芜湖烟草智慧安消安全防范系统</title><link href="/whyc_admin/static/css/app.034e1a67.css" rel="preload" as="style"><link href="/whyc_admin/static/css/chunk-vendors.04c7bff3.css" rel="preload" as="style"><link href="/whyc_admin/static/js/app.c8651863.js" rel="preload" as="script"><link href="/whyc_admin/static/js/chunk-vendors.6d4f879a.js" rel="preload" as="script"><link href="/whyc_admin/static/css/chunk-vendors.04c7bff3.css" rel="stylesheet"><link href="/whyc_admin/static/css/app.034e1a67.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but èŠœæ¹–çƒŸè‰æ™ºæ…§å®‰æ¶ˆå®‰å…¨é˜²èŒƒç³»ç»Ÿ doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/whyc_admin/static/js/chunk-vendors.6d4f879a.js"></script><script src="/whyc_admin/static/js/app.c8651863.js"></script></body></html>
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/whyc_admin/favicon.ico"><title>title: process.env.VUE_APP_TITLE,</title><link href="/whyc_admin/static/css/app.e13cc487.css" rel="preload" as="style"><link href="/whyc_admin/static/css/chunk-vendors.04c7bff3.css" rel="preload" as="style"><link href="/whyc_admin/static/js/app.b07e2862.js" rel="preload" as="script"><link href="/whyc_admin/static/js/chunk-vendors.6d4f879a.js" rel="preload" as="script"><link href="/whyc_admin/static/css/chunk-vendors.04c7bff3.css" rel="stylesheet"><link href="/whyc_admin/static/css/app.e13cc487.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but èŠœæ¹–çƒŸè‰æ™ºæ…§å®‰æ¶ˆå®‰å…¨é˜²èŒƒç³»ç»Ÿ doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/whyc_admin/static/js/chunk-vendors.6d4f879a.js"></script><script src="/whyc_admin/static/js/app.b07e2862.js"></script></body></html>
admin/whyc_admin/static/css/app.034e1a67.css
ÎļþÒÑɾ³ý
admin/whyc_admin/static/js/app.c8651863.js
ÎļþÒÑɾ³ý
admin/whyc_admin/static/js/app.c8651863.js.map
ÎļþÒÑɾ³ý
server/doc/ÐÂÔö¶Ï·Æ÷É豸¹¦ÄÜ£¨2025-12-24£©.sql
@@ -4,6 +4,12 @@
INSERT INTO `wuhuyancao`.`quartz_job` (`id`, `bean_name`, `params`, `cron_expres`, `state`, `remark`, `create_time`, `module`) VALUES (NULL, 'visitServiceJob', '{}', '0 0/5 * * * ? *', 1, '【断路器】开启定时远程控制断路器分闸', '2023-07-26 13:17:17', 'autoCloseCmd');
INSERT INTO `wuhuyancao`.`system_dict_data` (`ID`, `DICT_ID`, `CODE`, `LABEL`, `SORT`, `DISABLED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`, `REMARK`) VALUES (314, 18, 'yKSKuO0LoFf06jWGrwwuGudK', 'JDY_SECRET', 0, 0, 1, '2025-12-29 10:32:54', NULL, '2025-12-29 10:31:45', 0, '数据推送秘钥');
INSERT INTO `wuhuyancao`.`system_dict_data` (`ID`, `DICT_ID`, `CODE`, `LABEL`, `SORT`, `DISABLED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`, `REMARK`) VALUES (315, 18, 'https://api.jiandaoyun.com/api/v1/automation/tenant/6909b792324dc197821895d1/hooks/6909d0fbdb93695219faa27eb068192dc4a9532972993159', 'JDY_MEMBER_PUSH_STATUS_URL', 0, 0, 1, '2025-12-29 14:06:56', NULL, '2025-12-29 14:05:46', 0, '简道云人员推送处理结果通知地址');
INSERT INTO `wuhuyancao`.`system_dict_data` (`ID`, `DICT_ID`, `CODE`, `LABEL`, `SORT`, `DISABLED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`, `REMARK`) VALUES (316, 1, '芜湖烟草公司', 'SYSTEM_TITLE', 0, 0, 1, '2025-12-30 14:49:57', NULL, '2025-12-30 14:48:47', 0, '系统主标题');
INSERT INTO `wuhuyancao`.`system_dict_data` (`ID`, `DICT_ID`, `CODE`, `LABEL`, `SORT`, `DISABLED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`, `REMARK`) VALUES (317, 1, '智慧物流园区安消一体化平台', 'SYSTEM_SUBTITLE', 0, 0, 1, '2025-12-30 14:50:40', NULL, '2025-12-30 14:49:30', 0, '系统副标题');
CREATE TABLE `device_data` (
  `ID` int NOT NULL AUTO_INCREMENT COMMENT '主键',
  `CREATOR` int DEFAULT NULL COMMENT '创建人编码',
server/jiandaoyun_service/src/main/java/com/doumee/core/jiandaoyun/constants/HttpConstant.java
@@ -50,7 +50,7 @@
    /**
     * API_KEY
     */
    public static final String API_KEY = "JsmYomhn3dissp9ZJ6QeTpnH2xKoKZgw";
//    public static final String API_KEY = "JsmYomhn3dissp9ZJ6QeTpnH2xKoKZgw";
    public static final String APP_ID = "APP_ID";
server/system_gateway/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: dev
    active: pro
  application:
    name: system_gateway
  # å®‰å…¨é…ç½®
server/system_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -231,7 +231,7 @@
    private String companyPath;
    @ApiModelProperty(value = "组织信息")
    @TableField(exist = false)
    private Company company;
    private Company companyModel;
    @ApiModelProperty(value = "负责人编码(关联member)")
    @TableField(exist = false)
    private Integer headId;
server/system_timer/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: dev
    active: pro
  application:
    name: systemTimer
    # å®‰å…¨é…ç½®
server/visits/admin_timer/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: dev
    active: pro
  application:
    name: visitsTimer
    # å®‰å…¨é…ç½®
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/JiandaoyunCloudController.java
@@ -122,7 +122,8 @@
            Map<String, String> parameterMap = parseParameter(request.getQueryString());
            String nonce = parameterMap.get("nonce");
            String timestamp = parameterMap.get("timestamp");
            String signature = getSignature(nonce, payload, systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.JDY_SECRET).getCode(), timestamp);
            String signature = getSignature(nonce, payload,
                    systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.JDY_SECRET).getCode(), timestamp);
            log.error("【简道云】数据推送 =========getRequestURI:{}\n,queryParam:{}\n,payload:{}\n,签名:{}\n,正确签名:{}\n",request.getRequestURI(),request.getQueryString(),payload,jdy,signature);
            if (!signature.equals(jdy)) {
                return  null;
@@ -163,7 +164,7 @@
    public static void main(String[] args) {
/*
*/
        String url = "https://api.jiandaoyun.com/api/v1/automation/tenant/6909b792324dc197821895d1/hooks/6909d0fbdb93695219faa27eb068192dc4a9532972993159";
        String url = "https://lcdp.ahyc.com.cn:30443/api/v1/automation/tenant/61b6fb6080e9de2aa1df94d7/hooks/6954aca3cdf86954d2657433fb470ca1aabd108246925eca";
        JSONObject object = new JSONObject();
        object.put("status",0);
        object.put("username","20251104160000" );
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
@@ -59,14 +59,11 @@
    @PostMapping("/create")
    @CloudRequiredPermission("business:member:create")
    public ApiResponse create(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.self){
           member.setLoginUserInfo(this.getLoginUser(token));
           Member insert = memberService.create(member);
            //创建人脸信息
            return ApiResponse.success("操作成功!");
        }else{
            return ApiResponse.failed("对不起,无权限操作!");
        }
    }
    @PreventRepeat
server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: dev
    active: pro
  application:
    name: visitsAdmin
    # å®‰å…¨é…ç½®
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/CarsImport.java
@@ -35,8 +35,8 @@
    private String idcard;
    @ExcelColumn(name="停车库名称" , value = "parkName",index = 8)
    private String parkName;
    @ExcelColumn(name="开始时间" , value = "startTime",index =9)
    private String startTime;
    @ExcelColumn(name="结束时间" , value = "endTime",index = 10)
    private String endTime;
//    @ExcelColumn(name="开始时间" , value = "startTime",index =9)
//    private String startTime;
//    @ExcelColumn(name="结束时间" , value = "endTime",index = 10)
//    private String endTime;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -49,6 +49,7 @@
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -194,7 +195,6 @@
        return false;
    }
    private OrgAddRequest getOrgAddModel(Company c ) {
        OrgAddRequest model = new OrgAddRequest();
@@ -894,7 +894,7 @@
        //  "dept_no": 1,//数字 1 ä¸ºæ ¹éƒ¨é—¨ç¼–号。
        //  "has_child": true
        //}
        DeptApiClient deptApiClient = new DeptApiClient(HttpConstant.API_KEY, HttpConstant.HOST);
        DeptApiClient deptApiClient = new DeptApiClient(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.API_KEY).getCode(), HttpConstant.HOST);
        try {
            Map<String, Object> result =  deptApiClient.deptList(1,true,deptApiClient.getDefaultVersion());
            if(result!=null && result.get("departments")!=null ){
@@ -1158,7 +1158,7 @@
            if(parent == null || Constants.equalsInteger(parent.getIsdeleted(),Constants.ONE)){
              parent =root;
            }
       /*   if(Objects.nonNull(parent.getType())&&!Constants.equalsInteger(parent.getType(),-1)){
           /*if(Objects.nonNull(parent.getType())&&!Constants.equalsInteger(parent.getType(),-1)){
                if(!Constants.equalsInteger(company.getType(),parent.getType())){
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,组织信息错误");
                }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -182,18 +182,19 @@
        Member insert = initAddMemberModel(member,loginUserInfo);
        //海康人员新增业务
        try {
//             if(dealHkUserBiz(insert)){
            memberMapper.insert(insert);
            //创建系统登陆账号(默认无任何角色)
//                if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){
            //如果是内部组织人员,新增系统登陆账号
            systemUserMapper.insert(createSystemUser(insert,systemDictDataBiz));
            //处理培训有效期业务
            dealTrainTIme(member,0,loginUserInfo);
             if(dealHkUserBiz(insert)){
                insert.setHkStatus(Constants.ONE);
                memberMapper.insert(insert);
                //创建系统登陆账号(默认无任何角色)
    //                if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){
                //如果是内部组织人员,新增系统登陆账号
                systemUserMapper.insert(createSystemUser(insert,systemDictDataBiz));
                //处理培训有效期业务
                dealTrainTIme(member,0,loginUserInfo);
//                }
//            }else{
//                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息同步安防平台失败,请稍后重试!");
//            }
            }else{
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息同步安防平台失败,请稍后重试!");
            }
        }catch (BusinessException e){
            //如果发生异常,删除已经创建的人员信息
            deleteHkUserBiz(new String[]{insert.getHkId()});
@@ -257,7 +258,7 @@
        insert.setCanVisit(Constants.formatIntegerNum(member.getCanVisit()));//默认不可访问
        insert.setAuthStatus(Constants.ZERO);
        insert.setName(member.getName());
        insert.setHkId(UUID.randomUUID().toString().replace("-",""));
//        insert.setHkId(UUID.randomUUID().toString().replace("-",""));
        insert.setHkStatus(Constants.ZERO);
        insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//根据身份证号获取性别
        insert.setJobDate(member.getJobDate());
@@ -401,7 +402,7 @@
                .eq(Member::getIsdeleted,Constants.ZERO) ) >0){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "手机号【"+member.getPhone()+"】已被使用,不能重复");
        }
        Company company = member.getCompany()!=null ?member.getCompany(): companyMapper.selectById(member.getCompanyId());
        Company company = member.getCompanyModel()!=null ?member.getCompanyModel(): companyMapper.selectById(member.getCompanyId());
        if(company == null || Constants.equalsInteger(company.getIsdeleted(),Constants.ONE)){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该组织信息已被删除!");
        }
@@ -505,7 +506,7 @@
        }
        if(member.getCompanyId()!=null && !Constants.equalsInteger(member.getCompanyId(),model.getCompanyId())){
            //如果组织发生变化
            Company company = member.getCompany()!=null ?member.getCompany(): companyMapper.selectById(member.getCompanyId());
            Company company = member.getCompanyModel()!=null ?member.getCompanyModel(): companyMapper.selectById(member.getCompanyId());
            if(company == null || Constants.equalsInteger(company.getIsdeleted(),Constants.ONE)){
                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该组织信息已被删除,请刷新页面重试!");
            }
@@ -968,44 +969,44 @@
        updateMember.setEditor(loginUserInfo!=null?loginUserInfo.getId():null);
        updateMember.setEditDate(new Date());
        //海康人员新增业务
//        if(dealHkUserForUpdateBiz(updateMember)){
        updateMember.setHkId(null);
        updateMember.setAuthStatus(Constants.ZERO);
        memberMapper.update(null,new UpdateWrapper<Member>().lambda()
                .set(Member::getStartTime,null)
                .set(Member::getEndTime,null)
                .set(Member::getRoleId,null)
                .set(StringUtils.isNotBlank(updateMember.getPhone()),Member::getPhone,updateMember.getPhone())
                .set(StringUtils.isNotBlank(updateMember.getName()),Member::getName,updateMember.getName())
                .set(Member::getEditDate,updateMember.getEditDate())
                .set(Member::getEditor,updateMember.getEditor())
                .set(StringUtils.isNotBlank(updateMember.getName()),Member::getPinyin,Constants.getChinesePingyin(updateMember.getName()))
                .set(StringUtils.isNotBlank(updateMember.getIdcardNo()),Member::getIdcardNo,updateMember.getIdcardNo())
                .set(StringUtils.isNotBlank(updateMember.getIdcardDecode()),Member::getIdcardDecode,updateMember.getIdcardDecode())
                .set( Member::getAuthStatus,Constants.ZERO)
                .set(updateMember.getHkStatus()!=null,Member::getHkStatus,updateMember.getHkStatus())
                .set(updateMember.getSex()!=null,Member::getSex,updateMember.getSex())
                .set(updateMember.getCanVisit()!=null,Member::getCanVisit,updateMember.getCanVisit())
                .set(updateMember.getFaceStatus()!=null,Member::getFaceStatus,updateMember.getFaceStatus())
                .set(updateMember.getHkDate()!=null,Member::getHkDate,updateMember.getHkDate())
                .set(updateMember.getHkDate()!=null,Member::getHkDate,updateMember.getHkDate())
                .set(StringUtils.isNotBlank(updateMember.getRemark()),Member::getRemark,updateMember.getRemark())
                .set(StringUtils.isNotBlank(updateMember.getFaceImg()),Member::getFaceImg,updateMember.getFaceImg())
                .set(updateMember.getFaceId()!=null,Member::getFaceId,updateMember.getFaceId())
                .set(updateMember.getCompanyId()!=null,Member::getCompanyId,updateMember.getCompanyId())
                .set(Member::getCode,updateMember.getCode())
//                    .set(StringUtils.isNotBlank(updateMember.getCode()),Member::getCode,updateMember.getCode())
                .set( updateMember.getPositionId()!=null,Member::getPositionId,updateMember.getPositionId())
                .set( updateMember.getIsDangyuan()!=null,Member::getIsDangyuan,updateMember.getIsDangyuan())
                .set( updateMember.getJobDate()!=null,Member::getJobDate,updateMember.getJobDate())
                .eq(Member::getId,updateMember.getId()));
        dealTrainTIme(updateMember,1,loginUserInfo);
        cancelAllMemberEmpower(updateMember,memberRoleMapper,empowerMapper);
        //记录操作日志
        saveUserActionBiz(updateMember,loginUserInfo,Constants.UserActionType.EDIT,userActionJoinMapper,null);
//        }else{
//            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息同步安防平台失败,请稍后重试!");
//        }
        if(dealHkUserForUpdateBiz(updateMember)){
            updateMember.setHkStatus(Constants.ONE);
            updateMember.setHkId(null);
            updateMember.setAuthStatus(Constants.ZERO);
            memberMapper.update(null,new UpdateWrapper<Member>().lambda()
                    .set(Member::getStartTime,null)
                    .set(Member::getEndTime,null)
                    .set(Member::getRoleId,null)
                    .set(StringUtils.isNotBlank(updateMember.getPhone()),Member::getPhone,updateMember.getPhone())
                    .set(StringUtils.isNotBlank(updateMember.getName()),Member::getName,updateMember.getName())
                    .set(Member::getEditDate,updateMember.getEditDate())
                    .set(Member::getEditor,updateMember.getEditor())
                    .set(StringUtils.isNotBlank(updateMember.getName()),Member::getPinyin,Constants.getChinesePingyin(updateMember.getName()))
                    .set(StringUtils.isNotBlank(updateMember.getIdcardNo()),Member::getIdcardNo,updateMember.getIdcardNo())
                    .set(StringUtils.isNotBlank(updateMember.getIdcardDecode()),Member::getIdcardDecode,updateMember.getIdcardDecode())
                    .set( Member::getAuthStatus,Constants.ZERO)
                    .set(updateMember.getHkStatus()!=null,Member::getHkStatus,updateMember.getHkStatus())
                    .set(updateMember.getSex()!=null,Member::getSex,updateMember.getSex())
                    .set(updateMember.getCanVisit()!=null,Member::getCanVisit,updateMember.getCanVisit())
                    .set(updateMember.getFaceStatus()!=null,Member::getFaceStatus,updateMember.getFaceStatus())
                    .set(updateMember.getHkDate()!=null,Member::getHkDate,updateMember.getHkDate())
                    .set(StringUtils.isNotBlank(updateMember.getRemark()),Member::getRemark,updateMember.getRemark())
                    .set(StringUtils.isNotBlank(updateMember.getFaceImg()),Member::getFaceImg,updateMember.getFaceImg())
                    .set(updateMember.getFaceId()!=null,Member::getFaceId,updateMember.getFaceId())
                    .set(updateMember.getCompanyId()!=null,Member::getCompanyId,updateMember.getCompanyId())
                    .set(Member::getCode,updateMember.getCode())
    //                    .set(StringUtils.isNotBlank(updateMember.getCode()),Member::getCode,updateMember.getCode())
                    .set( updateMember.getPositionId()!=null,Member::getPositionId,updateMember.getPositionId())
                    .set( updateMember.getIsDangyuan()!=null,Member::getIsDangyuan,updateMember.getIsDangyuan())
                    .set( updateMember.getJobDate()!=null,Member::getJobDate,updateMember.getJobDate())
                    .eq(Member::getId,updateMember.getId()));
            dealTrainTIme(updateMember,1,loginUserInfo);
            cancelAllMemberEmpower(updateMember,memberRoleMapper,empowerMapper);
            //记录操作日志
            saveUserActionBiz(updateMember,loginUserInfo,Constants.UserActionType.EDIT,userActionJoinMapper,null);
        }else{
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息同步安防平台失败,请稍后重试!");
        }
    }
    private void dealTrainTIme(Member updateMember, int i,LoginUserInfo loginUserInfo) {
@@ -2570,7 +2571,7 @@
        if(depart!=null){
            member.setCompanyId(depart.getId());
        }
        member.setCompany(depart);
        member.setCompanyModel(depart);
        return  member;
    }
@@ -2608,7 +2609,7 @@
    @Override
    public String syncJdyUserInfo() {
        DeptApiClient deptApiClient = new DeptApiClient(HttpConstant.API_KEY, HttpConstant.HOST);
        DeptApiClient deptApiClient = new DeptApiClient(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.API_KEY).getCode(), HttpConstant.HOST);
        try {
            Map<String, Object> result =  deptApiClient.deptMemberList(1,true,deptApiClient.getDefaultVersion());
            if(result!=null && result.get("users")!=null ){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncLoginAuthServiceImpl.java
@@ -43,7 +43,8 @@
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,登录组件失败,请稍后重试!");
        }
        //优先从缓存取数据,如果有缓存,直接返回缓存地址
        /*String cacheUrl = (String) redisTemplate.opsForValue().get(Constants.REDIS_HK_TOKEN_KEY+param.getUsername()+param.getLabel());
        /*
        String cacheUrl = (String) redisTemplate.opsForValue().get(Constants.REDIS_HK_TOKEN_KEY+param.getUsername()+param.getLabel());
        if(StringUtils.isNotBlank(cacheUrl)){
            return cacheUrl;
        }*/
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
@@ -763,7 +763,13 @@
            }else{
                noticeErpFail(c,Constants.ZERO,"人员信息同步安防平台失败,请修正后重试!");
                c.setHkStatus(Constants.TWO);
                c.setRemark("人员信息同步安防平台更新失败,请修正后重试!!"+(result!=null?result.getCode()+result.getMsg():""));
                String msg =(result!=null?result.getCode()+result.getMsg():"");
                c.setRemark("人员信息同步安防平台更新失败,请修正后重试!!"+msg);
                if(StringUtils.contains(msg,"Person Not Exists")){
                    //人员信息不存在,清空hkId,重新添加
                    c.setHkId("-");
                    c.setHkStatus(Constants.ZERO);
                }
            }
            c.setHkDate(date);
            c.setEditDate(date);