张延森 5 years ago
parent
commit
2350c82e49

+ 45
- 1
src/main/java/com/huiju/estateagents/controller/CommonController.java View File

1
 package com.huiju.estateagents.controller;
1
 package com.huiju.estateagents.controller;
2
 
2
 
3
 
3
 
4
+import com.alibaba.fastjson.JSONObject;
5
+import com.huiju.estateagents.base.BaseController;
4
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.common.AliOSSUtils;
7
 import com.huiju.estateagents.common.AliOSSUtils;
6
 import com.huiju.estateagents.common.CommConstant;
8
 import com.huiju.estateagents.common.CommConstant;
7
 import com.huiju.estateagents.common.SMSUtils;
9
 import com.huiju.estateagents.common.SMSUtils;
8
 import com.huiju.estateagents.common.StringUtils;
10
 import com.huiju.estateagents.common.StringUtils;
11
+import com.huiju.estateagents.service.IMiniAppService;
9
 import com.huiju.estateagents.service.ITdMiniappTemplateTypeService;
12
 import com.huiju.estateagents.service.ITdMiniappTemplateTypeService;
10
 import org.apache.ibatis.annotations.Mapper;
13
 import org.apache.ibatis.annotations.Mapper;
11
 import org.springframework.beans.factory.annotation.Autowired;
14
 import org.springframework.beans.factory.annotation.Autowired;
12
 import org.springframework.web.bind.annotation.*;
15
 import org.springframework.web.bind.annotation.*;
13
 import org.springframework.web.multipart.MultipartFile;
16
 import org.springframework.web.multipart.MultipartFile;
14
 
17
 
18
+import javax.servlet.http.HttpServletRequest;
15
 import java.io.IOException;
19
 import java.io.IOException;
16
 import java.util.ArrayList;
20
 import java.util.ArrayList;
17
 import java.util.HashMap;
21
 import java.util.HashMap;
20
 
24
 
21
 @RestController
25
 @RestController
22
 @RequestMapping("/api")
26
 @RequestMapping("/api")
23
-public class CommonController {
27
+public class CommonController extends BaseController {
24
     @Autowired
28
     @Autowired
25
     SMSUtils smsUtils;
29
     SMSUtils smsUtils;
26
 
30
 
27
     @Autowired
31
     @Autowired
28
     ITdMiniappTemplateTypeService iTdMiniappTemplateTypeService;
32
     ITdMiniappTemplateTypeService iTdMiniappTemplateTypeService;
29
 
33
 
34
+    @Autowired
35
+    IMiniAppService iMiniAppService;
36
+
30
     /**
37
     /**
31
      * 图片
38
      * 图片
32
      * @param multipartFile
39
      * @param multipartFile
42
         }
49
         }
43
     }
50
     }
44
 
51
 
52
+    @PostMapping("/admin/qrcode")
53
+    public ResponseBean createQrCode(@RequestBody String jsonStr, HttpServletRequest request) {
54
+        Integer orgId = getOrgId(request);
55
+
56
+        if (StringUtils.isEmpty(jsonStr)) {
57
+            return ResponseBean.error("参数不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
58
+        }
59
+
60
+        JSONObject params = JSONObject.parseObject(jsonStr);
61
+        if (params == null) {
62
+            return ResponseBean.error("参数是非法的 JSON 对象", ResponseBean.ERROR_ILLEGAL_PARAMS);
63
+        }
64
+
65
+        String paramStr = params.getString("params");
66
+        if (StringUtils.isEmpty(paramStr)) {
67
+            ResponseBean.error("参数 params 不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
68
+        }
69
+
70
+        JSONObject qrObj = JSONObject.parseObject(paramStr);
71
+        if (qrObj == null) {
72
+            return ResponseBean.error("小程序码参数是非法", ResponseBean.ERROR_ILLEGAL_PARAMS);
73
+        }
74
+
75
+        String scene = qrObj.getString("scene");
76
+        String page = qrObj.getString("page");
77
+
78
+        if (StringUtils.isEmpty(scene) || StringUtils.isEmpty(page)) {
79
+            return ResponseBean.error("小程序码参数: scene 或者 page 不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
80
+        }
81
+
82
+        if (scene.indexOf("id=") == -1) {
83
+            return ResponseBean.error("小程序码参数: 必须存在 id 参数", ResponseBean.ERROR_ILLEGAL_PARAMS);
84
+        }
85
+
86
+        return iMiniAppService.getOrgQrCode(paramStr, orgId);
87
+    }
88
+
45
     /**
89
     /**
46
      * 为适应 ANTD 特制的图片上传
90
      * 为适应 ANTD 特制的图片上传
47
      * plat 中心端传 center 管理端传 admin
91
      * plat 中心端传 center 管理端传 admin

+ 2
- 0
src/main/java/com/huiju/estateagents/service/IMiniAppService.java View File

43
     TaMiniappTemplate getTplByType(String type, String appid);
43
     TaMiniappTemplate getTplByType(String type, String appid);
44
 
44
 
45
     List<TaMiniappTemplate> getTpls(String appid);
45
     List<TaMiniappTemplate> getTpls(String appid);
46
+
47
+    ResponseBean getOrgQrCode(String paramsStr, Integer orgId);
46
 }
48
 }

+ 14
- 0
src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java View File

527
         return taMiniappTemplateMapper.selectList(query);
527
         return taMiniappTemplateMapper.selectList(query);
528
     }
528
     }
529
 
529
 
530
+    @Override
531
+    public ResponseBean getOrgQrCode(String paramsStr, Integer orgId) {
532
+        QueryWrapper<TaMiniapp> query = new QueryWrapper<>();
533
+        query.eq("org_id", orgId);
534
+        query.last("limit 1");
535
+
536
+        TaMiniapp taMiniapp = taMiniappMapper.selectOne(query);
537
+        if (taMiniapp == null) {
538
+            return ResponseBean.error("当前组织没有维护小程序信息", ResponseBean.ERROR_UNAVAILABLE);
539
+        }
540
+
541
+        return this.getQrCode(paramsStr, taMiniapp.getMiniappId());
542
+    }
543
+
530
     public TaMiniapp getMinappByOrg(Integer org) {
544
     public TaMiniapp getMinappByOrg(Integer org) {
531
         QueryWrapper<TaMiniapp> queryWrapper = new QueryWrapper<>();
545
         QueryWrapper<TaMiniapp> queryWrapper = new QueryWrapper<>();
532
         queryWrapper.eq("org_id", org);
546
         queryWrapper.eq("org_id", org);