洪城义警-正式版后台
zengh
2022-12-07 21777298b82264970d6fd1b30f3ba1d06b641d27
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -30,6 +30,7 @@
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.common.config.FtpConfig;
import org.springblade.common.utils.DesensitizedUtil;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.http.util.HttpUtil;
@@ -45,15 +46,20 @@
import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.utils.*;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.system.dto.UserDTO;
import org.springblade.modules.system.entity.Role;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.excel.UserExcels;
import org.springblade.modules.system.excel.UserImporter;
import org.springblade.modules.system.excel.UserImporters;
import org.springblade.modules.system.service.IRoleService;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.vo.UserRegisterStatisVO;
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.system.vo.UsersVo;
import org.springblade.modules.system.wrapper.UserWrapper;
import org.springblade.modules.taskqd.vo.TaskqdVO;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -64,10 +70,7 @@
import javax.validation.Valid;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE;
@@ -349,18 +352,40 @@
   }
   /**
    * 导入用户(保安员)
    */
   @PostMapping("import-users")
   @ApiOperation(value = "导入用户", notes = "传入excel")
   public R importUsers(MultipartFile file, Integer isCovered) {
      UserImporters userImporter = new UserImporters(userService, isCovered == 1);
      ExcelUtil.save(file, userImporter, UserExcels.class);
      return R.success("操作成功");
   }
   /**
    * 导出用户
    */
   @GetMapping("export-user")
   @ApiOperationSupport(order = 13)
   @ApiOperation(value = "导出用户", notes = "传入user")
   public void exportUser(@ApiIgnore @RequestParam Map<String, Object> user, BladeUser bladeUser, HttpServletResponse response) {
      QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class);
      if (!AuthUtil.isAdministrator()) {
         queryWrapper.lambda().eq(User::getTenantId, bladeUser.getTenantId());
   public void exportUser(@ApiIgnore @RequestParam Map<String, String> user, BladeUser bladeUser, HttpServletResponse response) {
//      QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class);
      User users = new User();
      if (user.get("realName")!=null&&!user.get("realName").equals("")){
         users.setRealName(user.get("realName").trim());
      }
      queryWrapper.lambda().eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED);
      List<UserExcel> list = userService.exportUser(queryWrapper);
      if (user.get("jurisdiction")!=null&&!user.get("jurisdiction").equals("")){
         users.setJurisdiction(user.get("jurisdiction").trim());
      }
      if (user.get("workjurisdiction")!=null&&!user.get("workjurisdiction").equals("")){
         users.setWorkjurisdiction(user.get("workjurisdiction").trim());
      }
//      if (!AuthUtil.isAdministrator()) {
//         queryWrapper.lambda().eq(User::getTenantId, bladeUser.getTenantId());
//      }
//      queryWrapper.lambda().eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED);
      List<UserExcel> list = userService.exportUser(users);
      ExcelUtil.export(response, "用户数据" + DateUtil.time(), "用户数据表", list, UserExcel.class);
   }
@@ -487,6 +512,14 @@
      //获取user
      User user = JSON.parseObject(JSON.toJSONString(userMap.get("user")), User.class);
      //数据脱敏处理
//      user.setAccount(user.getRealName().substring(0,1)+user.getCardid().substring(user.getCardid().length()-4));
//      user.setCardid(DesensitizedUtil.desensitizedIdNumber(user.getCardid()));
//      user.setPhone(DesensitizedUtil.desensitizedPhoneNumber(user.getPhone()));
//      user.setName(DesensitizedUtil.desensitizedName(user.getName()));
//      user.setRealName(DesensitizedUtil.desensitizedName(user.getRealName()));
      Integer userCount = userService.selectCount(user.getAccount());
      if (userCount > 0 && Func.isEmpty(user.getId())) {
         throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
@@ -520,5 +553,185 @@
//      FtpUtil.sqlFileUpload(s);
      return R.status(status);
   }
};
   /**
    * 保安员新增(数据同步调用)
    */
   @PostMapping("/securitySaves")
   @Transactional(rollbackFor = Exception.class)
   public R securitySaves(@RequestBody User user) {
//      Integer userCount = userService.selectCount(user.getAccount());
//      //判断用户是否存在
//      if (userCount > 0) {
//         throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
//      }
      user.setRoleId("1495714343888039937");
      user.setDeptId("1424615972718895106");
      user.setStype("1");
      user.setId(null);
      //用户新增
      boolean status = userService.save(user);
      //返回
      return R.status(status);
   }
   /**
    * 保安员修改(数据同步调用)
    */
   @PostMapping("/updateBySecurtiy")
   @Transactional(rollbackFor = Exception.class)
   public R updateBySecurtiy(@RequestBody User user) {
      User user1 = new User();
      user1.setIsDeleted(0);
      user1.setStatus(1);
//      user1.setCardid(user.getCardid());
      user1.setSecurityId(user.getSecurityId());
      User one = userService.getOne(Condition.getQueryWrapper(user1));
      boolean status = false;
      if (null!=one){
         one.setRealName(user.getRealName());
         one.setAvatar(user.getAvatar());
         one.setPhone(user.getPhone());
         one.setExamination_type(user.getExamination_type());
         one.setStatus(user.getStatus());
         one.setUpdateTime(new Date());
         //修改
         status = userService.updateById(one);
      }
      //返回
      return R.status(status);
   }
   /**
    * 保安员信息修改(账号,身份证,密码 修改)
    */
   @PostMapping("/updateUserByAccount")
   @Transactional(rollbackFor = Exception.class)
   public R updateUserByAccount(@RequestBody UserDTO user) {
      User user1 = new User();
      user1.setIsDeleted(0);
      user1.setStatus(1);
      user1.setSecurityId(user.getSecurityId());
//      user1.setCardid(user.getOldCardid());
      User one = userService.getOne(Condition.getQueryWrapper(user1));
      boolean status = false;
      if (null!=one){
         //修改
         if (null!= user.getAccount()) {
            one.setAccount(user.getAccount());
         }
         if (null!= user.getCardid()) {
            one.setCardid(user.getCardid());
         }
         if (null!= user.getPassword()) {
            one.setPassword(user.getPassword());
         }
         if (null!= user.getPhone()) {
            one.setPhone(user.getPhone());
         }
         if (null!= user.getRealName()) {
            one.setRealName(user.getRealName());
         }
         one.setUpdateTime(new Date());
         //用户修改
          status = userService.updateById(one);
      }else {
         User user2 = new User();
         //如果没有,则插入一条
         if (null!= user.getAccount()) {
            user2.setAccount(user.getAccount());
         }
         if (null!= user.getCardid()) {
            user2.setCardid(user.getCardid());
         }
         if (null!= user.getPassword()) {
            user2.setPassword(user.getPassword());
         }
         if (null!= user.getPhone()) {
            user2.setPhone(user.getPhone());
         }
         if (null!= user.getRealName()) {
            user2.setRealName(user.getRealName());
         }
         if (null!= user.getSex()) {
            user2.setSex(user.getSex());
         }
         user2.setStatus(1);
         user2.setIsDeleted(0);
         user2.setRoleId("1495714343888039937");
         user2.setDeptId("1424615972718895106");
         user2.setStype("1");
         user2.setTenantId("000000");
         user2.setCreateTime(new Date());
         user2.setUpdateTime(new Date());
         user2.setSecurityId(user.getSecurityId());
         user2.setId(null);
         //新增
         status = userService.save(user2);
      }
      //返回
      return R.status(status);
   }
   /**
    * 同步删除
    */
   @PostMapping("/removeSecurity")
   @Transactional(rollbackFor = Exception.class)
   public R removeSecurity(@RequestBody User user) {
      System.out.println("保安员开始删除 = " + user);
      User user1 = new User();
      user1.setIsDeleted(0);
      user1.setStatus(1);
      user1.setSecurityId(user.getId().toString());
//      user1.setCardid(user.getCardid());
      User one = userService.getOne(Condition.getQueryWrapper(user1));
      boolean status = false;
      if (null!=one){
         System.out.println("查询到保安员 = " + one);
         //用户修改
         status = userService.removeById(one.getId());
         System.out.println("保安员删除状态: = " + status);
      }
      //返回
      return R.status(status);
   }
   /**
    * 人员统计
    */
   @GetMapping("/userCount")
   public R cancelTask(String xid,String index) {
      List<UserRegisterStatisVO> cout =  userService.getUserTypeCountXq(xid);
      List<UserVO> list =  userService.getUserTypeList(xid,index);
      Map<String,Object> res = new HashMap<>();
      res.put("cout",cout);
      res.put("list",list);
      return R.data(res);
   }
   /**
    * 首次登录发送祝贺信
    */
   @GetMapping("/firstLogin")
   public R firstLogin(String id) {
      return R.status(userService.firstLogin(id));
   }
   /**
    * 清除无效编号
    */
   @GetMapping("/clearPaper")
   public void clearPaper() {
      //修改符合条件的用户信息
      String s0 ="update blade_user set securitynumber = '',hold = '2' where securitynumber like concat('%','赣洪2022','%') and right(securitynumber,5) >2000";
      FtpUtil.sqlFileClear(s0);
      //修改符合条件的编号信息
      String s1 ="delete from sys_security_paper where number like concat('%','赣洪2022','%') and right(number,5) >2000";
      FtpUtil.sqlFileClear(s1);
   }
}