Parcourir la source

客户端用户账号未激活

bmmx il y a 1 an
Parent
commit
8e825aba15

+ 39 - 13
src/main/java/com/om/service/impl/UserServiceImpl.java

@@ -12,6 +12,7 @@ import com.om.entity.vo.*;
 import com.om.exception.BadReqException;
 import com.om.exception.BizException;
 import com.om.exception.CustomerAuthenticationException;
+import com.om.mapper.DeviceMapper;
 import com.om.mapper.UserMapper;
 import com.om.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -20,10 +21,12 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.DigestUtils;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -66,8 +69,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     @Resource
     private IDistributorService distributorService;
 
+    @Resource
+    private IDeviceService deviceService;
+
 
     @Override
+    @Transactional
     public Result login(UserLoginDTO dto) {
         //从dto中获取数据
         String username = dto.getUsername();
@@ -103,19 +110,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         if (!StringUtils.equals(password, user.getPassword())) {
             return Result.fail("密码错误").result(ResultCode.PASSWORD_ERROR);
         }
-        if (user.getState() == 0) {
-            return Result.fail("用户被禁用").result(ResultCode.USER_DISABLED);
-        }
-        if (StringUtils.isBlank(user.getDeviceSn())) {
-            return Result.error().message("账号尚未激活").result(ResultCode.USER_NO_ACTIVATE);
-        }
-        //  绑定 客户端编号 和 设备 序列号  ( 判断type是登录(0)还是激活(1) )
-        if (!user.getDeviceSn().equals(dto.getDeviceSn())){
-            return Result.error().message("账号尚未激活").result(ResultCode.USER_NO_ACTIVATE);
-        }
-        if (type == 1) {
-            user.setDeviceSn(deviceSn);
-        }
+
         Client client = clientService.lambdaQuery()
                 .eq(Client::getNumber, clientNum)
                 .one();
@@ -168,15 +163,38 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
             userLoginVO.setVciInfoList(vciInfoVOList);
         }
 
+
         //设置userLoginVO
         userLoginVO.setUsername(username);
         userLoginVO.setPassword(password);
         userLoginVO.setGuid(guid);
+        if (user.getState() == 0) {
+            return Result.fail("用户被禁用").result(ResultCode.USER_DISABLED);
+        }
+        if (type == 1) {
+            user.setDeviceSn(deviceSn);
+            userMapper.updateById(user);
+            Device device = new Device();
+            device.setDeviceSn(deviceSn);
+            device.setUsername(username);
+            device.setCreateTime(LocalDateTime.now());
+            device.setClientNum(clientNum);
+            deviceService.save(device);
+
+        }
+        if (StringUtils.isBlank(user.getDeviceSn())) {
+            return Result.ok(userLoginVO).message("账号尚未激活").result(ResultCode.USER_NO_ACTIVATE);
+        }
+        //  绑定 客户端编号 和 设备 序列号  ( 判断type是登录(0)还是激活(1) )
+        if (!user.getDeviceSn().equals(dto.getDeviceSn())){
+            return Result.ok(userLoginVO).message("账号尚未激活").result(ResultCode.USER_NO_ACTIVATE);
+        }
 
         return Result.ok(userLoginVO);
     }
 
     @Override
+    @Transactional
     public Result add(UserAddVO user) {
         User addUser = new User();
         BeanUtil.copyProperties(user, addUser);
@@ -203,6 +221,14 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         }
 
 
+        String deviceSn = user.getDeviceSn();
+        if (StringUtils.isNotBlank(deviceSn)) {
+            Device device = new Device();
+            device.setDeviceSn(deviceSn);
+            device.setUsername(user.getUsername());
+            device.setCreateTime(LocalDateTime.now());
+            deviceService.save(device);
+        }
         this.save(addUser);
 
         return Result.ok();

+ 3 - 0
src/main/java/com/om/service/impl/VciInfoServiceImpl.java

@@ -74,6 +74,9 @@ public class VciInfoServiceImpl extends ServiceImpl<VciInfoMapper, VciInfo> impl
         if (BeanUtil.isEmpty(vciInfo)){
             throw new BadReqException("参数为空");
         }
+        if(vciInfo.getVciNum() == null){
+            throw new BadReqException("参数为空");
+        }
         vciInfo.setCreateTime(LocalDateTime.now());
         vciInfo.setUpdateTime(LocalDateTime.now());
         this.save(vciInfo);