| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- package com.template.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
- import com.template.annotation.DESRespondSecret;
- import com.template.annotation.PassToken;
- import com.template.api.SmartFaceDiscernTestControllerAPI;
- import com.template.common.utils.MultipartFileUtils;
- import com.template.model.pojo.SmartDevice;
- import com.template.model.pojo.SmartFaceDiscernTest;
- import com.template.model.pojo.SmartUser;
- import com.template.services.SmartDeviceService;
- import com.template.services.SmartFaceDiscernTestService;
- import com.template.services.SmartUploadService;
- import com.template.services.SmartUserService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.util.Date;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author ceshi
- * @since 2024-05-20
- */
- @RestController
- public class SmartFaceDiscernTestController implements SmartFaceDiscernTestControllerAPI {
- @Autowired
- SmartFaceDiscernTestService smartFaceDiscernTestService;
- @Autowired
- SmartUserService smartUserService;
- @Autowired
- SmartDeviceService smartDeviceService;
- @Autowired
- SmartUploadService smartUploadService;
- @Override
- @PassToken
- @DESRespondSecret(validated = false)
- public String callBack(HttpServletRequest request, HttpServletResponse response) {
- try {
- BufferedReader streamReader = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8"));
- StringBuilder responseStrBuilder = new StringBuilder();
- String inputStr;
- while ((inputStr = streamReader.readLine()) != null) {
- responseStrBuilder.append(inputStr);
- }
- JSONObject jsonObject = JSONObject.parseObject(responseStrBuilder.toString());
- // 比对结果
- Integer resultStatus = jsonObject.getInteger("resultStatus");
- if (0!=resultStatus) {
- JSONObject r = new JSONObject();
- r.put("message","Success");
- r.put("result",0);
- return r.toJSONString();
- }
- // 抓拍的照片 base64字符串
- String scenePhoto = jsonObject.getString("scenePhoto");
- System.out.println("scenePhoto = " + scenePhoto.substring(0,100));
- // base64转文件
- MultipartFile multipartFile = MultipartFileUtils.base64ToMultipartFile(scenePhoto);
- // 上传到cos桶,并生成图片地址
- String image = smartUploadService.upload(new MultipartFile[]{multipartFile});
- // 设备mac
- String mac = jsonObject.getString("mac");
- SmartDevice smartDevice = smartDeviceService.getNum(mac);
- String address="";
- String type="";
- if (ObjectUtils.isNotEmpty(smartDevice)) {
- // 地点
- address = smartDevice.getAddress();
- // 类型
- type = smartDevice.getName();
- }
- // 名字
- String name = jsonObject.getString("name");
- // 身份证号
- String idNum = jsonObject.getString("idNum");
- SmartUser user = smartUserService.getCard(idNum);
- Integer userId=0;
- if (ObjectUtils.isNotEmpty(user)) {
- userId = user.getId();
- }else {
- userId=0;
- }
- SmartFaceDiscernTest smartFaceDiscernTest = new SmartFaceDiscernTest();
- smartFaceDiscernTest.setImage(image);
- smartFaceDiscernTest.setName(name);
- smartFaceDiscernTest.setLocation(address);
- smartFaceDiscernTest.setType(type);
- smartFaceDiscernTest.setUserId(userId);
- smartFaceDiscernTest.setDateTime(new Date());
- smartFaceDiscernTestService.save(smartFaceDiscernTest);
- }catch (Exception e){
- e.printStackTrace();
- }
- JSONObject r = new JSONObject();
- r.put("message","Success");
- r.put("result",0);
- return r.toJSONString();
- }
- }
|