Pārlūkot izejas kodu

bugfix:微信支付流程完成

# Conflicts:
#	alien-entity/src/main/java/shop/alien/entity/store/vo/StoreInfoVo.java
lyx 1 nedēļu atpakaļ
vecāks
revīzija
8d4f65c69b

+ 15 - 4
alien-entity/src/main/java/shop/alien/entity/store/vo/StoreInfoVo.java

@@ -1,5 +1,6 @@
 package shop.alien.entity.store.vo;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import io.swagger.annotations.ApiModel;
@@ -215,10 +216,6 @@ public class StoreInfoVo extends StoreInfo {
     @ApiModelProperty(value = "动态数量")
     private Integer dynamicsNum;
 
-    @ApiModelProperty(value = "是否提供餐食")
-    private Integer  mealsFlag;
-
-
     @ApiModelProperty(value = "推荐列表距离(米)")
     private String distance3;
 
@@ -236,4 +233,18 @@ public class StoreInfoVo extends StoreInfo {
 
     @ApiModelProperty(value = "分类名称")
     private List<String> businessClassifyNameList;
+
+    @ApiModelProperty(value = "是否提供餐食")
+    private Integer  mealsFlag;
+
+    @ApiModelProperty(value = "身份证正面")
+    private JSONObject idcardFace;
+    @ApiModelProperty(value = "身份证反面")
+    private JSONObject idcardBack;
+    @ApiModelProperty(value = "经营许可证")
+    private JSONObject jyxkz;
+    @ApiModelProperty(value = "食品经营许可证")
+    private JSONObject foodLicence;
+    @ApiModelProperty(value = "娱乐经营许可证")
+    private JSONObject entertainmentLicence;
 }

+ 41 - 0
alien-store/src/main/java/shop/alien/store/service/impl/StoreInfoServiceImpl.java

@@ -1504,6 +1504,14 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
         if (!storeDictionaries.isEmpty()) {
             result.setBusinessStatusStr(storeDictionaries.get(0).getDictDetail());
         }
+        // TODO 之后修改********** 正常OcrType由前端传存储ocr表要加新字段。传参要由前端传。
+        // 查询并设置各类证件OCR信息
+        result.setJyxkz(convertOcrResultToJson(storeUser.getId(), "BUSINESS_LICENSE", "娱乐", true));
+        result.setIdcardFace(convertOcrResultToJson(storeUser.getId(), "ID_CARD", "face", true));
+        result.setIdcardBack(convertOcrResultToJson(storeUser.getId(), "ID_CARD", "back", true));
+        result.setFoodLicence(convertOcrResultToJson(storeUser.getId(), "FOOD_MANAGE_LICENSE", null, true));
+        result.setEntertainmentLicence(convertOcrResultToJson(storeUser.getId(), "BUSINESS_LICENSE", "营业执照", false));
+
         return result;
     }
 
@@ -3151,6 +3159,39 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
         return resultPage;
     }
 
+    /**
+     * 查询OCR图片上传记录并转换为JSONObject
+     *
+     * @param storeUserId 店铺用户ID
+     * @param ocrType     OCR类型
+     * @param likeKeyword 模糊查询关键词,可为null
+     * @param includeImageUrl 是否包含imageUrl字段
+     * @return JSONObject,如果查询结果为空则返回空的JSONObject
+     */
+    private com.alibaba.fastjson2.JSONObject convertOcrResultToJson(Integer storeUserId, String ocrType, String likeKeyword, boolean includeImageUrl) {
+        LambdaQueryWrapper<OcrImageUpload> wrapper = new LambdaQueryWrapper<OcrImageUpload>()
+                .eq(OcrImageUpload::getStoreUserId, storeUserId)
+                .eq(OcrImageUpload::getOcrType, ocrType)
+                .orderByDesc(OcrImageUpload::getCreateTime)
+                .last("limit 1");
+        
+        if (StringUtils.isNotEmpty(likeKeyword)) {
+            wrapper.like(OcrImageUpload::getOcrResult, likeKeyword);
+        }
+        
+        OcrImageUpload ocrImageUpload = ocrImageUploadMapper.selectOne(wrapper);
+        
+        if (ocrImageUpload == null || StringUtils.isEmpty(ocrImageUpload.getOcrResult())) {
+            return new com.alibaba.fastjson2.JSONObject();
+        }
+        
+        com.alibaba.fastjson2.JSONObject jsonObject = com.alibaba.fastjson2.JSONObject.parseObject(ocrImageUpload.getOcrResult());
+        if (includeImageUrl && StringUtils.isNotEmpty(ocrImageUpload.getImageUrl())) {
+            jsonObject.put("imageUrl", ocrImageUpload.getImageUrl());
+        }
+        
+        return jsonObject;
+    }