Quellcode durchsuchen

报送组织同步

zhuang vor 1 Jahr
Ursprung
Commit
47affc037d

+ 11 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/BsOrganizationDao.java

@@ -0,0 +1,11 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.BsOrganizationDo;
+import org.apache.ibatis.annotations.Delete;
+
+public interface BsOrganizationDao extends BaseMapper<BsOrganizationDo> {
+
+    @Delete("truncate table INCONTROL.BS_ORGANIZATION ")
+    void removeAll();
+}

+ 9 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/BsOrganizationService.java

@@ -0,0 +1,9 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.BsOrganizationDo;
+
+public interface BsOrganizationService extends IService<BsOrganizationDo> {
+
+    void removeAll();
+}

+ 2 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxApiService.java

@@ -28,4 +28,6 @@ public interface ZhcxApiService {
     R forgetResetPwd(Map<String, Object> map);
 
     Map<String, Object> getProjectStaticData(String userId);
+
+    void syncBsOrgData();
 }

+ 20 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/BsOrganizationServiceImpl.java

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.BsOrganizationDao;
+import com.rongwei.bscommon.sys.service.BsOrganizationService;
+import com.rongwei.bsentity.domain.BsOrganizationDo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class BsOrganizationServiceImpl extends ServiceImpl<BsOrganizationDao, BsOrganizationDo> implements BsOrganizationService {
+
+    @Autowired
+    private BsOrganizationDao bsOrganizationDao;
+
+    @Override
+    public void removeAll() {
+        bsOrganizationDao.removeAll();
+    }
+}

+ 24 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxApiServiceImpl.java

@@ -2,16 +2,19 @@ package com.rongwei.bscommon.sys.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.rongwei.bscommon.sys.dao.ZhcxApiDao;
+import com.rongwei.bscommon.sys.service.BsOrganizationService;
 import com.rongwei.bscommon.sys.service.ZhcxApiService;
 import com.rongwei.bscommon.sys.service.ZhcxSubcontractorUserService;
 import com.rongwei.bscommon.sys.service.ZhcxSupervisionCustomUserManageService;
 import com.rongwei.bscommon.sys.utils.CxConstants;
 import com.rongwei.bscommon.sys.utils.HwSmsUtil;
 import com.rongwei.bscommon.sys.utils.SmsCodeGenerateUtils;
+import com.rongwei.bsentity.domain.BsOrganizationDo;
 import com.rongwei.bsentity.domain.ZhcxSupervisionCustomUserManageDo;
 import com.rongwei.bsentity.vo.ZhcxOutsideInspectionVo;
 import com.rongwei.commonservice.service.RedisService;
@@ -26,8 +29,10 @@ import com.rongwei.rwcommon.utils.StringUtils;
 import com.rongwei.rwcommonentity.commonservers.domain.SysConfigDo;
 import lombok.extern.java.Log;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
@@ -49,9 +54,13 @@ public class ZhcxApiServiceImpl implements ZhcxApiService {
     private SysUserService sysUserService;
     @Autowired
     private SysConfigService sysConfigService;
+    @Value("${bs.getOrgListUrl}")
+    private String getOrgListUrl;
 
     @Autowired
     private ZhcxSupervisionCustomUserManageService supervisionUserService;
+    @Autowired
+    private BsOrganizationService bsOrganizationService;
 
 
     @Autowired
@@ -349,6 +358,21 @@ public class ZhcxApiServiceImpl implements ZhcxApiService {
         return map;
     }
 
+    @Override
+    public void syncBsOrgData() {
+        log.info("开始同步报送组织数据:"+getOrgListUrl);
+        RestTemplate restTemplate = new RestTemplate();
+        String result = restTemplate.getForObject(getOrgListUrl, String.class);
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        JSONArray data = jsonObject.getJSONArray("data");
+        if(data != null && data.size() > 0){
+            List<BsOrganizationDo> bsOrganizationDos = data.toJavaList(BsOrganizationDo.class);
+            log.info("获取同步数据成功,条数:"+bsOrganizationDos.size());
+            bsOrganizationService.saveOrUpdateBatch(bsOrganizationDos);
+            log.info("保存报送组织数据成功");
+        }
+    }
+
     private R sendSmsCode(String templateId, String redisKeyName, String mobile, String redisLabelName) {
         boolean exists = redisService.hasKey(redisKeyName);
         List<String> list = new ArrayList<>();

+ 85 - 0
business-entity/src/main/java/com/rongwei/bsentity/domain/BsOrganizationDo.java

@@ -0,0 +1,85 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * 同步报送组织表
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("BS_ORGANIZATION")
+public class BsOrganizationDo extends BaseDo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId
+    private String id;
+    /**
+     * 父主键ID
+     */
+    private String pid;
+    /**
+     * 父级全路径
+     */
+    private String fullpid;
+
+    private String treecode;
+    /**
+     * 等级
+     */
+    private Integer level;
+    /**
+     * 是否叶子节点
+     */
+    private String isleaf;
+    /**
+     * 代码
+     */
+    private String code;
+    /**
+     * 全称
+     */
+    private String fullname;
+    /**
+     * 简称
+     */
+    private String shortname;
+    /**
+     * 排序
+     */
+    private Integer sort;
+    /**
+     * 组织类型
+     */
+    private String orgtype;
+    /**
+     * 负责人ID
+     */
+    private String chargeid;
+    /**
+     * 负责人名称
+     */
+    private String charger;
+    /**
+     * 是否启用Y/N
+     */
+    private String enabled;
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+    /**
+     * 租户ID
+     */
+    private String tenantid;
+}

+ 11 - 0
business-server/src/main/java/com/rongwei/bsserver/controller/ZhcxApiController.java

@@ -1,6 +1,7 @@
 package com.rongwei.bsserver.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.rongwei.bscommon.sys.service.BsOrganizationService;
 import com.rongwei.bscommon.sys.service.DmTableService;
 import com.rongwei.bscommon.sys.service.ZhcxApiService;
 import com.rongwei.bscommon.sys.utils.HwSmsUtil;
@@ -37,6 +38,8 @@ public class ZhcxApiController {
 
     @Autowired
     private ZhcxApiService zhcxApiService;
+    @Autowired
+    private BsOrganizationService bsOrganizationService;
 
     @Autowired
     private ZhcxCommon zhcxCommon;
@@ -141,4 +144,12 @@ public class ZhcxApiController {
             return R.error("查询用户数据异常");
         }
     }
+
+    @PostMapping("/syncBsOrgData")
+    public void syncBsOrgData(){
+        log.info("删除报送组织数据");
+        bsOrganizationService.removeAll();
+        log.info("删除完成");
+        zhcxApiService.syncBsOrgData();
+    }
 }