张延森 4 gadus atpakaļ
vecāks
revīzija
58260b66cd

+ 43
- 1
src/main/java/com/huiju/estateagents/common/WxUtils.java Parādīt failu

@@ -5,28 +5,49 @@ import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
5 5
 import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
6 6
 import com.huiju.estateagents.entity.TaMiniapp;
7 7
 import com.huiju.estateagents.service.IMiniAppService;
8
+import com.huiju.estateagents.third.entity.TaMpInfo;
9
+import com.huiju.estateagents.third.service.ITaMpInfoService;
10
+import me.chanjar.weixin.mp.api.WxMpService;
11
+import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
12
+import me.chanjar.weixin.mp.config.WxMpConfigStorage;
13
+import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
8 14
 import org.springframework.beans.factory.annotation.Autowired;
9 15
 import org.springframework.stereotype.Component;
10 16
 
11 17
 import javax.annotation.PostConstruct;
18
+import java.util.HashMap;
12 19
 import java.util.List;
20
+import java.util.Map;
13 21
 import java.util.concurrent.ConcurrentHashMap;
14 22
 
15 23
 @Component
16 24
 public class WxUtils {
25
+    // 小程序
17 26
     private ConcurrentHashMap<String, WxMaService> serives = new ConcurrentHashMap();
18 27
 
28
+    // 公众号
29
+    private WxMpService mpServices = new WxMpServiceImpl();
30
+
19 31
     @Autowired
20 32
     IMiniAppService iMiniAppService;
21 33
 
34
+    @Autowired
35
+    ITaMpInfoService iTaMpInfoService;
36
+
22 37
     public WxMaService getMiniApp(String appid) {
23 38
         return serives.get(appid);
24 39
     }
25 40
 
41
+    public WxMpService getMpService() { return mpServices; }
42
+    public WxMpService getMpService(Integer orgId) {
43
+        TaMpInfo mpInfo = iTaMpInfoService.getByOrgId(orgId);
44
+        return mpServices.switchoverTo(mpInfo.getAppid());
45
+    }
46
+
26 47
     @PostConstruct
27 48
     public void init() {
28
-        System.out.println("-------------PostConstruct----------------");
29 49
 
50
+        // 初始化小程序
30 51
         List<TaMiniapp> taMiniappList = iMiniAppService.getAllAvaliableMiniapps();
31 52
         if (null == taMiniappList) {
32 53
             return;
@@ -36,6 +57,27 @@ public class WxUtils {
36 57
             WxMaService service = newService(taMiniapp);
37 58
             serives.put(taMiniapp.getMiniappId(), service);
38 59
         }
60
+
61
+        // 初始化公众号
62
+        try {
63
+            List<TaMpInfo> mpInfoList = iTaMpInfoService.getAllAvaliable();
64
+            if (null != mpInfoList && mpInfoList.size() > 0) {
65
+                Map<String, WxMpConfigStorage> configStorages = new HashMap<>();
66
+                for (TaMpInfo mpInfo: mpInfoList) {
67
+                    WxMpDefaultConfigImpl wxMpDefaultConfig = new WxMpDefaultConfigImpl();
68
+                    wxMpDefaultConfig.setAppId(mpInfo.getAppid());
69
+                    wxMpDefaultConfig.setSecret(mpInfo.getSecret());
70
+                    wxMpDefaultConfig.setToken(mpInfo.getToken());
71
+                    wxMpDefaultConfig.setAesKey(mpInfo.getAesKey());
72
+                    configStorages.put(mpInfo.getAppid(), wxMpDefaultConfig);
73
+                }
74
+                mpServices.setMultiConfigStorages(configStorages);
75
+            }
76
+        } catch (Exception e) {
77
+            e.printStackTrace();
78
+            System.exit(1);
79
+        }
80
+
39 81
     }
40 82
 
41 83
     public WxMaService newService(TaMiniapp taMiniapp, boolean ...changeServices) {

+ 9
- 0
src/main/java/com/huiju/estateagents/controller/MiniAppController.java Parādīt failu

@@ -22,6 +22,7 @@ import com.huiju.estateagents.mapper.TaOrgCityMapper;
22 22
 import com.huiju.estateagents.mapper.TaSalesBatchMapper;
23 23
 import com.huiju.estateagents.property.model.TaUserVerify;
24 24
 import com.huiju.estateagents.property.service.ITaUserVerifyService;
25
+import com.huiju.estateagents.redpack.service.ITaMpMiniappService;
25 26
 import com.huiju.estateagents.service.*;
26 27
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
27 28
 import io.swagger.annotations.Api;
@@ -129,6 +130,9 @@ public class MiniAppController extends BaseController {
129 130
     @Autowired
130 131
     private ITaUserVerifyService taUserVerifyService;
131 132
 
133
+    @Autowired
134
+    private ITaMpMiniappService iTaMpMiniappService;
135
+
132 136
     /**
133 137
      * 验证接入
134 138
      */
@@ -197,6 +201,7 @@ public class MiniAppController extends BaseController {
197 201
             String code,
198 202
             @RequestParam(required = false) String from,
199 203
             @RequestParam(required = false) String recommender,
204
+            @RequestParam(required = false) String mpOpenId,
200 205
             @RequestParam(required = false) String targetId,
201 206
             @RequestParam(required = false) Integer scene,
202 207
             HttpServletRequest request) {
@@ -250,6 +255,10 @@ public class MiniAppController extends BaseController {
250 255
             }
251 256
             taPersonService.updateById(taPerson);
252 257
 
258
+            if (StringUtils.isEmpty(mpOpenId)) {
259
+                iTaMpMiniappService.mpPerson(taPerson, mpOpenId);
260
+            }
261
+
253 262
             Map<Object, Object> map = new HashMap<>();
254 263
             map.put("openId", session.getOpenid());
255 264
             map.put("orgId", orgId);

+ 136
- 0
src/main/java/com/huiju/estateagents/controller/WxPortalController.java Parādīt failu

@@ -0,0 +1,136 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+import com.huiju.estateagents.base.BaseController;
4
+import com.huiju.estateagents.common.CommConstant;
5
+import com.huiju.estateagents.common.WxUtils;
6
+import com.huiju.estateagents.entity.TaMiniapp;
7
+import com.huiju.estateagents.redpack.entity.TaMpPerson;
8
+import com.huiju.estateagents.redpack.service.ITaMpPersonService;
9
+import com.huiju.estateagents.service.IMiniAppService;
10
+import com.huiju.estateagents.third.entity.TaMpInfo;
11
+import com.huiju.estateagents.third.service.ITaMpInfoService;
12
+import lombok.extern.slf4j.Slf4j;
13
+import me.chanjar.weixin.common.api.WxConsts;
14
+import me.chanjar.weixin.common.error.WxErrorException;
15
+import me.chanjar.weixin.mp.api.WxMpKefuService;
16
+import me.chanjar.weixin.mp.api.WxMpService;
17
+import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
18
+import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
19
+import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
20
+import org.springframework.beans.factory.annotation.Autowired;
21
+import org.springframework.beans.factory.annotation.Value;
22
+import org.springframework.web.bind.annotation.*;
23
+
24
+import java.time.LocalDateTime;
25
+
26
+@Slf4j
27
+@RestController
28
+@RequestMapping("/api/mp/portal/{appid}")
29
+public class WxPortalController extends BaseController {
30
+
31
+    @Autowired
32
+    ITaMpInfoService iTaMpInfoService;
33
+
34
+    @Autowired
35
+    ITaMpPersonService iTaMpPersonService;
36
+
37
+    @Autowired
38
+    private IMiniAppService iMiniAppService;
39
+
40
+    @Autowired
41
+    WxUtils wxUtils;
42
+
43
+    @Value("${wx.miniapp.index}")
44
+    String miniAppIndex;
45
+
46
+    /**
47
+     * 微信公众号接入
48
+     * @param appid
49
+     * @param signature
50
+     * @param timestamp
51
+     * @param nonce
52
+     * @param echostr
53
+     * @return
54
+     */
55
+    @GetMapping(produces = "text/plain;charset=utf-8")
56
+    public String authGet(@PathVariable String appid,
57
+                          @RequestParam(name = "signature", required = false) String signature,
58
+                          @RequestParam(name = "timestamp", required = false) String timestamp,
59
+                          @RequestParam(name = "nonce", required = false) String nonce,
60
+                          @RequestParam(name = "echostr", required = false) String echostr) {
61
+        return echostr;
62
+    }
63
+
64
+    @PostMapping(produces = "application/xml; charset=UTF-8")
65
+    public String post(@PathVariable String appid,
66
+                       @RequestBody String requestBody,
67
+                       @RequestParam("signature") String signature,
68
+                       @RequestParam("timestamp") String timestamp,
69
+                       @RequestParam("nonce") String nonce,
70
+                       @RequestParam("openid") String openid,
71
+                       @RequestParam(name = "encrypt_type", required = false) String encType,
72
+                       @RequestParam(name = "msg_signature", required = false) String msgSignature) {
73
+
74
+        log.info("\n接收微信请求:[openid=[{}], [signature=[{}], encType=[{}], msgSignature=[{}],"
75
+                        + " timestamp=[{}], nonce=[{}], requestBody=[\n{}\n] ",
76
+                openid, signature, encType, msgSignature, timestamp, nonce, requestBody);
77
+
78
+        WxMpService mpService = wxUtils.getMpService().switchoverTo(appid);
79
+        if (null == mpService) {
80
+            throw new IllegalArgumentException(String.format("未找到对应appid=[%s]的配置,请核实!", appid));
81
+        }
82
+
83
+        if (!mpService.checkSignature(timestamp, nonce, signature)) {
84
+            throw new IllegalArgumentException("非法请求,可能属于伪造的请求!");
85
+        }
86
+
87
+        // 对应表数据
88
+        TaMpInfo mpInfo = iTaMpInfoService.getById(appid);
89
+
90
+        WxMpXmlMessage inMessage = null;
91
+        WxMpXmlOutMessage outMessage = null;
92
+        if (encType == null) {
93
+            // 明文传输的消息
94
+            inMessage = WxMpXmlMessage.fromXml(requestBody);
95
+        } else if ("aes".equalsIgnoreCase(encType)) {
96
+            // aes加密的消息
97
+            inMessage = WxMpXmlMessage.fromEncryptedXml(requestBody, mpService.getWxMpConfigStorage(),
98
+                    timestamp, nonce, msgSignature);
99
+            log.debug("\n消息解密后内容为:\n{} ", inMessage.toString());
100
+        }
101
+
102
+        // 关注公众号
103
+        if (inMessage.getMsgType().equals(WxConsts.XmlMsgType.EVENT) && inMessage.getEvent().equals(WxConsts.EventType.SUBSCRIBE)) {
104
+            // 新增人员
105
+            TaMpPerson taMpPerson = new TaMpPerson();
106
+            taMpPerson.setAppid(appid);
107
+            taMpPerson.setMpOpenid(openid);
108
+            taMpPerson.setOrgId(mpInfo.getOrgId());
109
+            taMpPerson.setCreateDate(LocalDateTime.now());
110
+            taMpPerson.setStatus(CommConstant.STATUS_NORMAL);
111
+            TaMpPerson person = iTaMpPersonService.newPerson(taMpPerson);
112
+
113
+            // 发送客服消息
114
+            sendMiniAppKefuMessage(mpService, encType, mpInfo, inMessage, person);
115
+        }
116
+
117
+        return "";
118
+    }
119
+
120
+    private void sendMiniAppKefuMessage(WxMpService mpService, String encType, TaMpInfo mpInfo, WxMpXmlMessage message, TaMpPerson person) {
121
+
122
+        TaMiniapp taMiniapp = iMiniAppService.getAppByOrg(mpInfo.getOrgId());
123
+
124
+        WxMpKefuMessage kefuMessage = WxMpKefuMessage.MINIPROGRAMPAGE().appId(taMiniapp.getMiniappId())
125
+                .title(taMiniapp.getName() + "欢迎您!")
126
+                .pagePath(miniAppIndex + "?mpOpenId=" + message.getOpenId())
127
+                .thumbMediaId(mpInfo.getMiniappThumb())
128
+                .build();
129
+
130
+        try {
131
+            mpService.getKefuService().sendKefuMessage(kefuMessage);
132
+        } catch (WxErrorException e) {
133
+            e.printStackTrace();
134
+        }
135
+    }
136
+}

+ 1
- 1
src/main/java/com/huiju/estateagents/redpack/entity/TaMpPerson.java Parādīt failu

@@ -85,5 +85,5 @@ public class TaMpPerson implements Serializable {
85 85
      */
86 86
     private Integer status;
87 87
 
88
-
88
+    private Integer orgId;
89 89
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaMpPersonMapper.java Parādīt failu

@@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Mapper;
4 4
 
5 5
 import com.huiju.estateagents.redpack.entity.TaMpPerson;
6 6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7
+import org.apache.ibatis.annotations.Param;
7 8
 
8 9
 /**
9 10
  * <p>
@@ -16,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
16 17
 @Mapper
17 18
 public interface TaMpPersonMapper extends BaseMapper<TaMpPerson> {
18 19
 
20
+    TaMpPerson getByMiniAppPerson(@Param("orgId") Integer orgId, @Param("miniAppPersonId") String miniAppPersonId);
19 21
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaMpMiniappService.java Parādīt failu

@@ -1,5 +1,6 @@
1 1
 package com.huiju.estateagents.redpack.service;
2 2
 
3
+import com.huiju.estateagents.entity.TaPerson;
3 4
 import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
4 5
 import com.baomidou.mybatisplus.extension.service.IService;
5 6
 
@@ -13,4 +14,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 14
  */
14 15
 public interface ITaMpMiniappService extends IService<TaMpMiniapp> {
15 16
 
17
+    void mpPerson(TaPerson taPerson, String mpOpenId);
18
+
19
+    TaMpMiniapp getByMiniAppPerson(String miniAppPersonId);
16 20
 }

+ 5
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaMpPersonService.java Parādīt failu

@@ -13,4 +13,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 13
  */
14 14
 public interface ITaMpPersonService extends IService<TaMpPerson> {
15 15
 
16
+    TaMpPerson newPerson(TaMpPerson taMpPerson);
17
+
18
+    TaMpPerson getByOpenId(Integer orgId, String appid, String openid);
19
+
20
+    TaMpPerson getByMiniAppPerson(Integer orgId, String miniAppPersonId);
16 21
 }

+ 46
- 0
src/main/java/com/huiju/estateagents/redpack/service/impl/TaMpMiniappServiceImpl.java Parādīt failu

@@ -1,9 +1,17 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.huiju.estateagents.entity.TaPerson;
3 5
 import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
6
+import com.huiju.estateagents.redpack.entity.TaMpPerson;
4 7
 import com.huiju.estateagents.redpack.mapper.TaMpMiniappMapper;
8
+import com.huiju.estateagents.redpack.mapper.TaMpPersonMapper;
5 9
 import com.huiju.estateagents.redpack.service.ITaMpMiniappService;
6 10
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
11
+import com.huiju.estateagents.redpack.service.ITaMpPersonService;
12
+import com.huiju.estateagents.third.entity.TaMpInfo;
13
+import com.huiju.estateagents.third.service.ITaMpInfoService;
14
+import org.springframework.beans.factory.annotation.Autowired;
7 15
 import org.springframework.stereotype.Service;
8 16
 
9 17
 /**
@@ -16,5 +24,43 @@ import org.springframework.stereotype.Service;
16 24
  */
17 25
 @Service
18 26
 public class TaMpMiniappServiceImpl extends ServiceImpl<TaMpMiniappMapper, TaMpMiniapp> implements ITaMpMiniappService {
27
+    @Autowired
28
+    ITaMpPersonService iTaMpPersonService;
19 29
 
30
+    @Autowired
31
+    ITaMpInfoService iTaMpInfoService;
32
+
33
+    @Override
34
+    public void mpPerson(TaPerson taPerson, String mpOpenId) {
35
+        TaMpInfo mpInfo = iTaMpInfoService.getByOrgId(taPerson.getOrgId());
36
+
37
+        TaMpPerson mpPerson = iTaMpPersonService.getByOpenId(taPerson.getOrgId(), mpInfo.getAppid(), mpOpenId);
38
+        if (null == mpPerson) {
39
+            return;
40
+        }
41
+
42
+        TaMpMiniapp origin = getByPrimaryKey(taPerson.getPersonId(), mpPerson.getMpPersonId());
43
+        if (null == origin) {
44
+            TaMpMiniapp mpMiniapp = new TaMpMiniapp();
45
+            mpMiniapp.setMiniappPersonId(taPerson.getPersonId());
46
+            mpMiniapp.setMpPersonId(mpPerson.getMpPersonId());
47
+            save(mpMiniapp);
48
+        }
49
+    }
50
+
51
+    @Override
52
+    public TaMpMiniapp getByMiniAppPerson(String miniAppPersonId) {
53
+        QueryWrapper<TaMpMiniapp> queryWrapper = new QueryWrapper<>();
54
+        queryWrapper.eq("miniapp_person_id", miniAppPersonId);
55
+
56
+        return getOne(queryWrapper);
57
+    }
58
+
59
+    private TaMpMiniapp getByPrimaryKey(String miniPersonId, String mpPersonId) {
60
+        QueryWrapper<TaMpMiniapp> queryWrapper = new QueryWrapper<>();
61
+        queryWrapper.eq("miniapp_person_id", miniPersonId);
62
+        queryWrapper.eq("mp_person_id", mpPersonId);
63
+
64
+        return getOne(queryWrapper);
65
+    }
20 66
 }

+ 34
- 0
src/main/java/com/huiju/estateagents/redpack/service/impl/TaMpPersonServiceImpl.java Parādīt failu

@@ -1,9 +1,12 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.huiju.estateagents.redpack.entity.TaMpPerson;
4 5
 import com.huiju.estateagents.redpack.mapper.TaMpPersonMapper;
6
+import com.huiju.estateagents.redpack.service.ITaMpMiniappService;
5 7
 import com.huiju.estateagents.redpack.service.ITaMpPersonService;
6 8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
+import org.springframework.beans.factory.annotation.Autowired;
7 10
 import org.springframework.stereotype.Service;
8 11
 
9 12
 /**
@@ -17,4 +20,35 @@ import org.springframework.stereotype.Service;
17 20
 @Service
18 21
 public class TaMpPersonServiceImpl extends ServiceImpl<TaMpPersonMapper, TaMpPerson> implements ITaMpPersonService {
19 22
 
23
+    @Autowired
24
+    ITaMpMiniappService iTaMpMiniappService;
25
+
26
+    @Autowired
27
+    TaMpPersonMapper taMpPersonMapper;
28
+
29
+    @Override
30
+    public TaMpPerson newPerson(TaMpPerson taMpPerson) {
31
+        TaMpPerson origin = getByOpenId(taMpPerson.getOrgId(), taMpPerson.getAppid(), taMpPerson.getMpOpenid());
32
+        if (null != origin) {
33
+            return origin;
34
+        }
35
+
36
+        save(taMpPerson);
37
+        return getByOpenId(taMpPerson.getOrgId(), taMpPerson.getAppid(), taMpPerson.getMpOpenid());
38
+    }
39
+
40
+    @Override
41
+    public TaMpPerson getByOpenId(Integer orgId, String appid, String openid) {
42
+        QueryWrapper<TaMpPerson> queryWrapper = new QueryWrapper<>();
43
+        queryWrapper.eq("org_id", orgId);
44
+        queryWrapper.eq("appid", appid);
45
+        queryWrapper.eq("mp_openid", openid);
46
+
47
+        return getOne(queryWrapper);
48
+    }
49
+
50
+    @Override
51
+    public TaMpPerson getByMiniAppPerson(Integer orgId, String miniAppPersonId) {
52
+        return taMpPersonMapper.getByMiniAppPerson(orgId, miniAppPersonId);
53
+    }
20 54
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/service/IMiniAppService.java Parādīt failu

@@ -45,4 +45,6 @@ public interface IMiniAppService {
45 45
     List<TaMiniappTemplate> getTpls(String appid);
46 46
 
47 47
     ResponseBean getOrgQrCode(String paramsStr, Integer orgId);
48
+
49
+    TaMiniapp getAppByOrg(Integer orgId);
48 50
 }

+ 9
- 0
src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java Parādīt failu

@@ -551,6 +551,15 @@ public class MiniAppServiceImpl implements IMiniAppService {
551 551
         return this.getQrCode(paramsStr, taMiniapp.getMiniappId());
552 552
     }
553 553
 
554
+    @Override
555
+    public TaMiniapp getAppByOrg(Integer orgId) {
556
+        QueryWrapper<TaMiniapp> query = new QueryWrapper<>();
557
+        query.eq("org_id", orgId);
558
+        query.last("limit 1");
559
+
560
+        return taMiniappMapper.selectOne(query);
561
+    }
562
+
554 563
     public TaMiniapp getMinappByOrg(Integer org) {
555 564
         QueryWrapper<TaMiniapp> queryWrapper = new QueryWrapper<>();
556 565
         queryWrapper.eq("org_id", org);

+ 4
- 1
src/main/java/com/huiju/estateagents/third/entity/TaMpInfo.java Parādīt failu

@@ -66,5 +66,8 @@ public class TaMpInfo implements Serializable {
66 66
      */
67 67
     private Integer status;
68 68
 
69
-
69
+    /**
70
+     * 对应小程序的封面 mediaId
71
+     */
72
+    private String miniappThumb;
70 73
 }

+ 5
- 0
src/main/java/com/huiju/estateagents/third/service/ITaMpInfoService.java Parādīt failu

@@ -3,6 +3,8 @@ package com.huiju.estateagents.third.service;
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.third.entity.TaMpInfo;
5 5
 
6
+import java.util.List;
7
+
6 8
 /**
7 9
  * <p>
8 10
  *   服务类
@@ -13,4 +15,7 @@ import com.huiju.estateagents.third.entity.TaMpInfo;
13 15
  */
14 16
 public interface ITaMpInfoService extends IService<TaMpInfo> {
15 17
 
18
+    List<TaMpInfo> getAllAvaliable();
19
+
20
+    TaMpInfo getByOrgId(Integer orgId);
16 21
 }

+ 20
- 0
src/main/java/com/huiju/estateagents/third/service/impl/TaMpInfoServiceImpl.java Parādīt failu

@@ -1,11 +1,15 @@
1 1
 package com.huiju.estateagents.third.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.huiju.estateagents.common.CommConstant;
3 5
 import com.huiju.estateagents.third.entity.TaMpInfo;
4 6
 import com.huiju.estateagents.third.mapper.TaMpInfoMapper;
5 7
 import com.huiju.estateagents.third.service.ITaMpInfoService;
6 8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 9
 import org.springframework.stereotype.Service;
8 10
 
11
+import java.util.List;
12
+
9 13
 /**
10 14
  * <p>
11 15
  *   服务实现类
@@ -17,4 +21,20 @@ import org.springframework.stereotype.Service;
17 21
 @Service
18 22
 public class TaMpInfoServiceImpl extends ServiceImpl<TaMpInfoMapper, TaMpInfo> implements ITaMpInfoService {
19 23
 
24
+    @Override
25
+    public List<TaMpInfo> getAllAvaliable() {
26
+        QueryWrapper<TaMpInfo> queryWrapper = new QueryWrapper<>();
27
+        queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
28
+
29
+        return list(queryWrapper);
30
+    }
31
+
32
+    @Override
33
+    public TaMpInfo getByOrgId(Integer orgId) {
34
+        QueryWrapper<TaMpInfo> queryWrapper = new QueryWrapper<>();
35
+        queryWrapper.eq("org_id", orgId);
36
+        queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
37
+
38
+        return getOne(queryWrapper);
39
+    }
20 40
 }

+ 4
- 0
src/main/resources/application.yml Parādīt failu

@@ -10,3 +10,7 @@ sms-service:
10 10
     code: SMS_27440200
11 11
     product: 【远道荟】
12 12
     sign: 身份验证
13
+
14
+wx:
15
+  miniapp:
16
+    index: /pages/ShouYe/index

+ 10
- 0
src/main/resources/mapper/redpack/TaMpPersonMapper.xml Parādīt failu

@@ -2,4 +2,14 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.huiju.estateagents.redpack.mapper.TaMpPersonMapper">
4 4
 
5
+    <select id="getByMiniAppPerson" resultType="com.huiju.estateagents.redpack.entity.TaMpPerson">
6
+        SELECT
7
+            t.*
8
+        FROM
9
+            ta_mp_person t
10
+        INNER JOIN ta_mp_miniapp s ON t.mp_person_id = s.mp_person_id
11
+        WHERE
12
+            t.org_id = #{orgId}
13
+            AND s.miniapp_person_id = #{miniAppPersonId}
14
+    </select>
5 15
 </mapper>