洪城义警-正式版后台
zengh
2021-08-10 a2fb06f8f5f685d753780b3d5befc5417f15af3a
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -17,9 +17,11 @@
package org.springblade.modules.system.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.pinecone.utils.EncryptionUtils;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@@ -27,6 +29,7 @@
import lombok.AllArgsConstructor;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.http.util.HttpUtil;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -49,10 +52,13 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import sun.misc.BASE64Encoder;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -71,6 +77,36 @@
public class UserController {
   private final IUserService userService;
   static BASE64Encoder encoder = new BASE64Encoder();
   private final String sm4Key = "cd888d57e21a4ffc9be7ed601ab3ccd6";
   private final String clientCode = "369947";
   private final String url = "http://218.87.21.104:59944/uias/verifyFace";
   @PostMapping("/faceCompare")
   public R upload(@RequestParam("name")String name,@RequestParam("idCardNo")String idCardNo,@RequestParam("file") MultipartFile file){
      Map<String, Object> resultData = new HashMap<>();
      try {
         String encode = encoder.encode(file.getBytes());
         JSONObject source = new JSONObject();
         source.put("nameText",name);
         source.put("numberText",idCardNo);
         source.put("idPhoto",encode);
         // 加密数据,请先引入外部jar到工程中
         String encryptString = EncryptionUtils.encryptSM4(sm4Key,source.toString());
         Map<String, Object> map = new HashMap<>(2);
         map.put("clientCode",clientCode);
         map.put("encryptString",encryptString);
         String result= HttpUtil.postJson(url, new JSONObject(map).toJSONString());
         resultData = (Map<String, Object>)JSONObject.parse(result);
      } catch (IOException e) {
         e.printStackTrace();
      }
      return R.data(resultData);
   }
   /**
    * 查询单条
@@ -142,6 +178,23 @@
      IPage<User> pages = userService.selectUserPages(Condition.getPage(query), user, deptId);
      return R.data(UserWrapper.build().pageVO(pages));
   }
   /**
    * 自定义用户列表(带坐标)
    */
   @GetMapping("/pagetxl")
   @ApiImplicitParams({
      @ApiImplicitParam(name = "account", value = "账号名", paramType = "query", dataType = "string"),
      @ApiImplicitParam(name = "realName", value = "姓名", paramType = "query", dataType = "string")
   })
   @ApiOperationSupport(order = 3)
   @ApiOperation(value = "列表", notes = "传入account和realName")
   //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R<IPage<UserVO>> pagetxl(@ApiIgnore User user, Query query, String deptId, BladeUser bladeUser) {
      IPage<User> pages = userService.selectUserPagetxl(Condition.getPage(query), user, deptId);
      return R.data(UserWrapper.build().pageVO(pages));
   }
   /**
    * 新增或修改
    */
@@ -151,6 +204,15 @@
   //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R submit(@Valid @RequestBody User user) {
      CacheUtil.clear(USER_CACHE);
      if (user.getExamination_type() == null || user.getExamination_type().equals("")){
         user.setExamination_type("0");
      }
      if (user.getExamination_mx() == null || user.getExamination_mx().equals("")){
         user.setExamination_mx("正常");
      }
      return R.status(userService.submit(user));
   }
@@ -163,11 +225,12 @@
   public R update(@Valid @RequestBody User user) {
      CacheUtil.clear(USER_CACHE);
      if (user.getOnline_status() == null || user.getOnline_status().equals("")){
         user.setOnline_status("0");
      if (user.getExamination_type() == null || user.getExamination_type().equals("")){
         user.setExamination_type("0");
      }
      if (user.getWork_status() == null || user.getWork_status().equals("")){
         user.setWork_status("0");
      if (user.getExamination_mx() == null || user.getExamination_mx().equals("")){
         user.setExamination_mx("正常");
      }
      return R.status(userService.updateUser(user));
@@ -330,7 +393,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));
   }
@@ -374,4 +437,35 @@
      User detail = userService.getOne(Condition.getQueryWrapper(user));
      return R.data(UserWrapper.build().entityVO(detail));
   }
   @GetMapping("/selectUser")
   public R selectUser() {
      return R.data(userService.selectUser());
   }
   /**
    * 统计用户注册数据
    * @return
    */
   @GetMapping("/getUserRegisterStatisticsData")
   public R getUserRegisterStatisticsData() {
      return R.data(userService.getUserRegisterStatisticsData());
   }
   /**
    * 统计六大队伍
    */
   @GetMapping("/getUserTypeCount")
   public R getUserTypeCount() {
      return R.data(userService.getUserTypeCount());
   }
   /**
    * 按行政区统计六大队伍
    */
   @GetMapping("/getUserDistrictTypeCount")
   public R getUserDistrictTypeCount() {
      return R.data(userService.getUserDistrictTypeCount());
   }
}