he2802 3 anos atrás
pai
commit
33d2bde856
16 arquivos alterados com 75 adições e 20 exclusões
  1. 1 1
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/goods/GoodsController.java
  2. 1 1
      zhongzheng-api/src/main/java/com/zhongzheng/controller/bank/ExamController.java
  3. 1 1
      zhongzheng-api/src/main/java/com/zhongzheng/controller/cmmon/CommonBankController.java
  4. 1 1
      zhongzheng-api/src/main/java/com/zhongzheng/controller/cmmon/CommonGoodsController.java
  5. 14 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/face/FaceController.java
  6. 1 1
      zhongzheng-api/src/main/java/com/zhongzheng/controller/goods/GoodsController.java
  7. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/ExamServiceImpl.java
  8. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionChapterExamServiceImpl.java
  9. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsAttachedMapper.java
  10. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsAttachedService.java
  11. 3 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsAttachedServiceImpl.java
  12. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformServiceImpl.java
  13. 9 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/tencentcloud/bo/FaceQueryBo.java
  14. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/tencentcloud/service/IFaceOcrService.java
  15. 36 8
      zhongzheng-system/src/main/java/com/zhongzheng/modules/tencentcloud/service/impl/FaceOcrServiceImpl.java
  16. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsAttachedMapper.xml

+ 1 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/goods/GoodsController.java

@@ -157,7 +157,7 @@ public class GoodsController extends BaseController {
     @PreAuthorize("@ss.hasPermi('system:business:list')")
     @GetMapping("/bank/list")
     public AjaxResult<List<GoodsAttachedVo>> bankList(GoodsAttachedQueryBo bo) {
-        List<GoodsAttachedVo> list = iGoodsAttachedService.selectList(bo);
+        List<GoodsAttachedVo> list = iGoodsAttachedService.getList(bo);
         return AjaxResult.success(list);
     }
 

+ 1 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/bank/ExamController.java

@@ -74,7 +74,7 @@ public class ExamController extends BaseController {
     }
 
     /**
-     * 获取试卷详细信息
+     * 获取本章的下一张试卷
      */
     @ApiOperation("获取本章的下一张试卷")
     @GetMapping("/nextExam")

+ 1 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/cmmon/CommonBankController.java

@@ -66,7 +66,7 @@ public class CommonBankController extends BaseController {
     @ApiOperation("查询题库商品试卷列表")
     @GetMapping("/list")
     public AjaxResult<List<GoodsAttachedVo>> bankList(GoodsAttachedQueryBo bo) {
-        List<GoodsAttachedVo> list = iGoodsAttachedService.selectList(bo);
+        List<GoodsAttachedVo> list = iGoodsAttachedService.getList(bo);
         return AjaxResult.success(list);
     }
 

+ 1 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/cmmon/CommonGoodsController.java

@@ -70,7 +70,7 @@ public class CommonGoodsController extends BaseController {
     @ApiOperation("查询商品题库目录列表")
     @GetMapping("/bank/list")
     public AjaxResult<List<GoodsAttachedVo>> bankList(GoodsAttachedQueryBo bo) {
-        List<GoodsAttachedVo> list = iGoodsAttachedService.selectList(bo);
+        List<GoodsAttachedVo> list = iGoodsAttachedService.getList(bo);
         return AjaxResult.success(list);
     }
 

+ 14 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/face/FaceController.java

@@ -54,4 +54,18 @@ public class FaceController extends BaseController {
         }
 
     }
+
+    @ApiOperation("照片人脸核身")
+    @PostMapping("/certification/ImageRecognition")
+    public AjaxResult ImageRecognition(@RequestBody FaceQueryBo bo){
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        Map<String,Object> rs = iFaceService.ImageRecognition(bo);
+        if(Validator.isNotEmpty(rs)){
+            return AjaxResult.success(rs);
+        }else{
+            return AjaxResult.error();
+        }
+
+    }
 }

+ 1 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/goods/GoodsController.java

@@ -139,7 +139,7 @@ public class GoodsController extends BaseController {
     public AjaxResult<List<GoodsAttachedVo>> bankList(GoodsAttachedQueryBo bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setUserId(loginUser.getUser().getUserId());
-        List<GoodsAttachedVo> list = iGoodsAttachedService.selectList(bo);
+        List<GoodsAttachedVo> list = iGoodsAttachedService.getList(bo);
         return AjaxResult.success(list);
     }
 

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/ExamServiceImpl.java

@@ -225,7 +225,7 @@ public class ExamServiceImpl extends ServiceImpl<ExamMapper, Exam> implements IE
     public ExamVo getNextExam(QuestionChapterExamQueryBo bo) {
         ExamVo nextExam = null;
         //有章卷ID
-        if(Validator.isNotEmpty(bo.getChapterExamId())){
+        if(Validator.isNotEmpty(bo.getChapterExamId())&&bo.getChapterExamId().longValue()>0){
             QuestionChapterExamQueryBo bo1 = new QuestionChapterExamQueryBo();
             bo1.setChapterExamId(bo.getChapterExamId());
             List<QuestionChapterExamVo>  list = iQuestionChapterExamService.queryList(bo1);

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionChapterExamServiceImpl.java

@@ -59,6 +59,7 @@ public class QuestionChapterExamServiceImpl extends ServiceImpl<QuestionChapterE
         lqw.eq(bo.getExamId() != null, QuestionChapterExam::getExamId, bo.getExamId());
         lqw.eq(bo.getChapterExamId() != null, QuestionChapterExam::getChapterExamId, bo.getChapterExamId());
         lqw.eq(bo.getSort() != null, QuestionChapterExam::getSort, bo.getSort());
+        lqw.orderByAsc(QuestionChapterExam::getSort);
         return entity2Vo(this.list(lqw));
     }
 

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsAttachedMapper.java

@@ -16,6 +16,6 @@ import java.util.List;
  * @date 2021-10-28
  */
 public interface GoodsAttachedMapper extends BaseMapper<GoodsAttached> {
-    List<GoodsAttachedVo> selectList(GoodsAttachedQueryBo bo);
+    List<GoodsAttachedVo> getList(GoodsAttachedQueryBo bo);
     List<GoodsAttachedVo> selectDoList(GoodsAttachedQueryBo bo);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsAttachedService.java

@@ -30,7 +30,7 @@ public interface IGoodsAttachedService extends IService<GoodsAttached> {
 	 */
 	List<GoodsAttachedVo> queryList(GoodsAttachedQueryBo bo);
 
-	List<GoodsAttachedVo> selectList(GoodsAttachedQueryBo bo);
+	List<GoodsAttachedVo> getList(GoodsAttachedQueryBo bo);
 
 	/**
 	 * 根据新增业务对象插入商品附加产品

+ 3 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsAttachedServiceImpl.java

@@ -54,12 +54,13 @@ public class GoodsAttachedServiceImpl extends ServiceImpl<GoodsAttachedMapper, G
         lqw.eq(bo.getMajorId() != null, GoodsAttached::getMajorId, bo.getMajorId());
         lqw.eq(bo.getSort() != null, GoodsAttached::getSort, bo.getSort());
         lqw.eq(bo.getType() != null, GoodsAttached::getType, bo.getType());
+        lqw.orderByAsc(GoodsAttached::getSort);
         return entity2Vo(this.list(lqw));
     }
 
     @Override
-    public List<GoodsAttachedVo> selectList(GoodsAttachedQueryBo bo) {
-        return goodsAttachedMapper.selectList(bo);
+    public List<GoodsAttachedVo> getList(GoodsAttachedQueryBo bo) {
+        return goodsAttachedMapper.getList(bo);
     }
 
     /**

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformServiceImpl.java

@@ -327,7 +327,7 @@ public class InformServiceImpl extends ServiceImpl<InformMapper, Inform> impleme
 
     @Override
     public List<GoodsInformAttachedVo> bankList(GoodsAttachedQueryBo bo) {
-        List<GoodsInformAttachedVo> goodsInformAttachedVos = entity2BankVo(goodsAttachedMapper.selectList(bo));
+        List<GoodsInformAttachedVo> goodsInformAttachedVos = entity2BankVo(goodsAttachedMapper.getList(bo));
         for (GoodsInformAttachedVo goodsInformAttachedVo : goodsInformAttachedVos) {
             if (goodsInformAttachedVo.getType().equals(1)){
                 QuestionModuleChapterQueryBo questionModuleChapterQueryBo = new QuestionModuleChapterQueryBo();

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/tencentcloud/bo/FaceQueryBo.java

@@ -47,4 +47,13 @@ public class FaceQueryBo extends BaseEntity {
 
 	@ApiModelProperty("订单ID")
 	private Long orderGoodsId;
+
+	@ApiModelProperty("身份证号码")
+	private String IdNum;
+
+	@ApiModelProperty("身份证名称")
+	private String IdName;
+
+	@ApiModelProperty("一寸照图片base64")
+	private String oneInchPhotos;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/tencentcloud/service/IFaceOcrService.java

@@ -16,4 +16,6 @@ public interface IFaceOcrService {
 
     Map<String,String> VatInvoiceOCR(InvoiceQueryBo bo);
 
+    Map<String,Object> ImageRecognition(FaceQueryBo bo);
+
 }

+ 36 - 8
zhongzheng-system/src/main/java/com/zhongzheng/modules/tencentcloud/service/impl/FaceOcrServiceImpl.java

@@ -6,6 +6,9 @@ import com.alibaba.fastjson.JSONObject;
 import com.tencentcloudapi.common.Credential;
 import com.tencentcloudapi.common.exception.TencentCloudSDKException;
 import com.tencentcloudapi.common.profile.ClientProfile;
+import com.tencentcloudapi.faceid.v20180301.FaceidClient;
+import com.tencentcloudapi.faceid.v20180301.models.ImageRecognitionRequest;
+import com.tencentcloudapi.faceid.v20180301.models.ImageRecognitionResponse;
 import com.tencentcloudapi.iai.v20200303.IaiClient;
 import com.tencentcloudapi.iai.v20200303.models.CompareFaceRequest;
 import com.tencentcloudapi.iai.v20200303.models.CompareFaceResponse;
@@ -22,6 +25,7 @@ import com.zhongzheng.modules.tencentcloud.bo.FaceQueryBo;
 import com.zhongzheng.modules.tencentcloud.bo.InvoiceQueryBo;
 import com.zhongzheng.modules.tencentcloud.service.IFaceOcrService;
 import com.zhongzheng.modules.user.service.IUserService;
+import com.zhongzheng.modules.user.vo.UserVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -57,25 +61,25 @@ public class FaceOcrServiceImpl implements IFaceOcrService {
             if(Validator.isEmpty(bo.getOrderGoodsId())){
                 throw new CustomException("缺少参数");
             }
-           /* UserVo userVo = iUserService.queryById(bo.getUserId());
+           UserVo userVo = iUserService.queryById(bo.getUserId());
             if(Validator.isEmpty(userVo)){
                 return 0;
-            }*/
-            UserProfileQueryBo userProfileQueryBo = new UserProfileQueryBo();
+            }
+           /* UserProfileQueryBo userProfileQueryBo = new UserProfileQueryBo();
             userProfileQueryBo.setUserId(bo.getUserId());
             userProfileQueryBo.setOrderGoodsId(bo.getOrderGoodsId());
             userProfileQueryBo.setTypeStatus(1L);
-            UserProfileVo info = iUserProfileService.getInfo(userProfileQueryBo);
+            UserProfileVo info = iUserProfileService.getInfo(userProfileQueryBo);*/
 
-            if(Validator.isEmpty(info)){
+            if(Validator.isEmpty(userVo.getOneInchPhotos())){
                 //没有无需匹配
                 return 101;
             }
-            Map<String, String> maps = JSONObject.parseObject(info.getKeyValue(),Map.class);
+    //        Map<String, String> maps = JSONObject.parseObject(info.getKeyValue(),Map.class);
 
-            String oneInchPhotos = JSONObject.parseObject(String.valueOf(maps.get("recent_photos")), UserProfileFit.class).getValue(); //一寸照片
+    //        String oneInchPhotos = JSONObject.parseObject(String.valueOf(maps.get("recent_photos")), UserProfileFit.class).getValue(); //审核资料一寸照片
 
-            oneInchPhotos =ossHost+"/"+oneInchPhotos;
+            String oneInchPhotos =ossHost+"/"+userVo.getOneInchPhotos();
             Credential cred = new Credential(SecretId, SecretKey);
             ClientProfile clientProfile = new ClientProfile();
             clientProfile.setSignMethod(clientProfile.SIGN_TC3_256);
@@ -115,6 +119,7 @@ public class FaceOcrServiceImpl implements IFaceOcrService {
             req.setConfig("{\"CropIdCard\":true}");
             IDCardOCRResponse resp = client.IDCardOCR(req);
             String IdNum = resp.getIdNum();
+            String IdName = resp.getName();
             String AdvancedInfo = resp.getAdvancedInfo();
             String IdCard =  JSONObject.parseObject(AdvancedInfo).getString("IdCard");
             if(Validator.isEmpty(IdCard)){
@@ -126,6 +131,7 @@ public class FaceOcrServiceImpl implements IFaceOcrService {
             ossRequest.setImageStatus(5);
             String ossPath = ossService.uploadBase64(IdCard,ossRequest);
             rs.put("IdNum",IdNum);
+            rs.put("IdName",IdName);
             rs.put("IdImgPath",ossPath);
             return rs;
         }catch (TencentCloudSDKException e){
@@ -162,4 +168,26 @@ public class FaceOcrServiceImpl implements IFaceOcrService {
         }
         return null;
     }
+
+    @Override
+    public Map<String, Object> ImageRecognition(FaceQueryBo bo) {
+        try{
+            if(Validator.isEmpty(bo.getOneInchPhotos())||Validator.isEmpty(bo.getIdNum())||Validator.isEmpty(bo.getIdName())){
+                throw new CustomException("缺少参数");
+            }
+            Credential cred = new Credential(SecretId, SecretKey);
+            FaceidClient client = new FaceidClient(cred, "ap-guangzhou");
+            ImageRecognitionRequest req = new ImageRecognitionRequest();
+            req.setImageBase64(bo.getOneInchPhotos());
+            req.setIdCard(bo.getIdNum());
+            req.setName(bo.getIdName());
+            ImageRecognitionResponse resp = client.ImageRecognition(req);
+            Map<String,Object> rs = new HashMap<>();
+            rs.put("sim",resp.getSim());
+            return rs;
+        }catch (TencentCloudSDKException e){
+            System.out.println("错误"+e.getMessage());
+        }
+        return null;
+    }
 }

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsAttachedMapper.xml

@@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="answerNum" column="answer_num"/>
     </resultMap>
 
-    <select id="selectList" parameterType="com.zhongzheng.modules.goods.bo.GoodsAttachedQueryBo" resultMap="GoodsAttachedResultVo">
+    <select id="getList" parameterType="com.zhongzheng.modules.goods.bo.GoodsAttachedQueryBo" resultMap="GoodsAttachedResultVo">
 		SELECT
 			ga.*,
 			CASE