Administrator
2022-06-10 7b291d619aa70e5bb33f2b1caabe7f4b0bd003d9
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -25,6 +25,9 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springblade.common.utils.InvestigateUtil;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.launch.constant.AppConstant;
@@ -39,7 +42,11 @@
import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.modules.FTP.MyAsyncService;
import org.springblade.modules.accreditation.entity.AccreditationRecords;
import org.springblade.modules.accreditation.service.AccreditationRecordsService;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.excel.SecurityExcel;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.excel.UserImporter;
import org.springblade.modules.system.service.IUserService;
@@ -51,9 +58,9 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE;
@@ -71,13 +78,19 @@
   private final IUserService userService;
   private final MyAsyncService myAsyncService;
   private final AccreditationRecordsService accreditationRecordsService;
   /**
    * 查询单条
    */
   @ApiOperationSupport(order = 1)
   @ApiOperation(value = "查看详情", notes = "传入id")
   @GetMapping("/detail")
   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R<UserVO> detail(User user) {
      User detail = userService.getOne(Condition.getQueryWrapper(user));
      return R.data(UserWrapper.build().entityVO(detail));
@@ -129,13 +142,27 @@
   /**
    * 自定义用户列表,
    */
   @GetMapping("/pages")
   @ApiImplicitParams({
      @ApiImplicitParam(name = "account", value = "账号名", paramType = "query", dataType = "string"),
      @ApiImplicitParam(name = "realName", value = "姓名", paramType = "query", dataType = "string")
   })
   public R<IPage<UserVO>> pages(@ApiIgnore UserVO user, Query query) {
      IPage<User> pages = userService.selectUserPages(Condition.getPage(query), user);
      return R.data(UserWrapper.build().pageVO(pages));
   }
   /**
    * 自定义用户列表(只有保安员)
    */
   @GetMapping("/page-security")
   public R<IPage<UserVO>> pageSecurity(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
      user.setAccount("admin");
      IPage<User> pages = userService.selectUserPageSecurity(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
      return R.data(UserWrapper.build().pageVO(pages));
   public R<IPage<UserVO>> pageSecurity(@ApiIgnore UserVO user, Query query) {
      //user.setAccount("admin");
      IPage<UserVO> pages = userService.selectUserPageSecurity(Condition.getPage(query), user);
      return R.data(pages);
   }
   /**
@@ -147,6 +174,19 @@
   //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R submit(@Valid @RequestBody User user) {
      CacheUtil.clear(USER_CACHE);
      //资格审查
      String body = InvestigateUtil.httpGetOne(user.getCardid());
      JSONObject jsonObject = new JSONObject(body);
      String data = jsonObject.get("data").toString();
      JSONObject jsonData = new JSONObject(data);
      JSONArray res = jsonData.getJSONArray("res");
      if (res.length()==0){
         //没有数据正常
         user.setExaminationType("0");
      }else {
         user.setExaminationType("1");
         user.setExaminationMx(res.getJSONObject(0).get("zdrylbjh").toString());
      }
      return R.status(userService.submit(user));
   }
@@ -159,6 +199,15 @@
   public R update(@Valid @RequestBody User user) {
      CacheUtil.clear(USER_CACHE);
      return R.status(userService.updateUser(user));
   }
   /**
    * 修改用户信息
    */
   @PostMapping("/updateUser")
   public R updateUser(@Valid @RequestBody User user) {
      user.setUpdateTime(new Date());
      return R.status(userService.updateById(user));
   }
   /**
@@ -263,6 +312,17 @@
   }
   /**
    * 导出用户审查明细
    */
   @GetMapping("export-security")
   @ApiOperationSupport(order = 13)
   @ApiOperation(value = "导出用户", notes = "传入user")
   public void exportSecurity(UserVO user, HttpServletResponse response) {
      List<SecurityExcel> list = userService.exportSecurity(user);
      ExcelUtil.export(response, "保安员审查数据" + DateUtil.time(), "保安员审查数据表", list, SecurityExcel.class);
   }
   /**
    * 导出模板
    */
   @GetMapping("export-template")
@@ -300,7 +360,7 @@
   @ApiOperationSupport(order = 17)
   @ApiOperation(value = "查看平台详情", notes = "传入id")
   @GetMapping("/platform-detail")
   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R<UserVO> platformDetail(User user) {
      return R.data(userService.platformDetail(user));
   }
@@ -330,5 +390,83 @@
      return R.success("吊销成功");
   }
   /**
    * 查询押运人员
    *
    * @return
    */
   @GetMapping("/selectPeo")
   public R selectPeo(@ApiIgnore UserVO user) {
      List list = userService.selectPeo(user);
      return R.data(list);
   }
   /**
    * 查询保安员信息
    * @param user
    * @return
    */
   @GetMapping("/getSecurityInfoByIdCardNo")
   public R getSecurityInfoByIdCardNo(User user){
      return R.data(userService.getSecurityInfoByIdCardNo(user));
   }
   /**
    * 修改发证时间
    */
   @PostMapping("/updatePaperTime")
   public R updatePaperTime(@RequestBody User user) {
      user.setPaperTime(new Date());
      user.setUpdateTime(new Date());
      userService.updateById(user);
      String paperTime = null;
      //发证日期处理
      if (user.getPaperTime() == null) {
         paperTime = null;
      } else {
         paperTime = new SimpleDateFormat("yyyy-MM-dd").format(user.getPaperTime());
      }
      //更新制证记录制证状态
      AccreditationRecords accreditationRecords = new AccreditationRecords();
      accreditationRecords.setUserId(user.getId());
      //审核通过的
      accreditationRecords.setAuditStatus(2);
      //未制证的记录
      accreditationRecords.setStatus(1);
      //查询
      List<AccreditationRecords> list = accreditationRecordsService.list(Condition.getQueryWrapper(accreditationRecords));
      if (list.size() > 0) {
         //排序
         List<AccreditationRecords> collect = list.stream().sorted(Comparator.comparing(AccreditationRecords::getId).reversed()).collect(Collectors.toList());
         //取出第一个
         AccreditationRecords accreditationRecords1 = collect.get(0);
         //修改为已制证状态
         accreditationRecords1.setStatus(2);
         //记录打印时间
         accreditationRecords1.setPaperTime(new Date());
         //更新
         accreditationRecordsService.updateById(accreditationRecords1);
         //同步
         String s1 =
            "update blade_user set paper_time = " + "'" + paperTime + "'"
               + ",user_type = " + "'" + user.getUserType() + "'"
               + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'"
               + " " + "where id = " + "'" + user.getId() + "';" +
            "update sys_accreditation_records set status = " + "'" + accreditationRecords1.getStatus() + "'" +
               " " + "where id = " + "'" + accreditationRecords1.getId() + "'";
         myAsyncService.FTP(s1);
         //返回
         return R.success("修改成功");
      }
      String s1 =
         "update blade_user set paper_time = " + "'" + paperTime + "'"
            + ",user_type = " + "'" + user.getUserType() + "'"
            + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'"
            + " " + "where id = " + "'" + user.getId() + "'";
      myAsyncService.FTP(s1);
      return R.success("修改成功");
   }
}