洪城义警-正式版后台
zengh
2021-07-16 eceb0c8f9480995c8a17f1d093f4e658268b234c
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 = "bf679652628841dc8f35f84989abf350";
   private final String clientCode = "909BCF57904BDBD3E053AF0A020A3760";
   private final String url = "http://eid.gongqing.gov.cn/uias-test/fca/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));
   }
   /**
    * 新增或修改
    */
@@ -330,7 +383,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 +427,12 @@
      User detail = userService.getOne(Condition.getQueryWrapper(user));
      return R.data(UserWrapper.build().entityVO(detail));
   }
   @GetMapping("/selectUser")
   public R selectUser() {
      return R.data(userService.selectUser());
   }
}