智慧保安后台管理-外网项目备份
Administrator
2021-09-27 345d17cf82e1bbc1fbfbeec10193c2bed59cd674
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -17,8 +17,11 @@
package org.springblade.modules.system.controller;
import com.alibaba.excel.EasyExcel;
import com.aliyun.oss.ServiceException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -26,8 +29,11 @@
import io.swagger.annotations.ApiParam;
import com.alibaba.fastjson.JSON;
import lombok.AllArgsConstructor;
import org.apache.commons.codec.Charsets;
import org.springblade.common.cache.DictCache;
import org.springblade.common.config.FtpConfig;
import org.springblade.common.enums.DictEnum;
import org.springblade.common.excel.RowWriteHandler;
import org.springblade.common.utils.arg;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.excel.util.ExcelUtil;
@@ -42,10 +48,7 @@
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.DigestUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.core.tool.utils.*;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.experience.entity.Experience;
import org.springblade.modules.experience.service.IExperienceService;
@@ -64,17 +67,17 @@
import org.springblade.modules.system.vo.DeptVO;
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.system.wrapper.UserWrapper;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE;
@@ -166,8 +169,8 @@
   @ApiOperation(value = "列表", notes = "传入account和realName")
   //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
      IPage<User> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
      return R.data(UserWrapper.build().pageVO(pages));
      IPage<UserVO> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
      return R.data(pages);
   }
   /**
@@ -180,41 +183,46 @@
   public R submit(@Valid @RequestBody User user) throws Exception {
      CacheUtil.clear(USER_CACHE);
      //查询角色
      if (null!=user.getRoleId()){
         Role role = new Role();
         role.setId(Long.parseLong(user.getRoleId()));
         Role one = roleService.getOne(Condition.getQueryWrapper(role));
         if (one.getRoleAlias().equals("保安")){
            user.setHold("1");
         }
         if (one.getRoleAlias().equals("未持证保安")){
            user.setHold("2");
         }
      }
//      if (null!=user.getRoleId()){
//         Role role = new Role();
//         role.setId(Long.parseLong(user.getRoleId()));
//         Role one = roleService.getOne(Condition.getQueryWrapper(role));
//         if (one.getRoleAlias().equals("保安")){
//            user.setHold("1");
//         }
//         if (one.getRoleAlias().equals("未持证保安")){
//            user.setHold("2");
//         }
//      }
      //根据 deptId 查询dept信息,公安管理员
      Dept dept = iDeptService.getById(user.getDeptId());
      Long sid = 1123598813738675201L;
      if (dept.getParentId().equals(sid)){
         //获取辖区的数据
         Jurisdiction jurisdiction = new Jurisdiction();
         jurisdiction.setDeptName(dept.getDeptName());
         Jurisdiction one = jurisdictionService.getOne(Condition.getQueryWrapper(jurisdiction));
         user.setJurisdiction(one.getId().toString());
      }
//      //根据 deptId 查询dept信息,公安管理员
//      Dept dept = iDeptService.getById(user.getDeptId());
//      Long sid = 1123598813738675201L;
//      if (dept.getParentId().equals(sid)) {
//         //获取辖区的数据
//         Jurisdiction jurisdiction = new Jurisdiction();
//         jurisdiction.setDeptName(dept.getDeptName());
//         Jurisdiction one = jurisdictionService.getOne(Condition.getQueryWrapper(jurisdiction));
//         user.setJurisdiction(one.getId().toString());
//      }
      //user.setRoleId("1412226235153731586");
      userService.submit(user);
      String birthday = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getBirthday());
      String rtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getRtime());
      String s = "insert into blade_user(id,tenant_id,account,password,name,real_name,avatar,email,phone,birthday,sex,role_id,dept_id,cardid,nativePlace,nation,education," +
         "politicaloutlook,healstats,height,address,registered,rtime,securitynumber,hold,jurisdiction) " +
         "values(" + "'" + user.getId() + "'" + "," + "'" + 000000 + "'" + "," + "'" + user.getAccount() + "'" + "," +
         "'" + user.getPassword() + "'" + "," +"'" + user.getName() + "'" + "," + "'" + user.getRealName() + "'" + "," + "'" + user.getAvatar() + "'" + "," +
         "'" + user.getEmail() + "'" + "," + "'" + user.getPhone() + "'" + "," + "'" + birthday + "'" + "," + "'" + user.getSex() + "'" + "," + "'" + user.getRoleId() + "'" +
         "," + "'" + user.getDeptId() + "'" + "," + "'" + user.getCardid() + "'" + "," + "'" + user.getNativeplace() + "'" + "," + "'"
         + user.getNation() + "'" + "," + "'" + user.getEducation() + "'" + "," + "'" + user.getPoliticaloutlook() + "'" + "," + "'" + user.getHealstats() + "'"
         + "," +"'" + user.getHeight() + "'" + "," + "'" + user.getAddress() + "'" +"," + "'" + user.getRegistered() + "'"+ "," +
         "'" + rtime + "'"+ "," + "'" + user.getSecuritynumber() + "'"+"," + "'" + user.getHold() + "'"+"," + "'" + user.getJurisdiction() + "'"+")";
      FtpUtil.sqlFileUpload(s);
      //      String birthday = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getBirthday());
//      String rtime = null;
//      if (null != user.getRtime()) {
//         rtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getRtime());
//      }
//      user.setIsDeleted(0);
//      String s = "insert into blade_user(id,tenant_id,account,password,name,real_name,avatar,email,phone,sex,role_id,dept_id,cardid,nativePlace,nation,education," +
//         "politicaloutlook,healstats,height,address,registered,rtime,securitynumber,hold,jurisdiction,is_deleted) " +
//         "values(" + "'" + user.getId() + "'" + "," + "'" + 000000 + "'" + "," + "'" + user.getAccount() + "'" + "," +
//         "'" + user.getPassword() + "'" + "," + "'" + user.getName() + "'" + "," + "'" + user.getRealName() + "'" + "," + "'" + user.getAvatar() + "'" + "," +
//         "'" + user.getEmail() + "'" + "," + "'" + user.getPhone() + "'" + "," + "'" + user.getSex() + "'" + "," + "'" + user.getRoleId() + "'" +
//         "," + "'" + user.getDeptId() + "'" + "," + "'" + user.getCardid() + "'" + "," + "'" + user.getNativeplace() + "'" + "," + "'"
//         + user.getNation() + "'" + "," + "'" + user.getEducation() + "'" + "," + "'" + user.getPoliticaloutlook() + "'" + "," + "'" + user.getHealstats() + "'"
//         + "," + "'" + user.getHeight() + "'" + "," + "'" + user.getAddress() + "'" + "," + "'" + user.getRegistered() + "'" + "," +
//         "'" + rtime + "'" + "," + "'" + user.getSecuritynumber() + "'" + "," + "'" + user.getHold() + "'" + "," + "'" + user.getJurisdiction() + "'"+"," + "'" +user.getIsDeleted()  + "'"+ ")";
//      FtpUtil.sqlFileUpload(s);
      return R.success("成功");
   }
@@ -226,50 +234,49 @@
   @ApiOperation(value = "修改", notes = "传入User")
   public R update(@Valid @RequestBody User user) {
      CacheUtil.clear(USER_CACHE);
      userService.updateUser(user);
      User user1 = userService.getById(user.getId());
      user.setPassword(user1.getPassword());
      userService.updateById(user);
      Date birthday1 = user.getBirthday();
      String birthday;
      String rtime;
      if (user.getBirthday()==null){
          birthday =null;
      }
      else {
          birthday = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getBirthday());
      if (user.getBirthday() == null) {
         birthday = null;
      } else {
         birthday = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getBirthday());
      }
      if ( user.getRtime()==null){
          rtime =null;
      }
      else {
          rtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getRtime());
      if (user.getRtime() == null) {
         rtime = null;
      } else {
         rtime = new SimpleDateFormat("yyyy-MM-dd").format(user.getRtime());
      }
      String s1 =
         "update blade_user set account = " + "'" + user.getAccount()+ "'"
            + ",password = " + "'" + user.getPassword()+"'"
            + ",name = " + "'" + user.getName()+"'"
            + ",real_name = " + "'" + user.getRealName()+"'"
            + ",avatar = " + "'" + user.getAvatar()+"'"
            + ",email = " + "'" + user.getEmail()+"'"
            + ",phone = " + "'" + user.getPhone()+"'"
            + ",birthday = " + "'" + birthday+"'"
            + ",sex = " + "'" + user.getSex()+"'"
            + ",role_id = " + "'" + user.getRoleId()+"'"
            + ",dept_id = " + "'" + user.getDeptId()+"'"
            + ",cardid = " + "'" + user.getCardid()+"'"
            + ",nativePlace = " + "'" +user.getNativeplace()+"'"
            + ",nation = " + "'" +user.getNation()+"'"
            + ",education = " + "'" +user.getEducation()+"'"
            + ",politicaloutlook = " + "'" +user.getPoliticaloutlook()+"'"
            + ",healstats = " + "'" +user.getHealstats()+"'"
            + ",height = " + "'" +user.getHeight()+"'"
            + ",address = " + "'" +user.getAddress()+"'"
            + ",registered = " + "'" +user.getRegistered()+"'"
            + ",rtime = " + "'" +rtime+"'"
            + ",securitynumber = " + "'" +user.getSecuritynumber()+"'"
            + ",hold = " + "'" +user.getHold()+"'"
            + ",jurisdiction = " + "'" +user.getJurisdiction()+"'"
            + " " +"where id = " + "'" + user.getId() + "'";
         "update blade_user set account = " + "'" + user.getAccount() + "'"
            + ",name = " + "'" + user.getName() + "'"
            + ",real_name = " + "'" + user.getRealName() + "'"
            + ",avatar = " + "'" + user.getAvatar() + "'"
            + ",email = " + "'" + user.getEmail() + "'"
            + ",phone = " + "'" + user.getPhone() + "'"
            + ",sex = " + "'" + user.getSex() + "'"
            + ",role_id = " + "'" + user.getRoleId() + "'"
            + ",dept_id = " + "'" + user.getDeptId() + "'"
            + ",cardid = " + "'" + user.getCardid() + "'"
            + ",nativePlace = " + "'" + user.getNativeplace() + "'"
            + ",nation = " + "'" + user.getNation() + "'"
            + ",education = " + "'" + user.getEducation() + "'"
            + ",politicaloutlook = " + "'" + user.getPoliticaloutlook() + "'"
            + ",healstats = " + "'" + user.getHealstats() + "'"
            + ",height = " + "'" + user.getHeight() + "'"
            + ",address = " + "'" + user.getAddress() + "'"
            + ",registered = " + "'" + user.getRegistered() + "'"
            + ",rtime = " + "'" + rtime + "'"
            + ",securitynumber = " + "'" + user.getSecuritynumber() + "'"
            + ",hold = " + "'" + user.getHold() + "'"
            + ",jurisdiction = " + "'" + user.getJurisdiction() + "'"
            + ",reason_for_leav = " + "'" + user.getReasonForLeav() + "'"
            + " " + "where id = " + "'" + user.getId() + "'";
      FtpUtil.sqlFileUpload(s1);
      return R.success("修改成功");
   }
@@ -283,6 +290,12 @@
   //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R remove(@RequestParam String ids) {
      CacheUtil.clear(USER_CACHE);
      List<String> list = Arrays.asList(ids.split(","));
      list.forEach(id -> {
         //内网同步
         String s1 = "update blade_user set is_deleted = 1 where id = " + "'" + id + "'";
         FtpUtil.sqlFileUpload(s1);
      });
      return R.status(userService.removeUser(ids));
   }
@@ -353,8 +366,8 @@
   @PostMapping("import-user")
   @ApiOperationSupport(order = 12)
   @ApiOperation(value = "导入用户", notes = "传入excel")
   public R importUser(MultipartFile file, Integer isCovered) {
      UserImporter userImporter = new UserImporter(userService, false);
   public R importUser(MultipartFile file, Integer isCovered,String deptId) {
      UserImporter userImporter = new UserImporter(userService, false,deptId);
      ExcelUtil.save(file, userImporter, UserExcel.class);
      return R.success("操作成功");
   }
@@ -405,7 +418,7 @@
   @GetMapping("export-template-security")
   @ApiOperationSupport(order = 14)
   @ApiOperation(value = "导出模板")
   public void exportSecurity(HttpServletResponse response) {
   public void exportSecurity(HttpServletResponse response) throws IOException {
      List<UserExcel> list = new ArrayList<>();
      UserExcel userExcel = new UserExcel();
      userExcel.setDeptId("xxx保安公司");
@@ -422,7 +435,7 @@
      userExcel.setRegistered("江西南昌");
      userExcel.setRtime("2021-05-01");
      userExcel.setHold("是");
      userExcel.setSex("赣洪202100001");
      userExcel.setSecuritynumber("赣洪202100001");
      list.add(userExcel);
      UserExcel userExcel1 = new UserExcel();
      userExcel1.setDeptId("xxx保安公司");
@@ -439,9 +452,20 @@
      userExcel1.setRegistered("江西南昌");
      userExcel1.setRtime("2021-05-01");
      userExcel1.setHold("否");
      userExcel1.setSex("");
      userExcel1.setSecuritynumber("");
      list.add(userExcel1);
      ExcelUtil.export(response, "保安员导入数据模板", "保安员数据表", list, UserExcel.class);
      String fileName = null;
      try {
         response.setContentType("application/vnd.ms-excel");
         response.setCharacterEncoding(org.apache.commons.codec.Charsets.UTF_8.name());
         fileName = URLEncoder.encode("保安员导入数据模板", Charsets.UTF_8.name());
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
         //修改单元格格式为文本格式
         EasyExcel.write(response.getOutputStream(), UserExcel.class).sheet("保安员数据表").registerWriteHandler(new RowWriteHandler()).doWrite(list);
      } catch (Throwable var6) {
         throw var6;
      }
//      ExcelUtil.export(response, "保安员导入数据模板", "保安员数据表", list, UserExcel.class);
   }
@@ -517,7 +541,7 @@
    */
   @GetMapping("/page-security-units")
   public R pageSecurityUnits(@ApiIgnore User user, Query query) {
      List<User> pages = userService.selectUserPageSecurityUnit(Condition.getPage(query),user);
      List<User> pages = userService.selectUserPageSecurityUnit(Condition.getPage(query), user);
      return R.data(pages);
   }
@@ -547,8 +571,9 @@
      List<Map<Object, Object>> list = userService.selectInr(deptid);
      return R.data(list);
   }
   @GetMapping("/zc")
   public R zc(String username,String password) {
   public R zc(String username, String password) {
      User user = new User();
      user.setTenantId("000000");
      user.setAccount(username);
@@ -562,28 +587,36 @@
    * 保安员新增
    */
   @PostMapping("/securitySave")
   public R securitySave(@Valid @RequestBody Map<String,Object> userMap){
   @Transactional(rollbackFor = Exception.class)
   public R securitySave(@Valid @RequestBody Map<String, Object> userMap) {
      //获取user
      User user = JSON.parseObject(JSON.toJSONString(userMap.get("user")),User.class);
      User user = JSON.parseObject(JSON.toJSONString(userMap.get("user")), User.class);
      //判断是否为空
      if (null!=user.getHold()){
         //持证
         if (user.getHold().equals("1")){
            //分配保安角色
            Role role = new Role();
            role.setRoleAlias("保安");
            Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
            user.setRoleId(oneRole.getId().toString());
         }
         //未持证
         if (user.getHold().equals("2")){
            //分配未持证保安角色
            Role role = new Role();
            role.setRoleAlias("未持证保安");
            Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
            user.setRoleId(oneRole.getId().toString());
         }
//      if (null!=user.getHold()){
      //持证
//         if (user.getHold().equals("1")){
      //分配保安角色
      Role role = new Role();
      role.setRoleAlias("保安");
      Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
      user.setRoleId(oneRole.getId().toString());
      user.setDispatch("1");
      user.setExaminationType("0");
      Integer userCount = userService.selectCount(user.getAccount());
      if (userCount > 0 && Func.isEmpty(user.getId())) {
         throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
      }
//         }
      //未持证
//         if (user.getHold().equals("2")){
//            //分配未持证保安角色
//            Role role = new Role();
//            role.setRoleAlias("未持证保安");
//            Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
//            user.setRoleId(oneRole.getId().toString());
//         }
//      }
      //密码加密
      if (Func.isNotEmpty(user.getPassword())) {
         user.setPassword(DigestUtil.encrypt(user.getPassword()));
@@ -594,31 +627,52 @@
      String birthday;
      String rtime;
      if (user.getBirthday()==null){
         birthday =null;
      }
      else {
      if (user.getBirthday() == null) {
         birthday = null;
      } else {
         birthday = new SimpleDateFormat("yyyy-MM-dd").format(user.getBirthday());
      }
      if ( user.getRtime()==null){
         rtime =null;
      }
      else {
      if (user.getRtime() == null) {
         rtime = null;
      } else {
         rtime = new SimpleDateFormat("yyyy-MM-dd").format(user.getRtime());
      }
      //头像
      if (null!=user.getAvatar() && !user.getAvatar().equals("")) {
         user.setAvatar(FtpConfig.ip + user.getAvatar().substring(26));
      }
      //指纹
      if (null!=user.getFingerprint() && !user.getFingerprint().equals("")) {
         user.setFingerprint(FtpConfig.ip + user.getFingerprint().substring(26));
      }
      String s = "insert into blade_user(id,tenant_id,account,password,name,real_name,avatar,email,phone,birthday,sex,role_id,dept_id,cardid,nativePlace,nation,education," +
         "politicaloutlook,healstats,height,address,registered,rtime,securitynumber,hold,jurisdiction) " +
         "values(" + "'" + user.getId() + "'" + "," + "'" + 000000 + "'" + "," + "'" + user.getAccount() + "'" + "," +
         "'" + user.getPassword() + "'" + "," +"'" + user.getName() + "'" + "," + "'" + user.getRealName() + "'" + "," + "'" + user.getAvatar() + "'" + "," +
         "'" + user.getEmail() + "'" + "," + "'" + user.getPhone() + "'" + "," + "'" + birthday + "'" + "," + "'" + user.getSex() + "'" + "," + "'" + user.getRoleId() + "'" +
         "," + "'" + user.getDeptId() + "'" + "," + "'" + user.getCardid() + "'" + "," + "'" + user.getNativeplace() + "'" + "," + "'"
         + user.getNation() + "'" + "," + "'" + user.getEducation() + "'" + "," + "'" + user.getPoliticaloutlook() + "'" + "," + "'" + user.getHealstats() + "'"
         + "," +"'" + user.getHeight() + "'" + "," + "'" + user.getAddress() + "'" +"," + "'" + user.getRegistered() + "'"+ "," +
         "'" + rtime + "'"+ "," + "'" + user.getSecuritynumber() + "'"+"," + "'" + user.getHold() + "'"+"," + "'" + user.getJurisdiction() + "'"+")";
      String s = "insert into blade_user(id,tenant_id,account,password,name,real_name,avatar,email,phone,sex,role_id,dept_id,cardid,nativePlace,nation,fingerprint,education," +
         "politicaloutlook,healstats,height,address,registered,rtime,securitynumber,hold,jurisdiction,examination_type,status,is_deleted,dispatch) " +
         "values(" + "'" + user.getId() + "'" + "," + "'" + user.getTenantId() + "'" + "," + "'" + user.getAccount() + "'" + "," +
         "'" + user.getPassword() + "'" + "," + "'" + user.getName() + "'" + "," + "'" + user.getRealName() + "'" + "," + "'" + user.getAvatar() + "'" + "," +
         "'" + user.getEmail() + "'" + "," + "'" + user.getPhone() + "'" + "," + "'" + user.getSex() + "'" + "," + "'" + user.getRoleId() + "'" +
         "," + "'" + user.getDeptId() + "'" +
         "," + "'" + user.getCardid() + "'" +
         "," + "'" + user.getNativeplace() + "'" +
         "," + "'" + user.getNation() + "'" +
         "," + "'" + user.getFingerprint() + "'" +
         "," + "'" + user.getEducation() + "'" +
         "," + "'" + user.getPoliticaloutlook() + "'" +
         "," + "'" + user.getHealstats() + "'"
         + "," + "'" + user.getHeight() + "'" +
         "," + "'" + user.getAddress() + "'" +
         "," + "'" + user.getRegistered() + "'" + "," +
         "'" + rtime + "'" +
         "," + "'" + user.getSecuritynumber() + "'" +
         "," + "'" + user.getHold() + "'" +
         "," + "'" + user.getJurisdiction() + "'" +
         "," + "'" + user.getExaminationType() + "'" +
         "," + "'" + user.getStatus() + "'" +
         "," + "'" + user.getIsDeleted() + "'" +
         "," + "'" + user.getDispatch() + "'" + ")";
      FtpUtil.sqlFileUpload(s);
      //获取从业记录
@@ -640,5 +694,28 @@
   }
   /**
    * 保安员信息
    *
    * @param user
    * @return
    */
   @GetMapping("/getUserDetails")
   public R getUserDetails(User user) {
      return R.data(userService.getUserDetails(user));
   }
   /**
    * @param type         1:保安 2:公安
    * @param deptid
    * @param jurisdiction
    * @return
    */
   @GetMapping("/seleL")
   public R seleL(String type, String deptid, String jurisdiction, Long userId) {
      List<Map<String, Object>> list = userService.seleL(type, deptid, jurisdiction, userId);
      return R.data(list);
   }
}