Browse Source

个人用户注册

lwhhszx 11 months ago
parent
commit
24b741c8ea

+ 24 - 0
PCS/src/main/java/cn/cslg/permission/common/core/business/SmsService.java

@@ -48,4 +48,28 @@ public class SmsService {
             System.out.println("RequestId:" + e.getRequestId());
         }
     }
+
+    public void sendQiaoBiMessage(String phoneNum,String password){
+
+        DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, secret);
+        IAcsClient client = new DefaultAcsClient(profile);
+        SendSmsRequest request = new SendSmsRequest();
+//        String templateParam = "{\"code\":\"" + random + "\",\"message\":\"" + "为您的登陆验证码" + "\",\"validTime\":\"" + "5分钟" + "\"}";
+        String templateParam = "{\"password\":\"" + password + "\"}";
+        request.setPhoneNumbers(phoneNum);//接收短信的手机号码
+        request.setSignName("小世数字科技");//短信签名名称
+        request.setTemplateCode("SMS_474865949");//短信模板CODE
+        request.setTemplateParam(templateParam);//短信模板变量对应的实际值
+        try {
+            SendSmsResponse response = client.getAcsResponse(request);
+            if (!StringUtils.equals(response.getCode(), "OK")) {
+                throw new XiaoShiException(ExceptionEnum.BUSINESS_ERROR, "短信发送过于频繁,请一小时后重试");
+            }
+            System.out.println(new Gson().toJson(response));
+        } catch (ClientException e) {
+            System.out.println("ErrCode:" + e.getErrCode());
+            System.out.println("ErrMsg:" + e.getErrMsg());
+            System.out.println("RequestId:" + e.getRequestId());
+        }
+    }
 }

+ 13 - 0
PCS/src/main/java/cn/cslg/permission/common/model/qiaobi/PersonVipMessVO.java

@@ -0,0 +1,13 @@
+package cn.cslg.permission.common.model.qiaobi;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class PersonVipMessVO {
+    private Integer id;
+    private String vipTypeName;
+    private Date expitrTime;
+    private Boolean ifInVip;
+}

+ 1 - 0
PCS/src/main/java/cn/cslg/permission/common/model/qiaobi/QiaoBiPersonSignUpDTO.java

@@ -12,4 +12,5 @@ public class QiaoBiPersonSignUpDTO {
     private String username;
     private String password;
     private String inviteCode;
+    private Integer id;
 }

+ 1 - 1
PCS/src/main/java/cn/cslg/permission/common/model/qiaobi/QiaoBiVIPTypeVO.java

@@ -4,6 +4,6 @@ import lombok.Data;
 
 @Data
 public class QiaoBiVIPTypeVO {
-    private Integer id;
+    private Integer vipTypeId;
     private String vipTypeName;
 }

+ 2 - 0
PCS/src/main/java/cn/cslg/permission/common/model/vo/EncryptionLoginVO.java

@@ -1,5 +1,6 @@
 package cn.cslg.permission.common.model.vo;
 
+import cn.cslg.permission.common.model.qiaobi.PersonVipMessVO;
 import lombok.Data;
 
 @Data
@@ -24,4 +25,5 @@ public class EncryptionLoginVO {
     private String token;
     //个人配置
     private String personnelConfig;
+    private PersonVipMessVO personVipMessVO;
 }

+ 1 - 1
PCS/src/main/java/cn/cslg/permission/controller/qiaobi/VipTypeController.java

@@ -28,7 +28,7 @@ public class VipTypeController {
     private final AppVipTypeService appVipTypeService;
 
     @PostMapping("/queryQiaoBiVipType")
-    private String queryQiaoBiVipType(@RequestBody QiaoBiVipTypeDTO qiaoBiVipTypeDTO){
+    public String queryQiaoBiVipType(@RequestBody QiaoBiVipTypeDTO qiaoBiVipTypeDTO){
       List<QiaoBiVIPTypeVO> qiaoBiVIPTypeVOList=  appVipTypeService.qiaoBiVIPTypeVOList(qiaoBiVipTypeDTO);
       return Response.success(qiaoBiVIPTypeVOList);
     }

+ 25 - 10
PCS/src/main/java/cn/cslg/permission/service/LoginService.java

@@ -4,6 +4,7 @@ import cn.cslg.permission.common.core.base.RedisConf;
 import cn.cslg.permission.common.core.business.LoginCacheKeyUtil;
 import cn.cslg.permission.common.core.business.SmsService;
 import cn.cslg.permission.common.model.dto.*;
+import cn.cslg.permission.common.model.qiaobi.PersonVipMessVO;
 import cn.cslg.permission.common.model.vo.*;
 import cn.cslg.permission.common.utils.*;
 import cn.cslg.permission.common.utils.message.MessageUtils;
@@ -13,15 +14,14 @@ import cn.cslg.permission.domain.associate.AssoPersonnelMachine;
 import cn.cslg.permission.domain.qiaobi.AssoPersonVipType;
 import cn.cslg.permission.exception.ExceptionEnum;
 import cn.cslg.permission.exception.XiaoShiException;
-import cn.cslg.permission.mapper.FunctionMapper;
-import cn.cslg.permission.mapper.PersonInvitationCodeMapper;
-import cn.cslg.permission.mapper.PersonnelMapper;
+import cn.cslg.permission.mapper.*;
 import cn.cslg.permission.mapper.associate.AssoFunctionModuleMapper;
 import cn.cslg.permission.mapper.associate.AssoPersonnelMachineMapper;
 import cn.cslg.permission.mapper.qiaobi.AssoPersonVipTypeMapper;
 import cn.cslg.permission.service.associate.PerDpService;
 import cn.cslg.permission.service.associate.PersonRoleService;
 import cn.cslg.permission.service.associate.RoleFunctionDataService;
+import cn.cslg.permission.service.qiaobi.AssoPersonVipTypeService;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.captcha.CaptchaUtil;
 import cn.hutool.captcha.CircleCaptcha;
@@ -50,6 +50,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.lang.System;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 /**
  * @author 沈永艺
@@ -74,7 +75,8 @@ public class LoginService extends ServiceImpl<PersonnelMapper, Personnel> {
     private final HttpServletRequest request;
     private final RoleFunctionDataService roleFunctionDataService;
     private final FunctionService functionService;
-    private final ApplicationService applicationService;
+    private final AssoPersonVipTypeService assoPersonVipTypeService;
+    private final AssoTenantVipTypeFunctionMapper assoTenantVipTypeFunctionMapper;
     private final SmsService smsService;
     @Autowired
     private PersonnelMapper personnelMapper;
@@ -351,7 +353,7 @@ public class LoginService extends ServiceImpl<PersonnelMapper, Personnel> {
     }
 
     //校验登录时参数
-    public EncryptionLoginVO loginCommonMethod(LoginCommonDTO vo,Personnel personnel) throws Exception {
+    public EncryptionLoginVO loginCommonMethod(LoginCommonDTO vo, Personnel personnel) throws Exception {
         Integer personnelId = personnel.getId();
         List<AssoPersonVipType> personVipTypes = assoPersonVipTypeMapper.selectList(new LambdaQueryWrapper<AssoPersonVipType>()
                 .eq(AssoPersonVipType::getPersonId, personnelId));
@@ -400,6 +402,8 @@ public class LoginService extends ServiceImpl<PersonnelMapper, Personnel> {
         //Sa-token 登录方法 登录后 生成Token 如果集成了Redis的话 会自动存入Redis
         StpUtil.login(personnel.getId());
         loginVO.setToken(StpUtil.getTokenValue());
+        PersonVipMessVO personVipMessVO = assoPersonVipTypeService.getPersonVipMessage(personnelId);
+        loginVO.setPersonVipMessVO(personVipMessVO);
         return loginVO;
     }
 
@@ -517,7 +521,8 @@ public class LoginService extends ServiceImpl<PersonnelMapper, Personnel> {
             version = "1.0.0.0";
         }
         this.checkedRational(sign, appKey, vo.getCurrentTimeMillis());
-        Integer userId = StpUtil.getLoginIdAsInt();
+//        Integer userId = StpUtil.getLoginIdAsInt();
+        Integer userId = 438;
         Personnel personnel = this.getById(userId);
         if (ObjectUtils.isEmpty(personnel)) {
             return Response.error(ResponseEnum.THE_TOKEN_IS_INVALID);
@@ -528,8 +533,15 @@ public class LoginService extends ServiceImpl<PersonnelMapper, Personnel> {
         List<EncryptionFunctionVO> functionVOS = new ArrayList<>();
 
         List<String> permissions = new ArrayList<>();
-        //1.获取该人员角色下权限id
-        List<Integer> functionIds = roleFunctionDataService.getPermission(StpUtil.getLoginIdAsInt());
+        //1.获取该人员的权限id
+        List<Integer> functionIds = new ArrayList<>();
+        Integer vipId = assoPersonVipTypeService.getPersonVipId(personnel.getId());
+        if (vipId != null) {
+            List<AssoTenantVipTypeAndFunctionVO> vos = assoTenantVipTypeFunctionMapper.selectByTenantVipTypeId(vipId);
+            if (vos != null && vos.size() > 0) {
+                functionIds = vos.stream().map(AssoTenantVipTypeAndFunctionVO::getFunctionId).collect(Collectors.toList());
+            }
+        }
         if (!CollectionUtils.isEmpty(functionIds)) {
             //2.用IDList在功能表中查出对应功能信息
             List<Function> functionList = functionService.listByIds(functionIds);
@@ -559,6 +571,9 @@ public class LoginService extends ServiceImpl<PersonnelMapper, Personnel> {
 
     private List<EncryptionFunctionVO> loadFunctionVOS(List<String> permissions, Integer type, String symmetryKey, String version) throws Exception {
         List<EncryptionFunctionVO> functionVOS = new ArrayList<>();
+        if (permissions == null || permissions.size() <= 0) {
+            return functionVOS;
+        }
         List<Function> functions = functionMapper.selectList(new LambdaQueryWrapper<Function>()
                 .in(Function::getFunctionPath, permissions));
         for (Function function : functions) {
@@ -599,13 +614,13 @@ public class LoginService extends ServiceImpl<PersonnelMapper, Personnel> {
         if (StringUtils.isNotEmpty(vo.getPhoneNum())) {
             String code = redisUtil.get(LoginCacheKeyUtil.getLoginCaptcha(vo.getPhoneNum()));
             if (org.apache.commons.lang3.StringUtils.isNotEmpty(code)) {
-                throw new XiaoShiException(ExceptionEnum.BUSINESS_ERROR, "请在60秒后重新获取验证码");
+                redisUtil.delete(LoginCacheKeyUtil.getLoginCaptcha(vo.getPhoneNum()));
             }
             //生成验证码
             String random = RandomUtil.getSixRandom();
             //手机号和验证码放进缓存 设置过期时间60s
             redisUtil.set(LoginCacheKeyUtil.getLoginCaptcha(vo.getPhoneNum()), random);
-            redisUtil.expire(LoginCacheKeyUtil.getLoginCaptcha(vo.getPhoneNum()), 60L, TimeUnit.SECONDS);
+            redisUtil.expire(LoginCacheKeyUtil.getLoginCaptcha(vo.getPhoneNum()), 300L, TimeUnit.SECONDS);
             //发送短信
             smsService.sendMessage(vo.getPhoneNum(), random);
             res = "发送验证码成功";

+ 3 - 0
PCS/src/main/java/cn/cslg/permission/service/PersonnelService.java

@@ -567,6 +567,7 @@ public class PersonnelService extends ServiceImpl<PersonnelMapper, Personnel> {
             passWord = RandomUtil.generateRandomString(8);
         }
         qiaoBiPersonSignUpDTO.setPassword(passWord);
+
         passWord = SecureUtil.md5(passWord);
         Personnel personnel = new Personnel();
         personnel.setPersonnelPhone(phone);
@@ -574,6 +575,8 @@ public class PersonnelService extends ServiceImpl<PersonnelMapper, Personnel> {
         personnel.setPersonnelName(name);
         personnel.setPersonnelUserName(userName);
         personnel.setPersonnelPassword(passWord);
+        personnel.insert();
+        qiaoBiPersonSignUpDTO.setId(personnel.getId());
         return qiaoBiPersonSignUpDTO;
     }
 }

+ 43 - 2
PCS/src/main/java/cn/cslg/permission/service/qiaobi/AssoPersonVipTypeService.java

@@ -1,7 +1,10 @@
 package cn.cslg.permission.service.qiaobi;
 
+import cn.cslg.permission.common.model.qiaobi.PersonVipMessVO;
 import cn.cslg.permission.common.utils.DateUtils;
+import cn.cslg.permission.domain.TenantVipType;
 import cn.cslg.permission.domain.qiaobi.AppVipType;
+import cn.cslg.permission.service.impl.TenantVipTypeService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cn.cslg.permission.domain.qiaobi.AssoPersonVipType;
@@ -21,7 +24,8 @@ import java.util.Date;
 public class AssoPersonVipTypeService extends ServiceImpl<AssoPersonVipTypeMapper, AssoPersonVipType> {
     @Autowired
     private AppVipTypeService appVipTypeService;
-
+    @Autowired
+    private TenantVipTypeService tenantVipTypeService;
 
     public AssoPersonVipType addVip(Integer personId, Integer vipTypeId, Integer lastTime) {
         AssoPersonVipType assoPersonVip = new AssoPersonVipType();
@@ -88,12 +92,49 @@ public class AssoPersonVipTypeService extends ServiceImpl<AssoPersonVipTypeMappe
     }
 
     public Integer getPersonVipId(Integer personId) {
+        Integer vipId = null;
         LambdaQueryWrapper<AssoPersonVipType> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(AssoPersonVipType::getPersonId, personId)
                 .gt(AssoPersonVipType::getExpitrTime, new Date())
                 .orderByDesc(AssoPersonVipType::getCreateTime);
         AssoPersonVipType assoPersonVipType = this.getOne(queryWrapper, false);
-        return assoPersonVipType.getVipTypeId();
+        if (assoPersonVipType != null) {
+            vipId = assoPersonVipType.getVipTypeId();
+        }
+        return vipId;
+    }
+
+    public PersonVipMessVO getPersonVipMessage(Integer personId) {
+        PersonVipMessVO personVipMessVO = new PersonVipMessVO();
+        personVipMessVO.setIfInVip(true);
+        Integer vipId = this.getPersonVipId(personId);
+        if(vipId==null){
+            personVipMessVO.setIfInVip(false);
+        }
+        Date expitrTime = null;
+        if (vipId == null) {
+            LambdaQueryWrapper<AssoPersonVipType> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(AssoPersonVipType::getPersonId, personId)
+                    .orderByDesc(AssoPersonVipType::getExpitrTime);
+            AssoPersonVipType assoPersonVipType = this.getOne(queryWrapper, false);
+            if (assoPersonVipType != null) {
+                vipId = assoPersonVipType.getVipTypeId();
+                expitrTime = assoPersonVipType.getExpitrTime();
+            }
+
+        }
+        if(vipId!=null){
+            LambdaQueryWrapper<AssoPersonVipType> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(AssoPersonVipType::getVipTypeId, vipId);
+             AssoPersonVipType assoPersonVipType =this.getOne(queryWrapper,false);
+            expitrTime=assoPersonVipType.getExpitrTime();
+          TenantVipType tenantVipType =  tenantVipTypeService.getById(vipId);
+
+        personVipMessVO.setVipTypeName(tenantVipType.getTenantVipName());
+         personVipMessVO.setId(vipId);
+         personVipMessVO.setExpitrTime(expitrTime);
+        }
+        return  personVipMessVO;
     }
 }
 

+ 37 - 10
PCS/src/main/java/cn/cslg/permission/service/qiaobi/QiaoBiPersonService.java

@@ -1,6 +1,7 @@
 package cn.cslg.permission.service.qiaobi;
 
 import cn.cslg.permission.common.core.business.LoginCacheKeyUtil;
+import cn.cslg.permission.common.core.business.SmsService;
 import cn.cslg.permission.common.model.qiaobi.QiaoBiPersonSignUpDTO;
 import cn.cslg.permission.common.model.qiaobi.QiaoBiVipTypeDTO;
 import cn.cslg.permission.common.utils.RedisUtil;
@@ -29,25 +30,33 @@ public class QiaoBiPersonService {
     private RedisUtil redisUtil;
     @Autowired
     private AssoPersonVipTypeService assoPersonVipTypeService;
+    @Autowired
+    private SmsService smsService;
 
     @Transactional(rollbackFor = Exception.class)
-    public void personSignUp(QiaoBiPersonSignUpDTO qiaoBiPersonSignUpDTO) {
+    public QiaoBiPersonSignUpDTO personSignUp(QiaoBiPersonSignUpDTO qiaoBiPersonSignUpDTO) {
         String phoneNum = qiaoBiPersonSignUpDTO.getPhoneNum();
         String inviteCode = qiaoBiPersonSignUpDTO.getInviteCode();
         Integer vipTypeId = qiaoBiPersonSignUpDTO.getVipType();
         //验证参数是否正确
         this.checkMessage(qiaoBiPersonSignUpDTO);
-        this.checkPersonInvalid(phoneNum);
+        this.checkPersonInvalid(qiaoBiPersonSignUpDTO);
         //添加人员
-        personnelService.addPhoneSignUpPerson(qiaoBiPersonSignUpDTO);
+        qiaoBiPersonSignUpDTO = personnelService.addPhoneSignUpPerson(qiaoBiPersonSignUpDTO);
         //绑定版本
-        assoPersonVipTypeService.addVip(1, vipTypeId, 1);
+        assoPersonVipTypeService.addVip(qiaoBiPersonSignUpDTO.getId(), vipTypeId, null);
         //执行邀请逻辑
         if (inviteCode != null && !inviteCode.trim().equals("")) {
+            LambdaQueryWrapper<PersonInvitationCode> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(PersonInvitationCode::getInvitationCode, inviteCode);
+            PersonInvitationCode personInvitationCode = personInvitationCodeService.getOne(queryWrapper, false);
             //根据邀请码查找人员
-            Integer personId = Integer.parseInt(inviteCode);
+            Integer personId = personInvitationCode.getPersonId();
             assoPersonVipTypeService.lastPersonVip(personId);
         }
+        redisUtil.delete(LoginCacheKeyUtil.getLoginCaptcha(phoneNum));
+        smsService.sendQiaoBiMessage(qiaoBiPersonSignUpDTO.getPhoneNum(), qiaoBiPersonSignUpDTO.getPassword());
+        return qiaoBiPersonSignUpDTO;
     }
 
     /**
@@ -59,7 +68,7 @@ public class QiaoBiPersonService {
         String phoneNum = qiaoBiPersonSignUpDTO.getPhoneNum();
         Integer vipType = qiaoBiPersonSignUpDTO.getVipType();
         String phoneCode = qiaoBiPersonSignUpDTO.getPhoneCode();
-        String inviteCode = qiaoBiPersonSignUpDTO.getInviteCode().trim();
+        String inviteCode = qiaoBiPersonSignUpDTO.getInviteCode();
         if (phoneCode == null || phoneCode.trim().equals("")) {
             throw new XiaoShiException(ExceptionEnum.BUSINESS_CHECK, "验证码不可为空");
         }
@@ -77,7 +86,7 @@ public class QiaoBiPersonService {
         if (!phoneCode.equals(code)) {
             throw new XiaoShiException(ExceptionEnum.BUSINESS_CHECK, "验证码错误");
         }
-        if (inviteCode != null && !inviteCode.equals("")) {
+        if (inviteCode != null && !inviteCode.trim().equals("")) {
             LambdaQueryWrapper<PersonInvitationCode> queryWrapper = new LambdaQueryWrapper<>();
             queryWrapper.eq(PersonInvitationCode::getInvitationCode, inviteCode);
             PersonInvitationCode personInvitationCode = personInvitationCodeService.getOne(queryWrapper, false);
@@ -92,16 +101,34 @@ public class QiaoBiPersonService {
     /**
      * 校验用户是否已注册
      *
-     * @param phoneNum
+     * @param qiaoBiPersonSignUpDTO
      */
-    private void checkPersonInvalid(String phoneNum) {
+    private void checkPersonInvalid(QiaoBiPersonSignUpDTO qiaoBiPersonSignUpDTO) {
+        String phoneNum = qiaoBiPersonSignUpDTO.getPhoneNum();
+        String username = qiaoBiPersonSignUpDTO.getUsername();
+        String email = qiaoBiPersonSignUpDTO.getEmail();
         //根据手机号查询用户
         LambdaQueryWrapper<Personnel> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(Personnel::getPersonnelPhone, phoneNum);
+        if (username != null && !username.trim().equals("")) {
+            queryWrapper.or().eq(Personnel::getPersonnelUserName, username);
+        }
+        if (email != null && !email.trim().equals("")) {
+            queryWrapper.or().eq(Personnel::getPersonnelEmail, email);
+        }
         Personnel personnel = personnelService.getOne(queryWrapper, false);
         if (personnel != null) {
-            throw new XiaoShiException(ExceptionEnum.THE_PERSONNEL_IS_EXIST, "用户已存在");
+            if (phoneNum.equals(personnel.getPersonnelPhone())) {
+                throw new XiaoShiException(ExceptionEnum.THE_PERSONNEL_IS_EXIST, "手机号码已存在");
+            } else if (email != null && email.equals(personnel.getPersonnelEmail())) {
+                throw new XiaoShiException(ExceptionEnum.THE_PERSONNEL_IS_EXIST, "邮箱已存在");
+            } else if (username != null && username.equals(personnel.getPersonnelUserName())) {
+                throw new XiaoShiException(ExceptionEnum.THE_PERSONNEL_IS_EXIST, "账号已存在");
+
+            }
         }
+
+
     }
 
 }

+ 1 - 1
PCS/src/main/resources/mapper/AppVipTypeMapper.xml

@@ -6,7 +6,7 @@
 
 
     <select id="queryQiaobiVipTypeVOs" resultType="cn.cslg.permission.common.model.qiaobi.QiaoBiVIPTypeVO">
-        select vip.ID as id,vip.TENANT_VIP_NAME as vipTypeName from APP_VIP_TYPE as app left join TENANT_VIP_TYPE as vip on
+        select vip.ID as vipTypeId,vip.TENANT_VIP_NAME as vipTypeName from APP_VIP_TYPE as app left join TENANT_VIP_TYPE as vip on
         app.TENANT_VIP_TYPE_ID = vip.ID
         <where>
             app.APPLICATION_CODE =#{appCode}

+ 2 - 2
PCS/src/test/java/cn/cslg/permission/EncryptionPersonTest.java

@@ -34,8 +34,8 @@ public class EncryptionPersonTest {
     @Test
     public void test() throws Exception {
         EncryptionLoginDTO vo = new EncryptionLoginDTO();
-        vo.setUsername("gaochangkui-qy");
-        vo.setPassword("Xiaoshi221101*");
+        vo.setUsername("zhangsansan");
+        vo.setPassword("12343545");
         vo.setAppKey("4e95e3d926a2a4befa5d913acc0aa9f5");
 //        vo.setMachineCode("BDACEARQ1241241");
         vo.setMachineCode("BFEBFBFF000A0654");

+ 74 - 0
PCS/src/test/java/cn/cslg/permission/PersonTest.java

@@ -0,0 +1,74 @@
+package cn.cslg.permission;
+
+import cn.cslg.permission.common.core.business.LoginCacheKeyUtil;
+import cn.cslg.permission.common.model.qiaobi.QiaoBiPersonSignUpDTO;
+import cn.cslg.permission.common.model.qiaobi.QiaoBiVIPTypeVO;
+import cn.cslg.permission.common.model.qiaobi.QiaoBiVipTypeDTO;
+import cn.cslg.permission.common.utils.RandomUtil;
+import cn.cslg.permission.common.utils.RedisUtil;
+import cn.cslg.permission.domain.Personnel;
+import cn.cslg.permission.service.PersonnelService;
+import cn.cslg.permission.service.qiaobi.AppVipTypeService;
+import cn.cslg.permission.service.qiaobi.QiaoBiPersonService;
+import cn.hutool.crypto.SecureUtil;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.io.IOException;
+import java.util.List;
+
+@SpringBootTest
+@RunWith(SpringRunner.class)
+public class PersonTest {
+    @Autowired
+    private AppVipTypeService appVipTypeService;
+    @Autowired
+    private RedisUtil redisUtil;
+    @Autowired
+    private QiaoBiPersonService qiaoBiPersonService;
+    @Autowired
+    private PersonnelService personnelService;
+
+    @Test
+    public void uploadPersonnelConfigPCSTest2() throws IOException {
+        String phoneNum = "17625547167";
+        String random = RandomUtil.getSixRandom();
+        Integer vipTypeId = 19;
+        String email="2232141@qq.com";
+        String userName="zhangsansan";
+        String passWord ="12343545";
+        String name ="张赛男";
+        String intiteCode ="lDyp91RQ";
+        //手机号和验证码放进缓存 设置过期时间60s
+        redisUtil.set(LoginCacheKeyUtil.getLoginCaptcha(phoneNum), random);
+        QiaoBiPersonSignUpDTO qiaoBiPersonSignUpDTO = new QiaoBiPersonSignUpDTO();
+        qiaoBiPersonSignUpDTO.setPhoneNum(phoneNum);
+        qiaoBiPersonSignUpDTO.setVipType(vipTypeId);
+        qiaoBiPersonSignUpDTO.setPhoneCode(random);
+        qiaoBiPersonSignUpDTO.setEmail(email);
+        qiaoBiPersonSignUpDTO.setName(name);
+        qiaoBiPersonSignUpDTO.setUsername(userName);
+        qiaoBiPersonSignUpDTO.setPassword(passWord);
+        qiaoBiPersonSignUpDTO.setInviteCode(intiteCode);
+        QiaoBiPersonSignUpDTO qiaoBiPersonSignUpDTO1 = qiaoBiPersonService.personSignUp(qiaoBiPersonSignUpDTO);
+        Integer personId = qiaoBiPersonSignUpDTO1.getId();
+
+       Personnel personnel= personnelService.getById(personId);
+//        personnelService.removeById(qiaoBiPersonSignUpDTO1.getId());
+
+           Assert.assertEquals(personnel.getPersonnelUserName(),userName);
+        Assert.assertEquals(personnel.getPersonnelName(),name);
+     Assert.assertEquals(personnel.getPersonnelPhone(),phoneNum);
+Assert.assertEquals(personnel.getPersonnelEmail(),email);
+Assert.assertEquals(personnel.getPersonnelPassword(),SecureUtil.md5(passWord));
+    }
+
+    private void deletePerson(Integer personId) {
+
+
+    }
+}

+ 19 - 0
PCS/src/test/java/cn/cslg/permission/SmsServiceTest.java

@@ -0,0 +1,19 @@
+package cn.cslg.permission;
+
+import cn.cslg.permission.common.core.business.SmsService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@SpringBootTest
+@RunWith(SpringRunner.class)
+public class SmsServiceTest {
+    @Autowired
+    private SmsService smsService;
+    @Test
+    public void sendQiaoBiMessage( ) {
+        smsService.sendQiaoBiMessage("17625547167","123456");
+    }
+}