he2802 1 rok pred
rodič
commit
47c3318327

+ 87 - 1
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -907,7 +907,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
                 errorList.add(itemImport);
                 continue;
             }
-            iSmsService.sendPwdSms(itemImport.getTelphone(),pwd);
+//            iSmsService.sendPwdSms(itemImport.getTelphone(),pwd);
             itemImport.setUserId(inertData.getUserId());
             itemImport.setImportNo(importNo);
             itemImport.setStudentCode(inertData.getUserAccount());
@@ -1628,6 +1628,92 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
 
     @Override
     public Map<String, Object> importSevenUser(List<UserPeriodImportBo> userList) {
+        if (CollectionUtils.isEmpty(userList)) {
+            throw new IllegalArgumentException("请勿导入空表格");
+        }
+        List<UserPeriodImportBo> errorList = new ArrayList<>();
+        List<UserPeriodImportBo> successList = new ArrayList<>();
+        String importNo = ServletUtils.getEncoded("IMPORT");
+        for (UserPeriodImportBo itemImport : userList) {
+            if(Validator.isEmpty(itemImport.getUserPhone())||itemImport.getUserPhone().length()!=11){
+                itemImport.setCause("手机号不能为空或者格式不对");
+                errorList.add(itemImport);
+                continue;
+            }
+            if(Validator.isEmpty(itemImport.getUserCard())){
+                itemImport.setCause("身份证不能为空");
+                errorList.add(itemImport);
+                continue;
+            }
+            if(Validator.isEmpty(itemImport.getUserName())){
+                itemImport.setCause("真实姓名不能为空");
+                errorList.add(itemImport);
+                continue;
+            }
+            User user = getOne(new LambdaQueryWrapper<User>()
+                    .eq(User::getTelphone,EncryptHandler.encrypt(itemImport.getUserPhone())).last("limit 1"));
+            if(Validator.isNotNull(user)){
+                if(Validator.isNotEmpty(user.getIdCard())&&Validator.isNotEmpty(itemImport.getUserCard())&&!itemImport.getUserCard().equals(user.getIdCard())){
+                    throw new CustomException(itemImport.getUserCard()+"身份证号码不一致");
+                }
+                if(Validator.isEmpty(user.getIdCard())){
+                    //更新身份证和姓名
+                    user.setIdCard(itemImport.getUserCard());
+                    user.setRealname(itemImport.getUserName());
+                    updateById(user);
+                }
+                //手机号已存在
+                itemImport.setUserId(user.getUserId());
+                itemImport.setStudentCode(user.getUserAccount());
+                itemImport.setUserName(user.getRealname());
+                itemImport.setUserCard(user.getIdCard());
+                successList.add(itemImport);
+                continue;
+            }else{
+                User user2 = getOne(new LambdaQueryWrapper<User>()
+                        .eq(User::getIdCard,EncryptHandler.encrypt(itemImport.getUserCard())).last("limit 1"));
+                if(Validator.isNotEmpty(user2)){
+                    throw new CustomException(itemImport.getUserName()+"身份证号码已存在,创建失败");
+                }
+            }
+            User inertData = new User();
+            inertData.setTelphone(itemImport.getUserPhone());
+            //隐藏手机号作为初始昵称
+            inertData.setNickname(TelPhoneUtils.hideTelPhone(itemImport.getUserPhone()));
+            //雪花算法产生账号ID
+            SnowflakeIdUtils idWorker = new SnowflakeIdUtils(3, 1);
+            inertData.setUserAccount(String.valueOf(idWorker.nextId()));
+            inertData.setSex(1);
+            if(Validator.isNotEmpty(itemImport.getSex())){
+                inertData.setSex(itemImport.getSex().equals("女")?2:1);
+            }
+            if(Validator.isNotEmpty(itemImport.getEducation())){
+                inertData.setEduLevel(itemImport.getEducation());
+            }
+            inertData.setIdCard(itemImport.getUserCard());
+            inertData.setRealname(itemImport.getUserName());
+            inertData.setStatus(1);
+            inertData.setRegisterPlat("3");
+            inertData.setAvatar(Constants.DEFAULT_AVATAR);
+            inertData.setLastLoginIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
+            inertData.setLastLoginTime(DateUtils.getNowTime());
+            inertData.setCreateTime(DateUtils.getNowTime());
+            inertData.setUpdateTime(DateUtils.getNowTime());
+            //初始密码(身份证后6位)
+            String idCard = itemImport.getUserCard();
+            String pwd =  idCard.substring(idCard.length() - 6); // 随机密码
+            inertData.setPassword(SecurityUtils.encryptPassword(pwd));
+            inertData.setImportNo(importNo); //设置导入编号 一个导入页面同时导入多次算一个编号
+            if(!save(inertData)){
+                itemImport.setCause("注册失败");
+                errorList.add(itemImport);
+                continue;
+            }
+            itemImport.setUserId(inertData.getUserId());
+            itemImport.setImportNo(importNo);
+            itemImport.setStudentCode(inertData.getUserAccount());
+            successList.add(itemImport);
+        }
         return null;
     }
 

+ 3 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderAddBo.java

@@ -205,11 +205,11 @@ public class TopOldOrderAddBo {
     private Integer checkSign;
 
     @ApiModelProperty("对应客户Id")
-    private Integer oldCompanyId;
+    private Long oldCompanyId;
 
     @ApiModelProperty("客户ID")
-    private Integer oldCustomerId;
+    private Long oldCustomerId;
 
     @ApiModelProperty("订单所属机构")
-    private Integer oldInstitutionId;
+    private Long oldInstitutionId;
 }

+ 3 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopOldOrder.java

@@ -171,9 +171,9 @@ private static final long serialVersionUID=1L;
     @ApiModelProperty("补款金额")
     private BigDecimal repairMoneyTotal;
     /** 对应客户Id */
-    private Integer oldCompanyId;
+    private Long oldCompanyId;
     /** 客户ID */
-    private Integer oldCustomerId;
+    private Long oldCustomerId;
     /** 订单所属机构 */
-    private Integer oldInstitutionId;
+    private Long oldInstitutionId;
 }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserPeriodImportBo.java

@@ -16,6 +16,12 @@ import java.io.Serializable;
 @Accessors(chain = true)
 public class UserPeriodImportBo implements Serializable {
 
+    private Long userId;
+
+    private String studentCode;
+
+    private String importNo;
+
     @Excel(name = "*学员姓名")
     private String userName;
 
@@ -52,4 +58,6 @@ public class UserPeriodImportBo implements Serializable {
     @Excel(name = "联系电话")
     private String unitTel;
 
+    @com.zhongzheng.common.annotation.Excel(name = "失败原因")
+    private String cause;
 }

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/top/TopOldOrderMapper.xml

@@ -1617,7 +1617,7 @@
             AND too.tenant_id = #{tenantId}
         </if>
         <if test="customerId != null and customerId != ''">
-            AND too.tenant_id  = #{customerId}
+            AND too.old_customer_id  = #{customerId}
         </if>
     </select>