Your Name 3 年前
父节点
当前提交
423395eb74

+ 5
- 0
pom.xml 查看文件

63
 			<artifactId>weixin-java-mp</artifactId>
63
 			<artifactId>weixin-java-mp</artifactId>
64
 			<version>3.8.0</version>
64
 			<version>3.8.0</version>
65
 		</dependency>
65
 		</dependency>
66
+		<dependency>
67
+			<groupId>com.github.binarywang</groupId>
68
+			<artifactId>weixin-java-cp</artifactId>
69
+			<version>3.8.0</version>
70
+		</dependency>
66
 		<dependency>
71
 		<dependency>
67
 			<groupId>com.github.binarywang</groupId>
72
 			<groupId>com.github.binarywang</groupId>
68
 			<artifactId>weixin-java-pay</artifactId>
73
 			<artifactId>weixin-java-pay</artifactId>

+ 51
- 0
src/main/java/com/yunzhi/marketing/common/WorkWxUtils.java 查看文件

1
+package com.yunzhi.marketing.common;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.yunzhi.marketing.config.WorkConfig;
5
+import lombok.extern.slf4j.Slf4j;
6
+import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
7
+import me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl;
8
+import org.springframework.beans.factory.annotation.Autowired;
9
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
10
+import org.springframework.stereotype.Component;
11
+
12
+@Slf4j
13
+@Component
14
+@EnableConfigurationProperties(WorkConfig.class)
15
+public class WorkWxUtils {
16
+    WxCpServiceImpl wxCpService;
17
+
18
+    @Autowired
19
+    public WorkWxUtils(WorkConfig conf) {
20
+        WxCpDefaultConfigImpl config = new WxCpDefaultConfigImpl();
21
+        config.setCorpId(conf.getCorpid());
22
+        config.setCorpSecret(conf.getSecret());
23
+        config.setAgentId(Integer.valueOf(conf.getAgentid()));
24
+//        config.setToken("...");
25
+//        config.setAesKey("...");
26
+
27
+        wxCpService = new WxCpServiceImpl();
28
+        wxCpService.setWxCpConfigStorage(config);
29
+    }
30
+
31
+    public String getLivingCode(String livingid, String openid) throws Exception {
32
+        if (StringUtils.isEmpty(livingid) || StringUtils.isEmpty(openid)) {
33
+            throw new Exception("房间号或者人员openid不能为空");
34
+        }
35
+
36
+        String url = "/cgi-bin/living/get_living_code";
37
+        JSONObject params = new JSONObject();
38
+        params.put("livingid", livingid);
39
+        params.put("openid", openid);
40
+
41
+        String response = wxCpService.post(url, params.toJSONString());
42
+        JSONObject result = JSONObject.parseObject(response);
43
+
44
+        String errmsg = result.getString("errmsg");
45
+        if ("ok".equals(errmsg)) {
46
+            return result.getString("living_code");
47
+        } else {
48
+            throw new Exception(String.format("获取直播凭证失败: %s", errmsg));
49
+        }
50
+    }
51
+}

+ 0
- 2
src/main/java/com/yunzhi/marketing/common/WxUtils.java 查看文件

25
 
25
 
26
     @PostConstruct
26
     @PostConstruct
27
     public void init() {
27
     public void init() {
28
-        System.out.println("-------------PostConstruct----------------");
29
-
30
         List<TaMiniapp> taMiniappList = iMiniAppService.getAllAvaliableMiniapps();
28
         List<TaMiniapp> taMiniappList = iMiniAppService.getAllAvaliableMiniapps();
31
         if (null == taMiniappList) {
29
         if (null == taMiniappList) {
32
             return;
30
             return;

+ 12
- 0
src/main/java/com/yunzhi/marketing/config/WorkConfig.java 查看文件

1
+package com.yunzhi.marketing.config;
2
+
3
+import lombok.Data;
4
+import org.springframework.boot.context.properties.ConfigurationProperties;
5
+
6
+@Data
7
+@ConfigurationProperties(prefix = "workwx")
8
+public class WorkConfig {
9
+    private String corpid;
10
+    private String agentid;
11
+    private String secret;
12
+}

+ 16
- 0
src/main/java/com/yunzhi/marketing/controller/TaLiveActivityController.java 查看文件

7
 import com.yunzhi.marketing.base.ResponseBean;
7
 import com.yunzhi.marketing.base.ResponseBean;
8
 import com.yunzhi.marketing.common.CommConstant;
8
 import com.yunzhi.marketing.common.CommConstant;
9
 import com.yunzhi.marketing.common.StringUtils;
9
 import com.yunzhi.marketing.common.StringUtils;
10
+import com.yunzhi.marketing.common.WorkWxUtils;
10
 import com.yunzhi.marketing.entity.ExtendContent;
11
 import com.yunzhi.marketing.entity.ExtendContent;
11
 import com.yunzhi.marketing.entity.TaLiveActivity;
12
 import com.yunzhi.marketing.entity.TaLiveActivity;
12
 import com.yunzhi.marketing.po.LiveAndVideoVO;
13
 import com.yunzhi.marketing.po.LiveAndVideoVO;
45
     @Autowired
46
     @Autowired
46
     public IExtendContentService iExtendContentService;
47
     public IExtendContentService iExtendContentService;
47
 
48
 
49
+    @Autowired
50
+    public WorkWxUtils workWxUtils;
51
+
48
     /**
52
     /**
49
      * 分页查询列表
53
      * 分页查询列表
50
      *
54
      *
300
         IPage<TaLiveActivity> pg = new Page<>(pageNum, pageSize);
304
         IPage<TaLiveActivity> pg = new Page<>(pageNum, pageSize);
301
         return ResponseBean.success(iTaLiveActivityService.getWxPureLiveActivityList(pg, orgId, cityId, buildingId, name, process));
305
         return ResponseBean.success(iTaLiveActivityService.getWxPureLiveActivityList(pg, orgId, cityId, buildingId, name, process));
302
     }
306
     }
307
+
308
+    @GetMapping("/wx/taLiveActivity/work/livingCode")
309
+    public ResponseBean getWorkLivingCode(@RequestParam String livingid,
310
+                                          HttpServletRequest request) {
311
+        String openid = getOpenId(request);
312
+        try {
313
+            String livingCode = workWxUtils.getLivingCode(livingid, openid);
314
+            return ResponseBean.success(livingCode);
315
+        } catch (Exception e) {
316
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
317
+        }
318
+    }
303
 }
319
 }

+ 42
- 42
src/main/java/com/yunzhi/marketing/service/impl/TaLiveActivityServiceImpl.java 查看文件

139
         liveActivityQueryWrapper.eq("live_activity_id", id);
139
         liveActivityQueryWrapper.eq("live_activity_id", id);
140
         liveActivityQueryWrapper.eq("org_id", orgId);
140
         liveActivityQueryWrapper.eq("org_id", orgId);
141
         TaLiveActivity result = taLiveActivityMapper.selectOne(liveActivityQueryWrapper);
141
         TaLiveActivity result = taLiveActivityMapper.selectOne(liveActivityQueryWrapper);
142
-        if (result == null) {
143
-            responseBean.addSuccess(null);
144
-            return responseBean;
145
-        }
146
-
147
-        // 获取直播小程序信息
148
-        QueryWrapper<TdLiveDict> tdLiveDictQueryWrapper = new QueryWrapper<>();
149
-        tdLiveDictQueryWrapper.eq("id", result.getLiveApp());
150
-        tdLiveDictQueryWrapper.eq("status", "1");
151
-        TdLiveDict tdLiveDict = tdLiveDictMapper.selectOne(tdLiveDictQueryWrapper);
152
-        if (tdLiveDict == null) {
153
-            responseBean.addSuccess(null);
154
-            return responseBean;
155
-        }
156
-        result.setLiveAppName(tdLiveDict.getLivePlatName());
157
-        result.setLiveAppAppId(tdLiveDict.getLivePlatValue());
158
-
159
-        // 获取海报信息
160
-        QueryWrapper<TaPoster> queryWrapper = new QueryWrapper<>();
161
-        queryWrapper.eq("target_id", id + "");
162
-        queryWrapper.eq("target_type", CommConstant.LIVE);
163
-        queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
164
-        List<TaPoster> posterList = taPosterService.list(queryWrapper);
165
-
166
-        List<TaPoster> resultPosterList = new ArrayList<>();
167
-        if (CollectionUtils.isNotEmpty(posterList)) {
168
-            for (TaPoster poster : posterList) {
169
-                QueryWrapper<TdPosterTemplate> templateQueryWrapper = new QueryWrapper<>();
170
-                templateQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
171
-                templateQueryWrapper.eq("type ", "liveActivity");
172
-                List<TdPosterTemplate> posterTemplate = posterTemplateService.list(templateQueryWrapper);
173
-
174
-                poster.setTemplates(posterTemplate);
175
-                resultPosterList.add(poster);
176
-            }
177
-        }
178
-
179
-        // 获取分享内容信息
180
-        List<TaShareContent> shareContentList = shareContentService.getPostersForTarget(id + "", CommConstant.LIVE);
181
-
182
-        result.setPosters(resultPosterList);
183
-        result.setShareContents(shareContentList);
142
+//        if (result == null) {
143
+//            responseBean.addSuccess(null);
144
+//            return responseBean;
145
+//        }
146
+//
147
+//        // 获取直播小程序信息
148
+//        QueryWrapper<TdLiveDict> tdLiveDictQueryWrapper = new QueryWrapper<>();
149
+//        tdLiveDictQueryWrapper.eq("id", result.getLiveApp());
150
+//        tdLiveDictQueryWrapper.eq("status", "1");
151
+//        TdLiveDict tdLiveDict = tdLiveDictMapper.selectOne(tdLiveDictQueryWrapper);
152
+//        if (tdLiveDict == null) {
153
+//            responseBean.addSuccess(null);
154
+//            return responseBean;
155
+//        }
156
+//        result.setLiveAppName(tdLiveDict.getLivePlatName());
157
+//        result.setLiveAppAppId(tdLiveDict.getLivePlatValue());
158
+//
159
+//        // 获取海报信息
160
+//        QueryWrapper<TaPoster> queryWrapper = new QueryWrapper<>();
161
+//        queryWrapper.eq("target_id", id + "");
162
+//        queryWrapper.eq("target_type", CommConstant.LIVE);
163
+//        queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
164
+//        List<TaPoster> posterList = taPosterService.list(queryWrapper);
165
+//
166
+//        List<TaPoster> resultPosterList = new ArrayList<>();
167
+//        if (CollectionUtils.isNotEmpty(posterList)) {
168
+//            for (TaPoster poster : posterList) {
169
+//                QueryWrapper<TdPosterTemplate> templateQueryWrapper = new QueryWrapper<>();
170
+//                templateQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
171
+//                templateQueryWrapper.eq("type ", "liveActivity");
172
+//                List<TdPosterTemplate> posterTemplate = posterTemplateService.list(templateQueryWrapper);
173
+//
174
+//                poster.setTemplates(posterTemplate);
175
+//                resultPosterList.add(poster);
176
+//            }
177
+//        }
178
+//
179
+//        // 获取分享内容信息
180
+//        List<TaShareContent> shareContentList = shareContentService.getPostersForTarget(id + "", CommConstant.LIVE);
181
+//
182
+//        result.setPosters(resultPosterList);
183
+//        result.setShareContents(shareContentList);
184
         responseBean.addSuccess(result);
184
         responseBean.addSuccess(result);
185
         return responseBean;
185
         return responseBean;
186
     }
186
     }

+ 6
- 0
src/main/resources/application-dev.yml 查看文件

23
   config: classpath:log/logback-spring.xml
23
   config: classpath:log/logback-spring.xml
24
   level:
24
   level:
25
     root: info
25
     root: info
26
+
27
+# 企业微信
28
+workwx:
29
+  corpid: wwf5f7889b49bb2510
30
+  agentid: 1000006
31
+  secret: qUa67wHPwyFrqoI00ti4gc4q7XLuYhvdok3ERDKuKW8

+ 6
- 0
src/main/resources/application-prod.yml 查看文件

23
   config: classpath:log/logback-spring.xml
23
   config: classpath:log/logback-spring.xml
24
   level:
24
   level:
25
     root: info
25
     root: info
26
+
27
+# 企业微信
28
+workwx:
29
+  corpid: wwf5f7889b49bb2510
30
+  agentid: 1000006
31
+  secret: qUa67wHPwyFrqoI00ti4gc4q7XLuYhvdok3ERDKuKW8

+ 6
- 0
src/main/resources/application-test.yml 查看文件

23
   config: classpath:log/logback-spring.xml
23
   config: classpath:log/logback-spring.xml
24
   level:
24
   level:
25
     root: info
25
     root: info
26
+
27
+# 企业微信
28
+workwx:
29
+  corpid: wwf5f7889b49bb2510
30
+  agentid: 1000006
31
+  secret: qUa67wHPwyFrqoI00ti4gc4q7XLuYhvdok3ERDKuKW8