傅行帆 il y a 4 ans
Parent
révision
46b69d06db
23 fichiers modifiés avec 904 ajouts et 5 suppressions
  1. 11
    1
      pom.xml
  2. 41
    0
      src/main/java/com/huiju/estateagents/common/WxMpUtils.java
  3. 1
    0
      src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java
  4. 143
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaMpMiniappController.java
  5. 143
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaMpPersonController.java
  6. 35
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaMpMiniapp.java
  7. 86
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaMpPerson.java
  8. 16
    0
      src/main/java/com/huiju/estateagents/redpack/mapper/TaMpMiniappMapper.java
  9. 16
    0
      src/main/java/com/huiju/estateagents/redpack/mapper/TaMpPersonMapper.java
  10. 16
    0
      src/main/java/com/huiju/estateagents/redpack/service/ITaMpMiniappService.java
  11. 16
    0
      src/main/java/com/huiju/estateagents/redpack/service/ITaMpPersonService.java
  12. 20
    0
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaMpMiniappServiceImpl.java
  13. 20
    0
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaMpPersonServiceImpl.java
  14. 4
    4
      src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java
  15. 143
    0
      src/main/java/com/huiju/estateagents/third/controller/TaMpInfoController.java
  16. 54
    0
      src/main/java/com/huiju/estateagents/third/controller/WxRedpackController.java
  17. 70
    0
      src/main/java/com/huiju/estateagents/third/entity/TaMpInfo.java
  18. 18
    0
      src/main/java/com/huiju/estateagents/third/mapper/TaMpInfoMapper.java
  19. 16
    0
      src/main/java/com/huiju/estateagents/third/service/ITaMpInfoService.java
  20. 20
    0
      src/main/java/com/huiju/estateagents/third/service/impl/TaMpInfoServiceImpl.java
  21. 5
    0
      src/main/resources/mapper/TaMpInfoMapper.xml
  22. 5
    0
      src/main/resources/mapper/redpack/TaMpMiniappMapper.xml
  23. 5
    0
      src/main/resources/mapper/redpack/TaMpPersonMapper.xml

+ 11
- 1
pom.xml Voir le fichier

@@ -56,7 +56,17 @@
56 56
 		<dependency>
57 57
 			<groupId>com.github.binarywang</groupId>
58 58
 			<artifactId>weixin-java-miniapp</artifactId>
59
-			<version>3.6.0</version>
59
+			<version>3.8.0</version>
60
+		</dependency>
61
+		<dependency>
62
+			<groupId>com.github.binarywang</groupId>
63
+			<artifactId>weixin-java-mp</artifactId>
64
+			<version>3.8.0</version>
65
+		</dependency>
66
+		<dependency>
67
+			<groupId>com.github.binarywang</groupId>
68
+			<artifactId>weixin-java-pay</artifactId>
69
+			<version>3.8.0</version>
60 70
 		</dependency>
61 71
 		<dependency>
62 72
 			<groupId>com.alibaba</groupId>

+ 41
- 0
src/main/java/com/huiju/estateagents/common/WxMpUtils.java Voir le fichier

@@ -0,0 +1,41 @@
1
+package com.huiju.estateagents.common;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.huiju.estateagents.third.entity.TaMpInfo;
5
+import com.huiju.estateagents.third.service.ITaMpInfoService;
6
+import me.chanjar.weixin.mp.api.WxMpService;
7
+import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
8
+import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
9
+import org.springframework.beans.factory.annotation.Autowired;
10
+import org.springframework.stereotype.Component;
11
+
12
+import javax.annotation.PostConstruct;
13
+import java.util.List;
14
+import java.util.stream.Collectors;
15
+
16
+@Component
17
+public class WxMpUtils {
18
+
19
+    @Autowired
20
+    public ITaMpInfoService iTaMpInfoService;
21
+
22
+    @PostConstruct
23
+    public WxMpService wxMpService() {
24
+        //从数据库读取公众号信息
25
+        QueryWrapper<TaMpInfo> queryWrapper = new QueryWrapper<>();
26
+        queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
27
+        List<TaMpInfo> mplist = iTaMpInfoService.list(queryWrapper);
28
+
29
+        WxMpService service = new WxMpServiceImpl();
30
+        service.setMultiConfigStorages(mplist
31
+                .stream().map(a -> {
32
+                    WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl();
33
+                    configStorage.setAppId(a.getAppid());
34
+                    configStorage.setSecret(a.getSecret());
35
+                    configStorage.setToken(a.getToken());
36
+                    configStorage.setAesKey(a.getAesKey());
37
+                    return configStorage;
38
+                }).collect(Collectors.toMap(WxMpDefaultConfigImpl::getAppId, a -> a, (o, n) -> o)));
39
+        return service;
40
+    }
41
+}

+ 1
- 0
src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java Voir le fichier

@@ -75,6 +75,7 @@ public class AccessInterceptor implements HandlerInterceptor {
75 75
             "/api/notify",//微信支付所有回调放过
76 76
             "/api/refund/",//微信退款所有回调放过
77 77
             "/api/fadd/",//所有的法大大回调放过
78
+            "/api/third"
78 79
     };
79 80
 
80 81
     /*

+ 143
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaMpMiniappController.java Voir le fichier

@@ -0,0 +1,143 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
9
+import com.huiju.estateagents.redpack.service.ITaMpMiniappService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+/**
16
+ * <p>
17
+    * 公众号小程序账户映射  前端控制器
18
+    * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-02
22
+ */
23
+@RestController
24
+@RequestMapping("/")
25
+public class TaMpMiniappController extends BaseController {
26
+
27
+    private final Logger logger = LoggerFactory.getLogger(TaMpMiniappController.class);
28
+
29
+    @Autowired
30
+    public ITaMpMiniappService iTaMpMiniappService;
31
+
32
+
33
+    /**
34
+     * 分页查询列表
35
+     * @param pageNum
36
+     * @param pageSize
37
+     * @return
38
+     */
39
+    @RequestMapping(value="/taMpMiniapp",method= RequestMethod.GET)
40
+    public ResponseBean taMpMiniappList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
+                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
42
+        ResponseBean responseBean = new ResponseBean();
43
+        try {
44
+            //使用分页插件
45
+		    IPage<TaMpMiniapp> pg = new Page<>(pageNum, pageSize);
46
+            QueryWrapper<TaMpMiniapp> queryWrapper = new QueryWrapper<>();
47
+            queryWrapper.orderByDesc("create_date");
48
+
49
+            IPage<TaMpMiniapp> result = iTaMpMiniappService.page(pg, queryWrapper);
50
+            responseBean.addSuccess(result);
51
+        }catch (Exception e){
52
+            e.printStackTrace();
53
+            logger.error("taMpMiniappList -=- {}",e.toString());
54
+            responseBean.addError(e.getMessage());
55
+        }
56
+        return responseBean;
57
+    }
58
+
59
+    /**
60
+     * 保存对象
61
+     * @param taMpMiniapp 实体对象
62
+     * @return
63
+     */
64
+    @RequestMapping(value="/taMpMiniapp",method= RequestMethod.POST)
65
+    public ResponseBean taMpMiniappAdd(@RequestBody TaMpMiniapp taMpMiniapp){
66
+        ResponseBean responseBean = new ResponseBean();
67
+        try {
68
+            if (iTaMpMiniappService.save(taMpMiniapp)){
69
+                responseBean.addSuccess(taMpMiniapp);
70
+            }else {
71
+                responseBean.addError("fail");
72
+            }
73
+        }catch (Exception e){
74
+            e.printStackTrace();
75
+            logger.error("taMpMiniappAdd -=- {}",e.toString());
76
+            responseBean.addError(e.getMessage());
77
+        }
78
+        return responseBean;
79
+    }
80
+
81
+    /**
82
+     * 根据id删除对象
83
+     * @param id  实体ID
84
+     */
85
+    @ResponseBody
86
+    @RequestMapping(value="/taMpMiniapp/{id}", method= RequestMethod.DELETE)
87
+    public ResponseBean taMpMiniappDelete(@PathVariable Integer id){
88
+        ResponseBean responseBean = new ResponseBean();
89
+        try {
90
+            if(iTaMpMiniappService.removeById(id)){
91
+                responseBean.addSuccess("success");
92
+            }else {
93
+                responseBean.addError("fail");
94
+            }
95
+        }catch (Exception e){
96
+            e.printStackTrace();
97
+            logger.error("taMpMiniappDelete -=- {}",e.toString());
98
+            responseBean.addError(e.getMessage());
99
+        }
100
+        return responseBean;
101
+    }
102
+
103
+    /**
104
+     * 修改对象
105
+     * @param id  实体ID
106
+     * @param taMpMiniapp 实体对象
107
+     * @return
108
+     */
109
+    @RequestMapping(value="/taMpMiniapp/{id}",method= RequestMethod.PUT)
110
+    public ResponseBean taMpMiniappUpdate(@PathVariable Integer id,
111
+                                        @RequestBody TaMpMiniapp taMpMiniapp){
112
+        ResponseBean responseBean = new ResponseBean();
113
+        try {
114
+            if (iTaMpMiniappService.updateById(taMpMiniapp)){
115
+                responseBean.addSuccess(taMpMiniapp);
116
+            }else {
117
+                responseBean.addError("fail");
118
+            }
119
+        }catch (Exception e){
120
+            e.printStackTrace();
121
+            logger.error("taMpMiniappUpdate -=- {}",e.toString());
122
+            responseBean.addError(e.getMessage());
123
+        }
124
+        return responseBean;
125
+    }
126
+
127
+    /**
128
+     * 根据id查询对象
129
+     * @param id  实体ID
130
+     */
131
+    @RequestMapping(value="/taMpMiniapp/{id}",method= RequestMethod.GET)
132
+    public ResponseBean taMpMiniappGet(@PathVariable Integer id){
133
+        ResponseBean responseBean = new ResponseBean();
134
+        try {
135
+            responseBean.addSuccess(iTaMpMiniappService.getById(id));
136
+        }catch (Exception e){
137
+            e.printStackTrace();
138
+            logger.error("taMpMiniappDelete -=- {}",e.toString());
139
+            responseBean.addError(e.getMessage());
140
+        }
141
+        return responseBean;
142
+    }
143
+}

+ 143
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaMpPersonController.java Voir le fichier

@@ -0,0 +1,143 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.redpack.entity.TaMpPerson;
9
+import com.huiju.estateagents.redpack.service.ITaMpPersonService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+/**
16
+ * <p>
17
+    * 公众号用户表  前端控制器
18
+    * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-02
22
+ */
23
+@RestController
24
+@RequestMapping("/")
25
+public class TaMpPersonController extends BaseController {
26
+
27
+    private final Logger logger = LoggerFactory.getLogger(TaMpPersonController.class);
28
+
29
+    @Autowired
30
+    public ITaMpPersonService iTaMpPersonService;
31
+
32
+
33
+    /**
34
+     * 分页查询列表
35
+     * @param pageNum
36
+     * @param pageSize
37
+     * @return
38
+     */
39
+    @RequestMapping(value="/taMpPerson",method= RequestMethod.GET)
40
+    public ResponseBean taMpPersonList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
+                                       @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
42
+        ResponseBean responseBean = new ResponseBean();
43
+        try {
44
+            //使用分页插件
45
+		    IPage<TaMpPerson> pg = new Page<>(pageNum, pageSize);
46
+            QueryWrapper<TaMpPerson> queryWrapper = new QueryWrapper<>();
47
+            queryWrapper.orderByDesc("create_date");
48
+
49
+            IPage<TaMpPerson> result = iTaMpPersonService.page(pg, queryWrapper);
50
+            responseBean.addSuccess(result);
51
+        }catch (Exception e){
52
+            e.printStackTrace();
53
+            logger.error("taMpPersonList -=- {}",e.toString());
54
+            responseBean.addError(e.getMessage());
55
+        }
56
+        return responseBean;
57
+    }
58
+
59
+    /**
60
+     * 保存对象
61
+     * @param taMpPerson 实体对象
62
+     * @return
63
+     */
64
+    @RequestMapping(value="/taMpPerson",method= RequestMethod.POST)
65
+    public ResponseBean taMpPersonAdd(@RequestBody TaMpPerson taMpPerson){
66
+        ResponseBean responseBean = new ResponseBean();
67
+        try {
68
+            if (iTaMpPersonService.save(taMpPerson)){
69
+                responseBean.addSuccess(taMpPerson);
70
+            }else {
71
+                responseBean.addError("fail");
72
+            }
73
+        }catch (Exception e){
74
+            e.printStackTrace();
75
+            logger.error("taMpPersonAdd -=- {}",e.toString());
76
+            responseBean.addError(e.getMessage());
77
+        }
78
+        return responseBean;
79
+    }
80
+
81
+    /**
82
+     * 根据id删除对象
83
+     * @param id  实体ID
84
+     */
85
+    @ResponseBody
86
+    @RequestMapping(value="/taMpPerson/{id}", method= RequestMethod.DELETE)
87
+    public ResponseBean taMpPersonDelete(@PathVariable Integer id){
88
+        ResponseBean responseBean = new ResponseBean();
89
+        try {
90
+            if(iTaMpPersonService.removeById(id)){
91
+                responseBean.addSuccess("success");
92
+            }else {
93
+                responseBean.addError("fail");
94
+            }
95
+        }catch (Exception e){
96
+            e.printStackTrace();
97
+            logger.error("taMpPersonDelete -=- {}",e.toString());
98
+            responseBean.addError(e.getMessage());
99
+        }
100
+        return responseBean;
101
+    }
102
+
103
+    /**
104
+     * 修改对象
105
+     * @param id  实体ID
106
+     * @param taMpPerson 实体对象
107
+     * @return
108
+     */
109
+    @RequestMapping(value="/taMpPerson/{id}",method= RequestMethod.PUT)
110
+    public ResponseBean taMpPersonUpdate(@PathVariable Integer id,
111
+                                        @RequestBody TaMpPerson taMpPerson){
112
+        ResponseBean responseBean = new ResponseBean();
113
+        try {
114
+            if (iTaMpPersonService.updateById(taMpPerson)){
115
+                responseBean.addSuccess(taMpPerson);
116
+            }else {
117
+                responseBean.addError("fail");
118
+            }
119
+        }catch (Exception e){
120
+            e.printStackTrace();
121
+            logger.error("taMpPersonUpdate -=- {}",e.toString());
122
+            responseBean.addError(e.getMessage());
123
+        }
124
+        return responseBean;
125
+    }
126
+
127
+    /**
128
+     * 根据id查询对象
129
+     * @param id  实体ID
130
+     */
131
+    @RequestMapping(value="/taMpPerson/{id}",method= RequestMethod.GET)
132
+    public ResponseBean taMpPersonGet(@PathVariable Integer id){
133
+        ResponseBean responseBean = new ResponseBean();
134
+        try {
135
+            responseBean.addSuccess(iTaMpPersonService.getById(id));
136
+        }catch (Exception e){
137
+            e.printStackTrace();
138
+            logger.error("taMpPersonDelete -=- {}",e.toString());
139
+            responseBean.addError(e.getMessage());
140
+        }
141
+        return responseBean;
142
+    }
143
+}

+ 35
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaMpMiniapp.java Voir le fichier

@@ -0,0 +1,35 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import lombok.Data;
4
+import lombok.EqualsAndHashCode;
5
+import lombok.experimental.Accessors;
6
+
7
+import java.io.Serializable;
8
+
9
+/**
10
+ * <p>
11
+ * 公众号小程序账户映射 
12
+ * </p>
13
+ *
14
+ * @author fxf
15
+ * @since 2020-06-02
16
+ */
17
+@Data
18
+@EqualsAndHashCode(callSuper = false)
19
+@Accessors(chain = true)
20
+public class TaMpMiniapp implements Serializable {
21
+
22
+    private static final long serialVersionUID = 1L;
23
+
24
+    /**
25
+     * 公众号人员ID
26
+     */
27
+    private String mpPersonId;
28
+
29
+    /**
30
+     * 小程序人员ID
31
+     */
32
+    private String miniappPersonId;
33
+
34
+
35
+}

+ 86
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaMpPerson.java Voir le fichier

@@ -0,0 +1,86 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import lombok.Data;
4
+import lombok.EqualsAndHashCode;
5
+import lombok.experimental.Accessors;
6
+
7
+import java.io.Serializable;
8
+import java.time.LocalDateTime;
9
+
10
+/**
11
+ * <p>
12
+ * 公众号用户表 
13
+ * </p>
14
+ *
15
+ * @author fxf
16
+ * @since 2020-06-02
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+public class TaMpPerson implements Serializable {
22
+
23
+    private static final long serialVersionUID = 1L;
24
+
25
+    /**
26
+     * 人员ID
27
+     */
28
+    private String mpPersonId;
29
+
30
+    /**
31
+     * openid
32
+     */
33
+    private String mpOpenid;
34
+
35
+    /**
36
+     * 昵称
37
+     */
38
+    private String nickname;
39
+
40
+    /**
41
+     * 头像
42
+     */
43
+    private String headimgurl;
44
+
45
+    /**
46
+     * 性别
47
+     */
48
+    private Boolean sex;
49
+
50
+    /**
51
+     * 省份
52
+     */
53
+    private String province;
54
+
55
+    /**
56
+     * 城市
57
+     */
58
+    private String city;
59
+
60
+    /**
61
+     * 国家
62
+     */
63
+    private String country;
64
+
65
+    /**
66
+     * unionid
67
+     */
68
+    private String unionid;
69
+
70
+    /**
71
+     * 公众号ID
72
+     */
73
+    private String appid;
74
+
75
+    /**
76
+     * 创建时间
77
+     */
78
+    private LocalDateTime createDate;
79
+
80
+    /**
81
+     * 状态
82
+     */
83
+    private Integer status;
84
+
85
+
86
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaMpMiniappMapper.java Voir le fichier

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.redpack.mapper;
2
+
3
+import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+
6
+/**
7
+ * <p>
8
+ * 公众号小程序账户映射  Mapper 接口
9
+ * </p>
10
+ *
11
+ * @author fxf
12
+ * @since 2020-06-02
13
+ */
14
+public interface TaMpMiniappMapper extends BaseMapper<TaMpMiniapp> {
15
+
16
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaMpPersonMapper.java Voir le fichier

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.redpack.mapper;
2
+
3
+import com.huiju.estateagents.redpack.entity.TaMpPerson;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+
6
+/**
7
+ * <p>
8
+ * 公众号用户表  Mapper 接口
9
+ * </p>
10
+ *
11
+ * @author fxf
12
+ * @since 2020-06-02
13
+ */
14
+public interface TaMpPersonMapper extends BaseMapper<TaMpPerson> {
15
+
16
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaMpMiniappService.java Voir le fichier

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.redpack.service;
2
+
3
+import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 公众号小程序账户映射  服务类
9
+ * </p>
10
+ *
11
+ * @author fxf
12
+ * @since 2020-06-02
13
+ */
14
+public interface ITaMpMiniappService extends IService<TaMpMiniapp> {
15
+
16
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaMpPersonService.java Voir le fichier

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.redpack.service;
2
+
3
+import com.huiju.estateagents.redpack.entity.TaMpPerson;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 公众号用户表  服务类
9
+ * </p>
10
+ *
11
+ * @author fxf
12
+ * @since 2020-06-02
13
+ */
14
+public interface ITaMpPersonService extends IService<TaMpPerson> {
15
+
16
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/redpack/service/impl/TaMpMiniappServiceImpl.java Voir le fichier

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.redpack.service.impl;
2
+
3
+import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
4
+import com.huiju.estateagents.redpack.mapper.TaMpMiniappMapper;
5
+import com.huiju.estateagents.redpack.service.ITaMpMiniappService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 公众号小程序账户映射  服务实现类
12
+ * </p>
13
+ *
14
+ * @author fxf
15
+ * @since 2020-06-02
16
+ */
17
+@Service
18
+public class TaMpMiniappServiceImpl extends ServiceImpl<TaMpMiniappMapper, TaMpMiniapp> implements ITaMpMiniappService {
19
+
20
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/redpack/service/impl/TaMpPersonServiceImpl.java Voir le fichier

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.redpack.service.impl;
2
+
3
+import com.huiju.estateagents.redpack.entity.TaMpPerson;
4
+import com.huiju.estateagents.redpack.mapper.TaMpPersonMapper;
5
+import com.huiju.estateagents.redpack.service.ITaMpPersonService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 公众号用户表  服务实现类
12
+ * </p>
13
+ *
14
+ * @author fxf
15
+ * @since 2020-06-02
16
+ */
17
+@Service
18
+public class TaMpPersonServiceImpl extends ServiceImpl<TaMpPersonMapper, TaMpPerson> implements ITaMpPersonService {
19
+
20
+}

+ 4
- 4
src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java Voir le fichier

@@ -459,7 +459,7 @@ public class MiniAppServiceImpl implements IMiniAppService {
459 459
             return ResponseBean.error("小程序消息模板未设置字段内容", ResponseBean.ERROR_ILLEGAL_PARAMS);
460 460
         }
461 461
 
462
-        List<WxMaSubscribeData> sendData = createMessageData(data, tpl.getTplFields());
462
+        List<WxMaSubscribeMessage.Data> sendData = createMessageData(data, tpl.getTplFields());
463 463
 
464 464
         WxMaSubscribeMessage message = WxMaSubscribeMessage.builder()
465 465
                 .templateId(tpl.getTplId())
@@ -509,15 +509,15 @@ public class MiniAppServiceImpl implements IMiniAppService {
509 509
         return success ? null : "短信发送失败";
510 510
     }
511 511
 
512
-    private List<WxMaSubscribeData> createMessageData(String[] list, String fieldsStr) {
513
-        List<WxMaSubscribeData> data = new ArrayList<>();
512
+    private List<WxMaSubscribeMessage.Data> createMessageData(String[] list, String fieldsStr) {
513
+        List<WxMaSubscribeMessage.Data> data = new ArrayList<>();
514 514
         if (list == null || list.length == 0 || StringUtils.isEmpty(fieldsStr)) return data;
515 515
 
516 516
         String[] fileds = fieldsStr.split("\\|");
517 517
 
518 518
         int length = Math.min(fileds.length, list.length);
519 519
         for (int i = 0; i < length; i++) {
520
-            data.add(new WxMaSubscribeData(fileds[i], list[i], "#fffff"));
520
+            data.add(new WxMaSubscribeMessage.Data(fileds[i], list[i]));
521 521
         }
522 522
         return data;
523 523
     }

+ 143
- 0
src/main/java/com/huiju/estateagents/third/controller/TaMpInfoController.java Voir le fichier

@@ -0,0 +1,143 @@
1
+package com.huiju.estateagents.third.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.third.entity.TaMpInfo;
9
+import com.huiju.estateagents.third.service.ITaMpInfoService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+/**
16
+ * <p>
17
+    *   前端控制器
18
+    * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-02
22
+ */
23
+@RestController
24
+@RequestMapping("/")
25
+public class TaMpInfoController extends BaseController {
26
+
27
+    private final Logger logger = LoggerFactory.getLogger(TaMpInfoController.class);
28
+
29
+    @Autowired
30
+    public ITaMpInfoService iTaMpInfoService;
31
+
32
+
33
+    /**
34
+     * 分页查询列表
35
+     * @param pageNum
36
+     * @param pageSize
37
+     * @return
38
+     */
39
+    @RequestMapping(value="/taMpInfo",method= RequestMethod.GET)
40
+    public ResponseBean taMpInfoList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
+                                     @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
42
+        ResponseBean responseBean = new ResponseBean();
43
+        try {
44
+            //使用分页插件
45
+		    IPage<TaMpInfo> pg = new Page<>(pageNum, pageSize);
46
+            QueryWrapper<TaMpInfo> queryWrapper = new QueryWrapper<>();
47
+            queryWrapper.orderByDesc("create_date");
48
+
49
+            IPage<TaMpInfo> result = iTaMpInfoService.page(pg, queryWrapper);
50
+            responseBean.addSuccess(result);
51
+        }catch (Exception e){
52
+            e.printStackTrace();
53
+            logger.error("taMpInfoList -=- {}",e.toString());
54
+            responseBean.addError(e.getMessage());
55
+        }
56
+        return responseBean;
57
+    }
58
+
59
+    /**
60
+     * 保存对象
61
+     * @param taMpInfo 实体对象
62
+     * @return
63
+     */
64
+    @RequestMapping(value="/taMpInfo",method= RequestMethod.POST)
65
+    public ResponseBean taMpInfoAdd(@RequestBody TaMpInfo taMpInfo){
66
+        ResponseBean responseBean = new ResponseBean();
67
+        try {
68
+            if (iTaMpInfoService.save(taMpInfo)){
69
+                responseBean.addSuccess(taMpInfo);
70
+            }else {
71
+                responseBean.addError("fail");
72
+            }
73
+        }catch (Exception e){
74
+            e.printStackTrace();
75
+            logger.error("taMpInfoAdd -=- {}",e.toString());
76
+            responseBean.addError(e.getMessage());
77
+        }
78
+        return responseBean;
79
+    }
80
+
81
+    /**
82
+     * 根据id删除对象
83
+     * @param id  实体ID
84
+     */
85
+    @ResponseBody
86
+    @RequestMapping(value="/taMpInfo/{id}", method= RequestMethod.DELETE)
87
+    public ResponseBean taMpInfoDelete(@PathVariable Integer id){
88
+        ResponseBean responseBean = new ResponseBean();
89
+        try {
90
+            if(iTaMpInfoService.removeById(id)){
91
+                responseBean.addSuccess("success");
92
+            }else {
93
+                responseBean.addError("fail");
94
+            }
95
+        }catch (Exception e){
96
+            e.printStackTrace();
97
+            logger.error("taMpInfoDelete -=- {}",e.toString());
98
+            responseBean.addError(e.getMessage());
99
+        }
100
+        return responseBean;
101
+    }
102
+
103
+    /**
104
+     * 修改对象
105
+     * @param id  实体ID
106
+     * @param taMpInfo 实体对象
107
+     * @return
108
+     */
109
+    @RequestMapping(value="/taMpInfo/{id}",method= RequestMethod.PUT)
110
+    public ResponseBean taMpInfoUpdate(@PathVariable Integer id,
111
+                                        @RequestBody TaMpInfo taMpInfo){
112
+        ResponseBean responseBean = new ResponseBean();
113
+        try {
114
+            if (iTaMpInfoService.updateById(taMpInfo)){
115
+                responseBean.addSuccess(taMpInfo);
116
+            }else {
117
+                responseBean.addError("fail");
118
+            }
119
+        }catch (Exception e){
120
+            e.printStackTrace();
121
+            logger.error("taMpInfoUpdate -=- {}",e.toString());
122
+            responseBean.addError(e.getMessage());
123
+        }
124
+        return responseBean;
125
+    }
126
+
127
+    /**
128
+     * 根据id查询对象
129
+     * @param id  实体ID
130
+     */
131
+    @RequestMapping(value="/taMpInfo/{id}",method= RequestMethod.GET)
132
+    public ResponseBean taMpInfoGet(@PathVariable Integer id){
133
+        ResponseBean responseBean = new ResponseBean();
134
+        try {
135
+            responseBean.addSuccess(iTaMpInfoService.getById(id));
136
+        }catch (Exception e){
137
+            e.printStackTrace();
138
+            logger.error("taMpInfoDelete -=- {}",e.toString());
139
+            responseBean.addError(e.getMessage());
140
+        }
141
+        return responseBean;
142
+    }
143
+}

+ 54
- 0
src/main/java/com/huiju/estateagents/third/controller/WxRedpackController.java Voir le fichier

@@ -0,0 +1,54 @@
1
+package com.huiju.estateagents.third.controller;
2
+
3
+import com.huiju.estateagents.base.ResponseBean;
4
+import com.huiju.estateagents.common.WxMpUtils;
5
+import lombok.AllArgsConstructor;
6
+import me.chanjar.weixin.common.error.WxErrorException;
7
+import me.chanjar.weixin.mp.api.WxMpService;
8
+import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
9
+import me.chanjar.weixin.mp.bean.result.WxMpUser;
10
+import org.springframework.stereotype.Controller;
11
+import org.springframework.web.bind.annotation.GetMapping;
12
+import org.springframework.web.bind.annotation.PathVariable;
13
+import org.springframework.web.bind.annotation.RequestMapping;
14
+import org.springframework.web.bind.annotation.RequestParam;
15
+
16
+import javax.servlet.http.HttpServletRequest;
17
+
18
+/**
19
+ * @author Edward
20
+ */
21
+@AllArgsConstructor
22
+@Controller
23
+@RequestMapping("/api")
24
+public class WxRedpackController {
25
+    public WxMpUtils wxMpUtils;
26
+
27
+    /**
28
+     * 换取openid接口并插入公众号人员表
29
+     * @param appid
30
+     * @param code
31
+     * @param request
32
+     * @return
33
+     */
34
+    @GetMapping("/third/redirect/{appid}/greet")
35
+    public ResponseBean greetUser(@PathVariable String appid, @RequestParam String code, HttpServletRequest request) {
36
+        WxMpService wxService = wxMpUtils.wxMpService();
37
+        if (!wxService.switchover(appid)) {
38
+            throw new IllegalArgumentException(String.format("未找到对应appid=[%s]的配置,请核实!", appid));
39
+        }
40
+        String openId = null;
41
+        try {
42
+            //换取openid
43
+            WxMpOAuth2AccessToken accessToken = wxService.oauth2getAccessToken(code);
44
+            WxMpUser user = wxService.oauth2getUserInfo(accessToken, null);
45
+            openId = user.getOpenId();
46
+            //插入公众号人员信息并插入表
47
+
48
+        } catch (WxErrorException e) {
49
+            e.printStackTrace();
50
+        }
51
+
52
+        return ResponseBean.success(openId);
53
+    }
54
+}

+ 70
- 0
src/main/java/com/huiju/estateagents/third/entity/TaMpInfo.java Voir le fichier

@@ -0,0 +1,70 @@
1
+package com.huiju.estateagents.third.entity;
2
+
3
+import java.time.LocalDateTime;
4
+import java.io.Serializable;
5
+import lombok.Data;
6
+import lombok.EqualsAndHashCode;
7
+import lombok.experimental.Accessors;
8
+
9
+/**
10
+ * <p>
11
+ *  
12
+ * </p>
13
+ *
14
+ * @author fxf
15
+ * @since 2020-06-02
16
+ */
17
+@Data
18
+@EqualsAndHashCode(callSuper = false)
19
+@Accessors(chain = true)
20
+public class TaMpInfo implements Serializable {
21
+
22
+    private static final long serialVersionUID = 1L;
23
+
24
+    /**
25
+     * 公众号ID
26
+     */
27
+    private String appid;
28
+
29
+    /**
30
+     * Secret
31
+     */
32
+    private String secret;
33
+
34
+    /**
35
+     * 名称
36
+     */
37
+    private String name;
38
+
39
+    /**
40
+     * Token
41
+     */
42
+    private String token;
43
+
44
+    /**
45
+     * AccessToken
46
+     */
47
+    private String accessToken;
48
+
49
+    /**
50
+     * AES_KEY
51
+     */
52
+    private String aesKey;
53
+
54
+    /**
55
+     * 公司id 系统内置则为0
56
+     */
57
+    private Integer orgId;
58
+
59
+    /**
60
+     * 创建时间
61
+     */
62
+    private LocalDateTime createDate;
63
+
64
+    /**
65
+     * 状态
66
+     */
67
+    private Integer status;
68
+
69
+
70
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/third/mapper/TaMpInfoMapper.java Voir le fichier

@@ -0,0 +1,18 @@
1
+package com.huiju.estateagents.third.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.third.entity.TaMpInfo;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ *   Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author fxf
13
+ * @since 2020-06-02
14
+ */
15
+@Mapper
16
+public interface TaMpInfoMapper extends BaseMapper<TaMpInfo> {
17
+
18
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/third/service/ITaMpInfoService.java Voir le fichier

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.third.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.third.entity.TaMpInfo;
5
+
6
+/**
7
+ * <p>
8
+ *   服务类
9
+ * </p>
10
+ *
11
+ * @author fxf
12
+ * @since 2020-06-02
13
+ */
14
+public interface ITaMpInfoService extends IService<TaMpInfo> {
15
+
16
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/third/service/impl/TaMpInfoServiceImpl.java Voir le fichier

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.third.service.impl;
2
+
3
+import com.huiju.estateagents.third.entity.TaMpInfo;
4
+import com.huiju.estateagents.third.mapper.TaMpInfoMapper;
5
+import com.huiju.estateagents.third.service.ITaMpInfoService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *   服务实现类
12
+ * </p>
13
+ *
14
+ * @author fxf
15
+ * @since 2020-06-02
16
+ */
17
+@Service
18
+public class TaMpInfoServiceImpl extends ServiceImpl<TaMpInfoMapper, TaMpInfo> implements ITaMpInfoService {
19
+
20
+}

+ 5
- 0
src/main/resources/mapper/TaMpInfoMapper.xml Voir le fichier

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
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.third.mapper.TaMpInfoMapper">
4
+
5
+</mapper>

+ 5
- 0
src/main/resources/mapper/redpack/TaMpMiniappMapper.xml Voir le fichier

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
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.TaMpMiniappMapper">
4
+
5
+</mapper>

+ 5
- 0
src/main/resources/mapper/redpack/TaMpPersonMapper.xml Voir le fichier

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
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">
4
+
5
+</mapper>