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

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

5
 import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
5
 import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
6
 import com.huiju.estateagents.entity.TaMiniapp;
6
 import com.huiju.estateagents.entity.TaMiniapp;
7
 import com.huiju.estateagents.service.IMiniAppService;
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
 import org.springframework.beans.factory.annotation.Autowired;
14
 import org.springframework.beans.factory.annotation.Autowired;
9
 import org.springframework.stereotype.Component;
15
 import org.springframework.stereotype.Component;
10
 
16
 
11
 import javax.annotation.PostConstruct;
17
 import javax.annotation.PostConstruct;
18
+import java.util.HashMap;
12
 import java.util.List;
19
 import java.util.List;
20
+import java.util.Map;
13
 import java.util.concurrent.ConcurrentHashMap;
21
 import java.util.concurrent.ConcurrentHashMap;
14
 
22
 
15
 @Component
23
 @Component
16
 public class WxUtils {
24
 public class WxUtils {
25
+    // 小程序
17
     private ConcurrentHashMap<String, WxMaService> serives = new ConcurrentHashMap();
26
     private ConcurrentHashMap<String, WxMaService> serives = new ConcurrentHashMap();
18
 
27
 
28
+    // 公众号
29
+    private WxMpService mpServices = new WxMpServiceImpl();
30
+
19
     @Autowired
31
     @Autowired
20
     IMiniAppService iMiniAppService;
32
     IMiniAppService iMiniAppService;
21
 
33
 
34
+    @Autowired
35
+    ITaMpInfoService iTaMpInfoService;
36
+
22
     public WxMaService getMiniApp(String appid) {
37
     public WxMaService getMiniApp(String appid) {
23
         return serives.get(appid);
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
     @PostConstruct
47
     @PostConstruct
27
     public void init() {
48
     public void init() {
28
-        System.out.println("-------------PostConstruct----------------");
29
 
49
 
50
+        // 初始化小程序
30
         List<TaMiniapp> taMiniappList = iMiniAppService.getAllAvaliableMiniapps();
51
         List<TaMiniapp> taMiniappList = iMiniAppService.getAllAvaliableMiniapps();
31
         if (null == taMiniappList) {
52
         if (null == taMiniappList) {
32
             return;
53
             return;
36
             WxMaService service = newService(taMiniapp);
57
             WxMaService service = newService(taMiniapp);
37
             serives.put(taMiniapp.getMiniappId(), service);
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
     public WxMaService newService(TaMiniapp taMiniapp, boolean ...changeServices) {
83
     public WxMaService newService(TaMiniapp taMiniapp, boolean ...changeServices) {

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

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

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

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
      */
85
      */
86
     private Integer status;
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
 
4
 
5
 import com.huiju.estateagents.redpack.entity.TaMpPerson;
5
 import com.huiju.estateagents.redpack.entity.TaMpPerson;
6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7
+import org.apache.ibatis.annotations.Param;
7
 
8
 
8
 /**
9
 /**
9
  * <p>
10
  * <p>
16
 @Mapper
17
 @Mapper
17
 public interface TaMpPersonMapper extends BaseMapper<TaMpPerson> {
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
 package com.huiju.estateagents.redpack.service;
1
 package com.huiju.estateagents.redpack.service;
2
 
2
 
3
+import com.huiju.estateagents.entity.TaPerson;
3
 import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
4
 import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
4
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.baomidou.mybatisplus.extension.service.IService;
5
 
6
 
13
  */
14
  */
14
 public interface ITaMpMiniappService extends IService<TaMpMiniapp> {
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
  */
13
  */
14
 public interface ITaMpPersonService extends IService<TaMpPerson> {
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
 package com.huiju.estateagents.redpack.service.impl;
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
 import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
5
 import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
6
+import com.huiju.estateagents.redpack.entity.TaMpPerson;
4
 import com.huiju.estateagents.redpack.mapper.TaMpMiniappMapper;
7
 import com.huiju.estateagents.redpack.mapper.TaMpMiniappMapper;
8
+import com.huiju.estateagents.redpack.mapper.TaMpPersonMapper;
5
 import com.huiju.estateagents.redpack.service.ITaMpMiniappService;
9
 import com.huiju.estateagents.redpack.service.ITaMpMiniappService;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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
 import org.springframework.stereotype.Service;
15
 import org.springframework.stereotype.Service;
8
 
16
 
9
 /**
17
 /**
16
  */
24
  */
17
 @Service
25
 @Service
18
 public class TaMpMiniappServiceImpl extends ServiceImpl<TaMpMiniappMapper, TaMpMiniapp> implements ITaMpMiniappService {
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
 package com.huiju.estateagents.redpack.service.impl;
1
 package com.huiju.estateagents.redpack.service.impl;
2
 
2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 import com.huiju.estateagents.redpack.entity.TaMpPerson;
4
 import com.huiju.estateagents.redpack.entity.TaMpPerson;
4
 import com.huiju.estateagents.redpack.mapper.TaMpPersonMapper;
5
 import com.huiju.estateagents.redpack.mapper.TaMpPersonMapper;
6
+import com.huiju.estateagents.redpack.service.ITaMpMiniappService;
5
 import com.huiju.estateagents.redpack.service.ITaMpPersonService;
7
 import com.huiju.estateagents.redpack.service.ITaMpPersonService;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
+import org.springframework.beans.factory.annotation.Autowired;
7
 import org.springframework.stereotype.Service;
10
 import org.springframework.stereotype.Service;
8
 
11
 
9
 /**
12
 /**
17
 @Service
20
 @Service
18
 public class TaMpPersonServiceImpl extends ServiceImpl<TaMpPersonMapper, TaMpPerson> implements ITaMpPersonService {
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
     List<TaMiniappTemplate> getTpls(String appid);
45
     List<TaMiniappTemplate> getTpls(String appid);
46
 
46
 
47
     ResponseBean getOrgQrCode(String paramsStr, Integer orgId);
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
         return this.getQrCode(paramsStr, taMiniapp.getMiniappId());
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
     public TaMiniapp getMinappByOrg(Integer org) {
563
     public TaMiniapp getMinappByOrg(Integer org) {
555
         QueryWrapper<TaMiniapp> queryWrapper = new QueryWrapper<>();
564
         QueryWrapper<TaMiniapp> queryWrapper = new QueryWrapper<>();
556
         queryWrapper.eq("org_id", org);
565
         queryWrapper.eq("org_id", org);

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

66
      */
66
      */
67
     private Integer status;
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
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.huiju.estateagents.third.entity.TaMpInfo;
4
 import com.huiju.estateagents.third.entity.TaMpInfo;
5
 
5
 
6
+import java.util.List;
7
+
6
 /**
8
 /**
7
  * <p>
9
  * <p>
8
  *   服务类
10
  *   服务类
13
  */
15
  */
14
 public interface ITaMpInfoService extends IService<TaMpInfo> {
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
 package com.huiju.estateagents.third.service.impl;
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
 import com.huiju.estateagents.third.entity.TaMpInfo;
5
 import com.huiju.estateagents.third.entity.TaMpInfo;
4
 import com.huiju.estateagents.third.mapper.TaMpInfoMapper;
6
 import com.huiju.estateagents.third.mapper.TaMpInfoMapper;
5
 import com.huiju.estateagents.third.service.ITaMpInfoService;
7
 import com.huiju.estateagents.third.service.ITaMpInfoService;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
 import org.springframework.stereotype.Service;
9
 import org.springframework.stereotype.Service;
8
 
10
 
11
+import java.util.List;
12
+
9
 /**
13
 /**
10
  * <p>
14
  * <p>
11
  *   服务实现类
15
  *   服务实现类
17
 @Service
21
 @Service
18
 public class TaMpInfoServiceImpl extends ServiceImpl<TaMpInfoMapper, TaMpInfo> implements ITaMpInfoService {
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
     code: SMS_27440200
10
     code: SMS_27440200
11
     product: 【远道荟】
11
     product: 【远道荟】
12
     sign: 身份验证
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
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
 <mapper namespace="com.huiju.estateagents.redpack.mapper.TaMpPersonMapper">
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
 </mapper>
15
 </mapper>