Browse Source

Merge remote-tracking branch 'origin/develop' into develop

FengChaoYu 6 months ago
parent
commit
18133bcccb

+ 1 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/bean/user/UserApplyBean.java

@@ -27,7 +27,7 @@ public class UserApplyBean {
     private String websitId;
     @ApiModelProperty(required = true, value = "身份证号")
     private String idCard;
-    @ApiModelProperty(required = true, value = "身份证图片")
+    @ApiModelProperty(value = "身份证图片")
     private String idCardImg;
     @ApiModelProperty("其他图片")
     private List<WorkerImg> workerImgs;

+ 122 - 2
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/user/UserLogic.java

@@ -283,6 +283,7 @@ public class UserLogic {
      *
      * @param user
      */
+    @Transactional(rollbackFor = Exception.class)
     public void userTypeInit(User user) {
         String mobile = user.getMobile();
         CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
@@ -300,6 +301,17 @@ public class UserLogic {
         for (UserWait userWait : list) {
             user.setWorkerNumber(userWait.getWorkerNumber());
             user.setNickName(userWait.getName());
+
+            user.setWorkerNumber(userWait.getWorkerNumber());
+            user.setBankAccount(userWait.getBrank());
+            user.setIdCard(userWait.getIdcard());
+            user.setIdCardStartTime(userWait.getIdCardStartTime());
+            user.setIdCardEndTime(userWait.getIdCardEndTime());
+            user.setNumber(userWait.getNumber());
+            user.setStartTime(userWait.getStartTime());
+            user.setEndTime(userWait.getEndTime());
+            user.setHightExamineTime(userWait.getHightExamineTime());
+
             if (StringUtils.isBlank(user.getIdCard())) {
                 user.setIdCard(userWait.getIdcard());
             }
@@ -330,6 +342,92 @@ public class UserLogic {
                     websitUser.setBankAccount(userWait.getBankAccount());
                     websitUser.setWorkerNumber(userWait.getWorkerNumber());
                     websitUser.insert();
+
+                    //新意外增保险
+                    if (!StringUtil.isEmpty(userWait.getPolicyOrder())){
+                        WorkerPolicy workerPolicy = new WorkerPolicy();
+                        workerPolicy.setWorkerId(websitUser.getWorkerNumber());
+                        workerPolicy.setType("LINE");
+                        workerPolicy.setOrderId(userWait.getPolicyOrder());
+                        workerPolicy.setPolicyName(userWait.getPolicyName());
+                        workerPolicy.setCompany(userWait.getCompany());
+                        workerPolicy.setPolicyOrder(userWait.getPolicyOrder());
+                        workerPolicy.setPolicyType("AC");
+                        workerPolicy.setStartTime(userWait.getPolicyStartTime());
+                        workerPolicy.setEndTime(userWait.getPolicyEndTime());
+                        workerPolicy.setWebsitUserId(websitUser.getId());
+                        workerPolicy.setWebsitId(websitUser.getWebsitId());
+                        workerPolicy.setWebsitName(websitUser.getWebsitName());
+                        workerPolicy.setWorkerName(user.getNickName());
+
+                        if (new Date().after(userWait.getPolicyStartTime()) && new Date().before(userWait.getPolicyEndTime()))
+                            workerPolicy.setStatus(PolicyOrderStutasEnum.BZZ.getKey());
+                        else if (new Date().after(userWait.getPolicyEndTime()))
+                            workerPolicy.setStatus(PolicyOrderStutasEnum.YSX.getKey());
+                        else {
+                            workerPolicy.setStatus(PolicyOrderStutasEnum.DSX.getKey());
+                        }
+                        workerPolicy.insert();
+                    }
+
+
+                    //新增雇主保险
+                    if (!StringUtil.isEmpty(userWait.getEmPolicyOrder())){
+                        WorkerPolicy workerPolicy = new WorkerPolicy();
+                        workerPolicy.setWorkerId(websitUser.getWorkerNumber());
+                        workerPolicy.setType("LINE");
+                        workerPolicy.setOrderId(userWait.getEmPolicyOrder());
+                        workerPolicy.setPolicyName(userWait.getPolicyName());
+                        workerPolicy.setCompany(userWait.getCompany());
+                        workerPolicy.setPolicyOrder(userWait.getEmPolicyOrder());
+                        workerPolicy.setPolicyType("EM");
+                        workerPolicy.setStartTime(userWait.getEmPolicyStartTime());
+                        workerPolicy.setEndTime(userWait.getEmPolicyEndTime());
+                        workerPolicy.setWebsitUserId(websitUser.getId());
+                        workerPolicy.setWebsitId(websitUser.getWebsitId());
+                        workerPolicy.setWebsitName(websitUser.getWebsitName());
+                        workerPolicy.setWorkerName(user.getNickName());
+
+                        if (new Date().after(workerPolicy.getStartTime()) && new Date().before(workerPolicy.getEndTime()))
+                            workerPolicy.setStatus(PolicyOrderStutasEnum.BZZ.getKey());
+                        else if (new Date().after(workerPolicy.getEndTime()))
+                            workerPolicy.setStatus(PolicyOrderStutasEnum.YSX.getKey());
+                        else {
+                            workerPolicy.setStatus(PolicyOrderStutasEnum.DSX.getKey());
+                        }
+
+                        workerPolicy.insert();
+                    }
+
+
+                    //新增工伤保险
+                    if (!StringUtil.isEmpty(userWait.getInPolicyOrder())){
+                        WorkerPolicy workerPolicy = new WorkerPolicy();
+                        workerPolicy.setWorkerId(websitUser.getWorkerNumber());
+                        workerPolicy.setType("LINE");
+                        workerPolicy.setOrderId(userWait.getInPolicyOrder());
+                        workerPolicy.setPolicyName(userWait.getPolicyName());
+                        workerPolicy.setCompany(userWait.getCompany());
+                        workerPolicy.setPolicyOrder(userWait.getInPolicyOrder());
+                        workerPolicy.setPolicyType("IN");
+                        workerPolicy.setStartTime(userWait.getInPolicyStartTime());
+                        workerPolicy.setEndTime(userWait.getInPolicyEndTime());
+                        workerPolicy.setWebsitUserId(websitUser.getId());
+                        workerPolicy.setWebsitId(websitUser.getWebsitId());
+                        workerPolicy.setWebsitName(websitUser.getWebsitName());
+                        workerPolicy.setWorkerName(user.getNickName());
+
+                        if (new Date().after(workerPolicy.getStartTime()) && new Date().before(workerPolicy.getEndTime()))
+                            workerPolicy.setStatus(PolicyOrderStutasEnum.BZZ.getKey());
+                        else if (new Date().after(workerPolicy.getEndTime()))
+                            workerPolicy.setStatus(PolicyOrderStutasEnum.YSX.getKey());
+                        else {
+                            workerPolicy.setStatus(PolicyOrderStutasEnum.DSX.getKey());
+                        }
+
+                        workerPolicy.insert();
+                    }
+
                 }
             }
         }
@@ -1143,7 +1241,7 @@ public class UserLogic {
         }
         //入驻师傅
         if (type.equals(UserTypeEnum.WORKER.getKey())) {
-            if (StringUtils.isAnyBlank(idCard, idCardImg)) {
+            if (StringUtils.isAnyBlank(idCard)) {
                 throw new RemoteServiceException("缺乏必填的参数");
             }
             if (StringUtils.isBlank(websitId)) {
@@ -1164,8 +1262,11 @@ public class UserLogic {
 
             websitUserService.lambdaUpdate().eq(WebsitUser::getUserId, user.getUserId()).eq(WebsitUser::getWebsitId, websitId).remove();
 
+            AdminWebsit adminWebsit = adminWebsitService.getById(websitId);
+
             WebsitUser websitUser = new WebsitUser();
             websitUser.setWebsitId(websitId);
+            websitUser.setWebsitName(adminWebsit.getName());
             websitUser.setUserId(user.getUserId());
             websitUser.setCompanyWechatId(user.getCompanyWechatId());
             websitUser.setCompanyWechatName(user.getCompanyName());
@@ -1173,6 +1274,15 @@ public class UserLogic {
             websitUser.setExamineStatus(OrderExamineEnum.WAIT.toString());
             websitUser.setBankAccount(bankAccount);
             websitUser.insert();
+
+            userApplyBean.getWorkerPolicy().setWebsitUserId(websitUser.getId());
+            userApplyBean.getWorkerPolicy().setWebsitId(websitUser.getWebsitId());
+            userApplyBean.getWorkerPolicy().setWebsitName(websitUser.getWebsitName());
+            userApplyBean.getWorkerPolicy().setWorkerName(user.getNickName());
+            userApplyBean.getWorkerPolicy().setType("AC");
+            userApplyBean.getWorkerPolicy().setStatus("YSX");
+            userApplyBean.getWorkerPolicy().setWorkerId(websitUser.getWorkerNumber());
+
         }
 
         if (StringUtils.isNotBlank(idCard) && idCard.length() != 18) {
@@ -1183,9 +1293,17 @@ public class UserLogic {
         user.setIdCardImg(idCardImg);
         //user.setWebsitId(websitId);
         user.setApplyType(type);
+        user.setBankAccount(bankAccount);
         user.setApplyWebsitId(websitId);
         user.setApplyTime(new Date());
         user.setIsBuy(userApplyBean.getIsBuy());
+
+        user.setIdCardEndTime(userApplyBean.getIdCardEndTime());
+        user.setIdCardStartTime(userApplyBean.getIdCardStartTime());
+        user.setNumber(userApplyBean.getNumber());
+        user.setStartTime(userApplyBean.getStartTime());
+        user.setEndTime(userApplyBean.getEndTime());
+        user.setHightExamineTime(userApplyBean.getHightExamineTime());
         user.updateById();
 
         if (CollectionUtils.isNotEmpty(workerImgs)) {
@@ -1196,7 +1314,9 @@ public class UserLogic {
             workerImgService.saveBatch(workerImgs);
         }
 
-        userApplyBean.getWorkerPolicy().insert();
+        if (userApplyBean.getWorkerPolicy()!= null) {
+            userApplyBean.getWorkerPolicy().insert();
+        }
     }
 
 

+ 1 - 0
mall-miniapp-service/src/main/resources/mapper/CommonMapper.xml

@@ -86,6 +86,7 @@
                 </foreach>
             </if>
             and a.company_wechat_id = #{companyWechatId}
+        HAVING distance &lt; 50000
         ORDER BY distance
     </select>
 

+ 62 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/policy/ItfGreeSynDownloadRecBean.java

@@ -0,0 +1,62 @@
+package com.gree.mall.manager.bean.policy;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.gree.mall.manager.plus.entity.ItfGreeSynDownloadRec;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@ApiModel
+@Data
+public class ItfGreeSynDownloadRecBean   {
+
+
+    @ApiModelProperty(value = "同步任务号")
+    @TableId(value = "syn_req_id", type = IdType.AUTO)
+    private Long synReqId;
+
+    @ApiModelProperty(value = "同步任务生成时间")
+    private Date synReqTime;
+
+    @ApiModelProperty(value = "总部同步标志是否已成功更新 0=否 1=是 99=其他")
+    private Integer greeStatSynStatus;
+
+    @ApiModelProperty(value = "下载时间")
+    private Date greeStatSynTime;
+
+    @ApiModelProperty(value = "同步错误信息")
+    private String greeStatSynErrMsg;
+
+    @ApiModelProperty(value = "销售公司编号")
+    private String salesWebsitNumber;
+
+    @ApiModelProperty(value = "下载批次号")
+    private String downloadBatchNo;
+
+    @ApiModelProperty(value = "任务号")
+    private String downloadTaskNo;
+
+    @ApiModelProperty(value = "工单id.")
+    private String workOrderId;
+
+    @ApiModelProperty(value = "总部工单更新时间")
+    private String updatedTimestamp;
+
+    @ApiModelProperty(value = "总部返回字段")
+    @TableField("orderNode")
+    private String orderNode;
+
+    @ApiModelProperty(value = "总部返回字段")
+    @TableField("regionOutletsNo")
+    private String regionOutletsNo;
+
+    @ApiModelProperty(value = "总部返回字段")
+    @TableField("regionOutletsName")
+    private String regionOutletsName;
+
+}

+ 18 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/SyncOrderInfoLogic.java

@@ -6,6 +6,7 @@ import cn.hutool.http.HttpUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
+import com.gree.mall.manager.bean.policy.ItfGreeSynDownloadRecBean;
 import com.gree.mall.manager.constant.Constant;
 import com.gree.mall.manager.plus.entity.ItfGreeSynDownloadRec;
 import com.gree.mall.manager.plus.entity.ItfGreeSynRule;
@@ -16,7 +17,11 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 @Service
@@ -49,6 +54,19 @@ public class SyncOrderInfoLogic {
         JSONArray jsonArray = JSONUtil.parseArray(JSON.parseObject(bodyMap.get("data").toString()));
 
 
+        List<ItfGreeSynDownloadRecBean> itfGreeSynDownloadRecBeans = JSONUtil.toList(jsonArray, ItfGreeSynDownloadRecBean.class);
+
+        if (CollectionUtils.isEmpty(itfGreeSynDownloadRecBeans))
+            return;
+
+        List<ItfGreeSynDownloadRec> itfGreeSynDownloadRecs = new ArrayList<>();
+
+        Date date = new Date();
+
+        for (ItfGreeSynDownloadRecBean itfGreeSynDownloadRecBean : itfGreeSynDownloadRecBeans) {
+            ItfGreeSynDownloadRec itfGreeSynDownloadRec = new ItfGreeSynDownloadRec();
+        }
+
 
     }
 

+ 66 - 12
mall-server-api/src/main/java/com/gree/mall/manager/logic/user/UserLogic.java

@@ -1,6 +1,7 @@
 package com.gree.mall.manager.logic.user;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -227,29 +228,49 @@ public class UserLogic {
             String errPrefix = "第" + index + "行";
             List<Object> row = (List<Object>) o;
             CommonUtils.initList2(row, 10);
-            String name = (String) row.get(0);
-            String idcard = (String) row.get(1);
+            String websitNumber = (String) row.get(0);
+            String name = (String) row.get(1);
             String mobile = (String) row.get(2);
-            String userType = (String) row.get(3);
-            String websitId = (String) row.get(4);
-            String bankAccount = (String) row.get(5);
-            String workerNumber = (String) row.get(6);
-            if (StringUtils.isAnyBlank(name, mobile, userType)) {
+            String workerNumber = (String) row.get(3);
+            String brank = (String) row.get(4);
+            String idcard = (String) row.get(5);
+            String idcardStartTime = (String) row.get(6);
+            String idcardEndTime = (String) row.get(7);
+            String hightNumber = (String) row.get(8);
+            String hightStartTime = (String) row.get(9);
+            String hightEndTime = (String) row.get(10);
+            String hightExamineTime = (String) row.get(11);
+            String company = (String) row.get(12);
+            String policy_name = (String) row.get(13);
+            String  policy_order= (String) row.get(14);
+            String policy_start_time = (String) row.get(15);
+            String policy_end_time = (String) row.get(16);
+            String em_company = (String) row.get(17);
+            String  em_policy_name= (String) row.get(18);
+            String em_policy_order = (String) row.get(19);
+            String em_policy_start_time = (String) row.get(20);
+            String em_policy_end_time = (String) row.get(21);
+            String in_company = (String) row.get(22);
+            String in_policy_name = (String) row.get(23);
+            String  in_policy_order= (String) row.get(24);
+            String in_policy_start_time = (String) row.get(25);
+            String in_policy_end_time = (String) row.get(26);
+            if (StringUtils.isAnyBlank(name, mobile, websitNumber,workerNumber,idcard,idcardStartTime,idcardEndTime)) {
                 throw new RemoteServiceException(errPrefix + "黄色区域为必填项");
             }
             if (mobile.length() != 11) {
                 throw new RemoteServiceException(errPrefix + "手机号格式不正确");
             }
-            UserTypeEnum userTypeEnum = BaseEnum.valueToEnum(UserTypeEnum.class, userType);
+            UserTypeEnum userTypeEnum = BaseEnum.valueToEnum(UserTypeEnum.class, "师傅");
             if (Objects.isNull(userTypeEnum) || userTypeEnum == UserTypeEnum.GENERAL) {
                 throw new RemoteServiceException(errPrefix + "用户类型填写不合规,请填写【师傅】或者【分销员】");
             }
             AdminWebsit adminWebsit = null;
             if (userTypeEnum == UserTypeEnum.WORKER) {
-                if (StringUtils.isBlank(websitId)) {
+                if (StringUtils.isBlank(websitNumber)) {
                     throw new RemoteServiceException(errPrefix + "网点编号不能为空");
                 }
-                adminWebsit = websitMap.get(websitId);
+                adminWebsit = websitMap.get(websitNumber);
                 if (Objects.isNull(adminWebsit)) {
                     throw new RemoteServiceException(errPrefix + "网点不存在");
                 }
@@ -270,7 +291,7 @@ public class UserLogic {
                         .last("limit 1")
                         .one();
                 if (Objects.nonNull(worker)) {
-                    this.saveWebsitUser(adminWebsit.getWebsitId(), worker, bankAccount, workerNumber, "系统导入初始化");
+                    this.saveWebsitUser(adminWebsit.getWebsitId(), worker, brank, workerNumber, "系统导入初始化");
                 }
             }
 
@@ -278,8 +299,41 @@ public class UserLogic {
             userWait.setIdcard(idcard);
             userWait.setCompanyWechatId(adminUser.getCompanyWechatId());
             userWait.setCompanyWechatName(adminUser.getCompanyName());
-            userWait.setBankAccount(bankAccount);
+            userWait.setBankAccount(brank);
             userWait.setWorkerNumber(workerNumber);
+
+            if (!StringUtil.isEmpty(hightNumber)) {
+                userWait.setNumber(hightNumber);
+                userWait.setStartTime(DateUtil.parse(hightStartTime, "yyyy/MM/dd"));
+                userWait.setEndTime(DateUtil.parse(hightEndTime, "yyyy/MM/dd"));
+                userWait.setHightExamineTime(DateUtil.parse(hightExamineTime, "yyyy/MM/dd"));
+            }
+
+
+            if (!StringUtil.isEmpty(company)) {
+                userWait.setCompany(company);
+                userWait.setPolicyStartTime(DateUtil.parse(policy_start_time, "yyyy/MM/dd"));
+                userWait.setPolicyEndTime(DateUtil.offsetSecond(DateUtil.endOfDay(DateUtil.parse(policy_end_time, "yyyy/MM/dd")),-1));
+                userWait.setPolicyName(policy_name);
+                userWait.setPolicyOrder(policy_order);
+            }
+
+            if (!StringUtil.isEmpty(em_company)) {
+                userWait.setEmCompany(em_company);
+                userWait.setEmPolicyStartTime(DateUtil.parse(em_policy_start_time, "yyyy/MM/dd"));
+                userWait.setEmPolicyEndTime(DateUtil.offsetSecond(DateUtil.endOfDay(DateUtil.parse(em_policy_end_time, "yyyy/MM/dd")),-1));
+                userWait.setEmPolicyName(em_policy_name);
+                userWait.setEmPolicyOrder(em_policy_order);
+            }
+
+            if (!StringUtil.isEmpty(in_company)) {
+                userWait.setInCompany(in_company);
+                userWait.setInPolicyStartTime(DateUtil.parse(in_policy_start_time, "yyyy/MM/dd"));
+                userWait.setInPolicyEndTime(DateUtil.offsetSecond(DateUtil.endOfDay(DateUtil.parse(in_policy_end_time, "yyyy/MM/dd")),-1));
+                userWait.setInPolicyName(in_policy_name);
+                userWait.setInPolicyOrder(in_policy_order);
+            }
+
             userWaits.add(userWait);
         }
         userWaitService.saveBatch(userWaits);

+ 2 - 1
mall-server-api/src/main/resources/bootstrap-test.properties

@@ -116,4 +116,5 @@ fadada.websit.auth.page-modify=1
 fadada.websit.auth.verified-way=3
 fadada.websit.auth.notify.url=${sys.url}/${server.servlet.context-path}/fdd/notify/websit/auth
 fadada.websit.sign.notify.url=${sys.url}/${server.servlet.context-path}/fdd/notify/websit/batch/sign
-fadada.websit.person.auth.notify.url=${sys.url}/${server.servlet.context-path}/fdd/notify/websit/person
+fadada.websit.person.auth.notify.url=${sys.url}/${server.servlet.context-path}/fdd/notify/websit/person
+gree.url=https://api.sms-test.gree.com/api/sso/sms-server-order-external

BIN
mall-server-api/src/main/resources/template/师傅资料初始化模板.xlsx