|
@@ -1,15 +1,26 @@
|
|
|
package com.fdkankan.manage.service.impl;
|
|
|
+import java.util.*;
|
|
|
|
|
|
+import cn.dev33.satoken.stp.StpUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fdkankan.common.util.Base64Converter;
|
|
|
+import com.fdkankan.common.util.SecurityUtil;
|
|
|
+import com.fdkankan.manage.common.CacheUtil;
|
|
|
+import com.fdkankan.manage.common.OssPath;
|
|
|
import com.fdkankan.manage.common.ResultCode;
|
|
|
+import com.fdkankan.manage.entity.CameraDetail;
|
|
|
+import com.fdkankan.manage.entity.SysUser;
|
|
|
+import com.fdkankan.manage.entity.UserIncrement;
|
|
|
import com.fdkankan.manage.exception.BusinessException;
|
|
|
import com.fdkankan.manage.common.PageInfo;
|
|
|
import com.fdkankan.manage.entity.User;
|
|
|
import com.fdkankan.manage.httpClient.service.LaserService;
|
|
|
import com.fdkankan.manage.mapper.IUserMapper;
|
|
|
import com.fdkankan.manage.service.*;
|
|
|
+import com.fdkankan.manage.util.Dateutils;
|
|
|
import com.fdkankan.manage.vo.request.SceneParam;
|
|
|
import com.fdkankan.manage.vo.request.UserIncrementParam;
|
|
|
import com.fdkankan.manage.vo.request.UserParam;
|
|
@@ -17,12 +28,9 @@ import com.fdkankan.manage.vo.response.UserVo;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -48,6 +56,10 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
|
|
|
private IScenePlusService scenePlusService;
|
|
|
@Autowired
|
|
|
private LaserService laserService;
|
|
|
+ @Autowired
|
|
|
+ private ISysUserService sysUserService;
|
|
|
+ @Value("${fyun.host:https://4dkk.4dage.com/}")
|
|
|
+ private String host;
|
|
|
|
|
|
@Override
|
|
|
public PageInfo pageList(UserParam param) {
|
|
@@ -92,20 +104,33 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
|
|
|
List<UserVo> voList = new ArrayList<>();
|
|
|
if(userList.size() >0){
|
|
|
List<Long> userIdList = userList.parallelStream().map(User::getId).collect(Collectors.toList());
|
|
|
+ Set<Long> sysUserIds = userList.stream().map(User::getSysUserId).collect(Collectors.toSet());
|
|
|
+ HashMap<Long, SysUser> sysMap = sysUserService.getByIds(sysUserIds);
|
|
|
+
|
|
|
HashMap<Long,Long> incrementCountMap = userIncrementService.getValidCountGroupByUserId(userIdList);
|
|
|
HashMap<Long,Long> cameraCountMap = cameraDetailService.getCountGroupByUserId(userIdList);
|
|
|
HashMap<Long,Long> sceneCountMap = sceneService.getCountGroupByUserId(userIdList);
|
|
|
- HashMap<Long,Long> sceneProCountMap = sceneProService.getCountGroupByUserId(userIdList);
|
|
|
- HashMap<Long,Long> scenePlusCountMap = scenePlusService.getCountGroupByUserId(userIdList);
|
|
|
+ HashMap<Long,Long> sceneProCountMap = sceneProService.getCountGroupByUserId(userIdList,0);
|
|
|
+ HashMap<Long,Long> scenePlusCountMap = scenePlusService.getCountGroupByUserId(userIdList,0);
|
|
|
+ // HashMap<Long,Long> sceneProCountObjMap = sceneProService.getCountGroupByUserId(userIdList,1);
|
|
|
+ // HashMap<Long,Long> scenePlusCountObjMap = scenePlusService.getCountGroupByUserId(userIdList,1);
|
|
|
+
|
|
|
for (User user :userList) {
|
|
|
long incrementCount = incrementCountMap.get(user.getId()) == null ? 0 : incrementCountMap.get(user.getId());
|
|
|
long cameraCount = cameraCountMap.get(user.getId()) == null ? 0 : cameraCountMap.get(user.getId());
|
|
|
long sceneCount = sceneCountMap.get(user.getId()) == null ? 0 : sceneCountMap.get(user.getId());
|
|
|
long sceneProCount = sceneProCountMap.get(user.getId()) == null ? 0 : sceneProCountMap.get(user.getId());
|
|
|
long scenePlusCount = scenePlusCountMap.get(user.getId()) == null ? 0 : scenePlusCountMap.get(user.getId());
|
|
|
- SceneParam param = new SceneParam();
|
|
|
- param.setUserName(user.getUserName());
|
|
|
- PageInfo pageInfo = laserService.pageList(param);
|
|
|
+ // long sceneProObjCount = sceneProCountObjMap.get(user.getId()) == null ? 0 : sceneProCountObjMap.get(user.getId());
|
|
|
+ // long scenePlusObjCount = scenePlusCountObjMap.get(user.getId()) == null ? 0 : scenePlusCountObjMap.get(user.getId());
|
|
|
+
|
|
|
+ Long ssNum = 0L;
|
|
|
+ if(!CacheUtil.uploadType.equals("local")){
|
|
|
+ SceneParam param = new SceneParam();
|
|
|
+ param.setUserName(user.getUserName());
|
|
|
+ PageInfo pageInfo = laserService.pageList(param);
|
|
|
+ ssNum = pageInfo.getTotal();
|
|
|
+ }
|
|
|
|
|
|
UserVo vo = new UserVo();
|
|
|
BeanUtils.copyProperties(user,vo);
|
|
@@ -113,7 +138,13 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
|
|
|
vo.setIncrementCount(incrementCount);
|
|
|
vo.setSurDownNum(user.getDownloadNumTotal() - user.getDownloadNum());
|
|
|
vo.setCameraCount(cameraCount);
|
|
|
- vo.setSceneNum(sceneCount + sceneProCount + scenePlusCount + pageInfo.getTotal());
|
|
|
+ vo.setSceneNum(sceneCount + sceneProCount + scenePlusCount + ssNum);
|
|
|
+ if(user.getSysUserId() != null){
|
|
|
+ SysUser sysUser = sysMap.get(user.getSysUserId());
|
|
|
+ if(sysUser != null){
|
|
|
+ vo.setSysUserName(sysUser.getNickName());
|
|
|
+ }
|
|
|
+ }
|
|
|
voList.add(vo);
|
|
|
}
|
|
|
}
|
|
@@ -145,4 +176,81 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public synchronized void addUcenterUser(UserParam param) {
|
|
|
+ if(StringUtils.isBlank(param.getUserName()) || StringUtils.isBlank(param.getNickName()) || StringUtils.isBlank(param.getPassword())){
|
|
|
+ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
+ }
|
|
|
+ Boolean ubo = this.checkUserName(param.getUserName());
|
|
|
+ if(ubo){
|
|
|
+ throw new BusinessException(ResultCode.USER_EXIST);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ String passwordMd5 = SecurityUtil.MD5(Base64Converter.decode(Base64Converter.subText(param.getPassword())));
|
|
|
+ User user = new User();
|
|
|
+ user.setHead(host + OssPath.default_head);
|
|
|
+ user.setPassword(passwordMd5);
|
|
|
+ user.setStatus(1);
|
|
|
+ user.setIsNotice(1);
|
|
|
+ user.setRegisterTime(new Date());
|
|
|
+ user.setUserName(param.getUserName());
|
|
|
+ user.setNickName(param.getNickName());
|
|
|
+ user.setCountry("86");
|
|
|
+ user.setDownloadNumTotal(1000);
|
|
|
+ user.setDownloadNum(0);
|
|
|
+ user.setCreateTime(Dateutils.getDate(new Date()));
|
|
|
+ user.setRecStatus("A");
|
|
|
+ user.setUpdateTime(Dateutils.getDate(new Date()));
|
|
|
+ user.setSysUserId(Long.valueOf((String) StpUtil.getLoginId()));
|
|
|
+ this.save(user);
|
|
|
+
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("ReUcenterUserPassword:error",e);
|
|
|
+ throw new BusinessException(ResultCode.PASSWORD_ERROR_G);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void delUcenterUser(UserParam userParam) {
|
|
|
+ if(userParam.getId() == null){
|
|
|
+ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
+ }
|
|
|
+ List<CameraDetail> list = cameraDetailService.getByUserId(userParam.getId());
|
|
|
+ if(list != null && list.size() >0){
|
|
|
+ throw new BusinessException(ResultCode.DEL_UCENTER_ERROR);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.removeById(userParam.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void ReUcenterUserPassword(UserParam userParam) {
|
|
|
+ if(userParam.getId() == null || StringUtils.isBlank(userParam.getNewPassword())){
|
|
|
+ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ String passwordMd5 = SecurityUtil.MD5(Base64Converter.decode(Base64Converter.subText(userParam.getNewPassword())));
|
|
|
+ LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
|
|
|
+ wrapper.eq(User::getId,userParam.getId());
|
|
|
+ wrapper.set(User::getPassword,passwordMd5);
|
|
|
+ this.update(wrapper);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("ReUcenterUserPassword:error",e);
|
|
|
+ throw new BusinessException(ResultCode.PASSWORD_ERROR_G);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void updateUcenterUser(UserParam userParam) {
|
|
|
+ if(userParam.getId() == null || StringUtils.isBlank(userParam.getNickName())){
|
|
|
+ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
+ }
|
|
|
+ LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
|
|
|
+ wrapper.eq(User::getId,userParam.getId());
|
|
|
+ wrapper.set(User::getNickName,userParam.getNickName());
|
|
|
+ this.update(wrapper);
|
|
|
+ }
|
|
|
}
|