瀏覽代碼

添加内部接口

tianboguang 2 年之前
父節點
當前提交
b265c2ee65

+ 22 - 0
src/main/java/com/fdkankan/ucenter/common/AgentConstant.java

@@ -0,0 +1,22 @@
+package com.fdkankan.ucenter.common;
+
+public class AgentConstant {
+
+    public static final String CHILD_PASSWORD_VALUE = "4dkankan@4dage";
+
+    public static final String WIFI_PASSWORD_VALUE = "12345678";
+
+    public static final String DEFAULT_BODY = "系统赠送";
+
+    public static final int INIT_POINTS = 3399;
+
+    public static final float EXTRACT = 0.3f;
+
+    public static final String DEFAULT_AGENT = "4dage";
+
+    public static final int FAILURE_CODE_9001 = 9001;
+    public static final String FAILURE_MSG_9001 = "经销商已存在";
+
+    public static final int FAILURE_CODE_9002 = 9002;
+    public static final String FAILURE_MSG_9002 = "请先删除经销商下的用户";
+}

+ 4 - 2
src/main/java/com/fdkankan/ucenter/controller/CameraController.java

@@ -80,8 +80,10 @@ public class CameraController extends BaseController {
     @PostMapping("/add")
     @PostMapping("/add")
     public Result add(@RequestBody JSONObject jsonObject,@RequestHeader String token){
     public Result add(@RequestBody JSONObject jsonObject,@RequestHeader String token){
         String username = JwtUtil.getUsername(token);
         String username = JwtUtil.getUsername(token);
-        cameraService.bind(jsonObject.getInteger("cameraType"),jsonObject.getString("snCode"),username);
-        return Result.success();
+        List<String> existCodes = cameraService.bind(jsonObject.getInteger("cameraType"),jsonObject.getString("snCode"),username);
+        JSONObject object = new JSONObject();
+        object.put("errorSnCode",existCodes);
+        return Result.success(object);
     }
     }
 
 
     /**
     /**

+ 22 - 0
src/main/java/com/fdkankan/ucenter/controller/LoginController.java

@@ -12,6 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import java.util.List;
+
 
 
 /**
 /**
  * 登录
  * 登录
@@ -148,6 +150,26 @@ public class LoginController {
         return Result.success(loginService.loginClear(param));
         return Result.success(loginService.loginClear(param));
     }
     }
 
 
+    /**
+     *  注册
+     *  areaNum  区号
+     *  phoneNum 手机号码  (暂时不需要)
+     */
+    @PostMapping("/registerBatch")
+    public Result registerBatch(@RequestBody List<RegisterParam> paramList) throws Exception {
+        JSONObject object = new JSONObject();
+        object.put("successNum",loginService.registerBatch(paramList));
+        return Result.success(object);
+    }
+
+    /**
+     * 明文修改密码
+     */
+    @PostMapping("/changePwd")
+    public Result changePwd(@RequestBody JSONObject param,@RequestHeader String token) throws Exception {
+        loginService.changePwd(param,token);
+        return Result.success();
+    }
 
 
     /**
     /**
      *  测试使用 获取具体验证码
      *  测试使用 获取具体验证码

+ 3 - 0
src/main/java/com/fdkankan/ucenter/entity/Camera.java

@@ -83,5 +83,8 @@ public class Camera implements Serializable {
     @TableLogic(value = "A",delval = "I")
     @TableLogic(value = "A",delval = "I")
     private String recStatus;
     private String recStatus;
 
 
+    @TableField("is_out")
+    private Integer isOut;
+
 
 
 }
 }

+ 1 - 1
src/main/java/com/fdkankan/ucenter/service/ICameraService.java

@@ -30,7 +30,7 @@ public interface ICameraService extends IService<Camera> {
 
 
     void unbind(Long cameraId, String ids,String userName);
     void unbind(Long cameraId, String ids,String userName);
 
 
-    void bind(Integer cameraType, String snCode, String username);
+    List<String> bind(Integer cameraType, String snCode, String username);
 
 
     void saveCooperationUser(String ids, Long cameraId,String resourceIds, String username);
     void saveCooperationUser(String ids, Long cameraId,String resourceIds, String username);
 
 

+ 2 - 0
src/main/java/com/fdkankan/ucenter/service/IUserService.java

@@ -59,4 +59,6 @@ public interface IUserService extends IService<User> {
     CameraVo findCameraDetailByChildName(String token, String childName);
     CameraVo findCameraDetailByChildName(String token, String childName);
 
 
     void updateDownloadNum(long userId, int num);
     void updateDownloadNum(long userId, int num);
+
+    int registerBatch(List<RegisterParam> paramList);
 }
 }

+ 68 - 20
src/main/java/com/fdkankan/ucenter/service/impl/CameraServiceImpl.java

@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.constant.AppConstant;
 import com.fdkankan.common.constant.AppConstant;
+import com.fdkankan.common.constant.Constant;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.ucenter.common.AgentConstant;
+import com.fdkankan.ucenter.common.CameraTypeEnum;
 import com.fdkankan.ucenter.common.PageInfo;
 import com.fdkankan.ucenter.common.PageInfo;
 import com.fdkankan.common.util.DateUtil;
 import com.fdkankan.common.util.DateUtil;
 import com.fdkankan.common.util.FileSizeUtil;
 import com.fdkankan.common.util.FileSizeUtil;
@@ -242,39 +245,84 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     }
     }
 
 
     @Override
     @Override
-    public void bind(Integer cameraType, String snCodes, String username) {
+    public List<String> bind(Integer cameraType, String snCodes, String username) {
         User user = userService.getByUserName(username);
         User user = userService.getByUserName(username);
         String[] snCodeArr = snCodes.split(",");
         String[] snCodeArr = snCodes.split(",");
         List<String> snCodeList = Arrays.asList(snCodeArr);
         List<String> snCodeList = Arrays.asList(snCodeArr);
+        List<String> existCodes = inCameraAndIncrement(user.getId(), snCodeList);
+
         LambdaUpdateWrapper<Camera> wrapper = new LambdaUpdateWrapper<>();
         LambdaUpdateWrapper<Camera> wrapper = new LambdaUpdateWrapper<>();
         wrapper.in(Camera::getSnCode,snCodeList);
         wrapper.in(Camera::getSnCode,snCodeList);
         List<Camera> list = this.list(wrapper);
         List<Camera> list = this.list(wrapper);
-        if(list.size() <=0){
-            throw new BusinessException(AppConstant.FAILURE_CODE_4010, snCodes +"-"+ AppConstant.FAILURE_MSG_4010);
-        }
-        List<String> dbSnCode = list.stream().map(Camera::getSnCode).collect(Collectors.toList());
-        for (String code : snCodeList) {
-            if(!dbSnCode.contains(code)){
-                throw new BusinessException(AppConstant.FAILURE_CODE_4010, code +"-"+ AppConstant.FAILURE_MSG_4010);
-            }
-        }
-        Map<Long, Camera> cameraHashMap = list.stream().collect(Collectors.toMap(Camera::getId, camera -> camera, (o1, o2) -> o1));
-        List<Long> cameraIds = new ArrayList<>(cameraHashMap.keySet());
-        HashMap<Long, CameraDetail> detailHashMap = cameraDetailService.getByCameraIds(cameraIds);
-        for (CameraDetail detail : detailHashMap.values()) {
-            if(detail.getUserId() != null){
-                throw new BusinessException(CameraConstant.FAILURE_CODE_6010, cameraHashMap.get(detail.getCameraId()).getSnCode() +"-"+ CameraConstant.FAILURE_MSG_6010);
-            }
-        }
+        List<Long> cameraIds = list.parallelStream().map(Camera::getId).collect(Collectors.toList());
 
 
         cameraDetailService.bindCamera(cameraIds,user.getId());
         cameraDetailService.bindCamera(cameraIds,user.getId());
         sceneService.bindOrUnCamera(cameraIds,user.getId());
         sceneService.bindOrUnCamera(cameraIds,user.getId());
         sceneProService.bindOrUnCamera(cameraIds,user.getId());
         sceneProService.bindOrUnCamera(cameraIds,user.getId());
         scenePlusService.bindOrUnCamera(cameraIds,user.getId());
         scenePlusService.bindOrUnCamera(cameraIds,user.getId());
 
 
-        if("local".equals(NacosProperty.uploadType)){   //局域网绑定相机,添加权益
-            userIncrementService.addByCameraAndUser(cameraIds,user.getId());
+        return existCodes;
+    }
+
+    public List<String> inCameraAndIncrement(Long userId, List<String> snCodeList) {
+        if(snCodeList.size() <=0){
+            return snCodeList;
+        }
+        LambdaQueryWrapper<Camera> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(Camera::getSnCode,snCodeList);
+        List<Camera> cameraList =  list(wrapper);
+        List<String> inSnCodeList = new ArrayList<>();
+        if(cameraList.size() >0){
+            inSnCodeList = cameraList.parallelStream().map(Camera::getSnCode).collect(Collectors.toList());
+        }
+        for (String snCode : snCodeList) {
+            if(inSnCodeList.contains(snCode)){
+                continue;
+            }
+            Camera camera = new Camera();
+            camera.setWifiName(CameraTypeEnum.DOUBLE_EYE_TURN.getWifiNamePrefix() + snCode);
+            camera.setSnCode(snCode);
+            camera.setChildName(snCode);
+            camera.setWifiPassword(AgentConstant.WIFI_PASSWORD_VALUE);
+            camera.setChildPassword(AgentConstant.CHILD_PASSWORD_VALUE);
+            camera.setActivatedTime(DateUtil.date2String(new Date(),null));
+            camera.setIsOut(1);
+            camera.setRecStatus("A");
+            camera.setCreateTime(DateUserUtil.getDate(new Date()));
+            camera.setUpdateTime(DateUserUtil.getDate(new Date()));
+            save(camera);
+
+            CameraDetail detailEntity = new CameraDetail();
+            detailEntity.setCameraId(camera.getId());
+            detailEntity.setAgency(AgentConstant.DEFAULT_AGENT);
+            detailEntity.setCountry(0);//默认中国
+            detailEntity.setType(CameraTypeEnum.DOUBLE_EYE_TURN.getType());
+            //商品类型,type:1为8目,type:2为双目 3:为转台
+            detailEntity.setGoodsId((long) CameraTypeEnum.DOUBLE_EYE_TURN.getType());
+            detailEntity.setTotalSpace(Long.valueOf(Constant.CAMERA_BASE_SPACE_VALUE));
+            detailEntity.setUsedSpace(0L);
+            detailEntity.setRecStatus("A");
+            detailEntity.setCreateTime(DateUserUtil.getDate(new Date()));
+            detailEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
+            detailEntity.setLastRequestTime(new Date());
+            detailEntity.setOrderSn("");
+            detailEntity.setOwn(0);
+            cameraDetailService.save(detailEntity);
+
+            UserIncrement userIncrement = new UserIncrement();
+            userIncrement.setCameraId(camera.getId());
+            userIncrement.setKeyWord(UUID.randomUUID().toString().replace("-", ""));
+            userIncrement.setUserId(userId);
+            userIncrement.setOrderSn("gh_"+camera.getId());
+            userIncrement.setIncrementStartTime(DateUserUtil.getDate(new Date()));
+            userIncrement.setIncrementEndTime("2100-01-01 00:00:00");
+            userIncrement.setIsExpired(0);
+            userIncrement.setRecStatus("A");
+            userIncrement.setCreateTime(DateUserUtil.getDate(new Date()));
+            userIncrement.setUpdateTime(DateUserUtil.getDate(new Date()));
+            userIncrementService.save(userIncrement);
         }
         }
+        return inSnCodeList;
     }
     }
 
 
     @Override
     @Override

+ 37 - 0
src/main/java/com/fdkankan/ucenter/service/impl/LoginService.java

@@ -32,6 +32,7 @@ import com.fdkankan.ucenter.vo.response.LoginVo;
 import com.fdkankan.ucenter.vo.response.UserVo;
 import com.fdkankan.ucenter.vo.response.UserVo;
 import java.util.Date;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -311,8 +312,44 @@ public class LoginService {
         }
         }
     }
     }
 
 
+    public int registerBatch(List<RegisterParam> paramList) {
+        for (RegisterParam param : paramList) {
+            if(param == null){
+                continue;
+            }
+            if(StringUtils.isEmpty(param.getPhoneNum())){
+                continue;
+            }
+            if(StringUtils.isEmpty(param.getPassword())){
+                param.setPassword("QCzj123456");
+            }
+            if(StringUtils.isEmpty(param.getNickName())){
+                param.setNickName(param.getPhoneNum());
+            }
+            if(StringUtils.isEmpty(param.getCountry())){
+                param.setCountry("86");
+            }
+        }
+        return userService.registerBatch(paramList);
+    }
+
     public LoginVo loginClear(LoginParam param) {
     public LoginVo loginClear(LoginParam param) {
         param.setClear("YES");  //明文登录
         param.setClear("YES");  //明文登录
         return login(param);
         return login(param);
     }
     }
+
+    public void changePwd(JSONObject param,String token) {
+        String oldPassword = param.getString("oldPassword");
+        String newPassword = param.getString("newPassword");
+        User user = userService.getByToken(token);
+        if (StringUtils.isEmpty(oldPassword) || StringUtils.isEmpty(newPassword)){
+            throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
+        }
+        //正则判断密码是否符合规则(8位以上并且数字英文组合)
+        if(!newPassword.matches(ConstantRegex.PASSWORD_REGEX)){
+            throw new BusinessException(LoginConstant.FAILURE_CODE_3011, LoginConstant.FAILURE_MSG_3011);
+        }
+        String pwdMd5 = SecurityUtil.MD5(newPassword);
+        userService.updatePassword(user.getUserName(), pwdMd5);
+    }
 }
 }

+ 22 - 0
src/main/java/com/fdkankan/ucenter/service/impl/UserServiceImpl.java

@@ -108,6 +108,28 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
     }
     }
 
 
     @Override
     @Override
+    public int registerBatch(List<RegisterParam> paramList) {
+        List<User> users = new ArrayList<>();
+        for (RegisterParam param : paramList) {
+            User userEntity = new User();
+            userEntity.setPassword(SecurityUtil.MD5(param.getPassword()));
+            userEntity.setEmail(param.getEmail());
+            userEntity.setUserName(param.getPhoneNum());
+            userEntity.setNickName(param.getNickName());
+            userEntity.setHead(ConstantUrl.DEFAULT_USER_HEAD);
+            userEntity.setCountry(param.getCountry());
+            userEntity.setStatus(1);
+            userEntity.setIsNotice(1);
+            userEntity.setRecStatus("A");
+            userEntity.setCreateTime(DateUserUtil.getDate(new Date()));
+            userEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
+            users.add(userEntity);
+        }
+        this.saveBatch(users);
+        return users.size();
+    }
+
+    @Override
     public void updatePassword(String phoneNum, String password) {
     public void updatePassword(String phoneNum, String password) {
         LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
         LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
         wrapper.set(User::getPassword,password)
         wrapper.set(User::getPassword,password)

+ 1 - 0
src/main/java/com/fdkankan/ucenter/vo/request/RegisterParam.java

@@ -13,4 +13,5 @@ public class RegisterParam {
 
 
     private String clear;
     private String clear;
 
 
+    private String nickName;
 }
 }