Browse Source

Merge branch 'master' of https://gitee.com/TDuckApp/tduck-platform

 Conflicts:
	tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/config/WxMpConfiguration.java
dev
wangqing 4 years ago
parent
commit
359f4cb921
  1. 21
      README.md
  2. 4
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java
  3. 39
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/config/WxMpConfiguration.java
  4. 1
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/LoginScanStrategy.java
  5. 3
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/service/impl/WxMpUserMsgServiceImpl.java

21
README.md

@ -9,9 +9,11 @@
### 各位老铁,感谢您的关注。 ### 各位老铁,感谢您的关注。
- Tduck项目上线时间不足一年,还有许多地方需要打磨; - Tduck项目上线时间不足一年,还有许多地方需要打磨;
- 由于不是专职做开源,更新速度相对缓慢,但是一直都在不停的迭代(加班打码...) - 由于不是专职做开源,更新速度相对缓慢,但是一直都在不停的迭代(加班打码...)
- 遇到问题可以进群咨询一下已经完成部署的大佬,并且在部署时参照部署文档进行部署; - 遇到问题可以进群咨询一下已经完成部署的大佬,并且在部署时参照文档进行部署;
- 由于涉及到微信、QQ登录需要准备相应账号; - 由于涉及到微信、QQ登录需要准备相应账号;
- 详情请见:部署文档 https://gitee.com/TDuckApp/tduck-platform/wikis/%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C?sort_id=3681729 - V2版本正在规划开发中,全新UI,更多功能;欢迎有兴趣有时间的有实力的朋友加入团队(前端/设计),有想法请私聊~
- 详情请见:[部署文档](https://gitee.com/TDuckApp/tduck-platform/wikis/%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C?sort_id=3681729)
### TDuck 使用 Apache License 2.0 协议,源代码完全开源,无商业限制。 开源不易如果喜欢请给作者 Star 鼓励 :pray:
![ ](https://img.shields.io/:license-apache-blue.svg) ![ ](https://img.shields.io/:license-apache-blue.svg)
@ -20,19 +22,15 @@
![ ](https://img.shields.io/badge/front-vue%2Belement--ui-blue) ![ ](https://img.shields.io/badge/front-vue%2Belement--ui-blue)
[![star](https://gitee.com/TDuckApp/tduck-platform/badge/star.svg?theme=white)](https://gitee.com/TDuckApp/tduck-platform/stargazers) [![star](https://gitee.com/TDuckApp/tduck-platform/badge/star.svg?theme=white)](https://gitee.com/TDuckApp/tduck-platform/stargazers)
### 联系作者/加入社群 ### 联系作者/加入社群
![输入图片说明](https://images.gitee.com/uploads/images/2021/0407/100054_10b7177d_1674451.png "微信截图_20210407095930.png") <img alt="群聊" src="https://images.gitee.com/uploads/images/2021/0513/171259_1ef11014_1674451.png " width="240" style="margin-bottom: 0px;">
## 群聊人数已经满200,需要手动拉入
## V2版本正在规划开发中,全新UI,更多功能;同时欢迎各位伙伴进群提出你的想法和需求
<p></p> <p></p>
### 平台简介 ### 平台简介
Tduck, Form collection system Tduck, Form collection system
Tduck 填鸭:是基于B/S架构的一款开源的表单问卷在线收集系统,为企业构建自己的信息反馈系统的综合解决方案,助力企业提高反馈收集客户服务效率。 Tduck 填鸭:是基于B/S架构的一款开源的表单在线收集系统,为企业构建自己的信息反馈系统的综合解决方案,助力企业提高反馈收集客户服务效率。
### 应用场景 ### 应用场景
@ -43,8 +41,8 @@ Tduck 填鸭:是基于B/S架构的一款开源的表单问卷在线收集系
### 功能特性 ### 功能特性
##### 界面美观,全新element-ui支持,使用流畅 ##### 界面美观,全新element-ui支持,使用流畅
- 以一种全新的设计体验,告别繁琐的设计流程 - 以一种全新的设计体验,告别繁琐的设计流程
- 通过简单有趣的方式,轻轻松松完成问卷设计 - 通过简单有趣的方式,轻轻松松完成表单设计
- 支持问卷样式模板选择,只为显现更精美的表单问卷 - 支持表单样式模板选择,只为显现更精美的表单
##### 三大模块助力企业能力升级: ##### 三大模块助力企业能力升级:
- 新建表单:自定义可拖拽式表单设计 - 新建表单:自定义可拖拽式表单设计
@ -114,9 +112,10 @@ Tduck 填鸭:是基于B/S架构的一款开源的表单问卷在线收集系
打开命令行,输入以下命令 打开命令行,输入以下命令
```bash ```bash
mvn clean install -DskipTests
cd tduck-platform/tduck-api cd tduck-platform/tduck-api
mvn clean package -DskipTests mvn clean package -DskipTests
java -Dfile.encoding=UTF-8 -jar tduck-api.jar java -Dfile.encoding=UTF-8 -jar target/tduck-api.jar
``` ```
4. 启动管理后台前端 4. 启动管理后台前端

4
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java

@ -41,6 +41,7 @@ import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket; import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -65,12 +66,13 @@ public class UserProjectController {
private final SortUtils sortUtils; private final SortUtils sortUtils;
private final UserProjectThemeService userProjectThemeService; private final UserProjectThemeService userProjectThemeService;
private final UserProjectSettingService userProjectSettingService; private final UserProjectSettingService userProjectSettingService;
private final WxMpService wxMpService;
private final ProjectTemplateService projectTemplateService; private final ProjectTemplateService projectTemplateService;
private final ProjectTemplateItemService projectTemplateItemService; private final ProjectTemplateItemService projectTemplateItemService;
private final WxMpUserService wxMpUserService; private final WxMpUserService wxMpUserService;
private final RedisUtils redisUtils; private final RedisUtils redisUtils;
@Autowired
private WxMpService wxMpService;
/** /**
* 创建项目 * 创建项目

39
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/config/WxMpConfiguration.java

@ -1,7 +1,6 @@
package com.tduck.cloud.wx.mp.config; package com.tduck.cloud.wx.mp.config;
import com.tduck.cloud.wx.mp.handler.*; import com.tduck.cloud.wx.mp.handler.*;
import lombok.AllArgsConstructor;
import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps; import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps;
import me.chanjar.weixin.common.redis.WxRedisOps; import me.chanjar.weixin.common.redis.WxRedisOps;
import me.chanjar.weixin.mp.api.WxMpMessageRouter; import me.chanjar.weixin.mp.api.WxMpMessageRouter;
@ -9,6 +8,7 @@ import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl; import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -30,22 +30,33 @@ import static me.chanjar.weixin.mp.constant.WxMpEventConstants.POI_CHECK_NOTIFY;
* *
* @author Binary Wang(https://github.com/binarywang) * @author Binary Wang(https://github.com/binarywang)
*/ */
@AllArgsConstructor
@Configuration @Configuration
@EnableConfigurationProperties(WxMpProperties.class) @EnableConfigurationProperties(WxMpProperties.class)
public class WxMpConfiguration { public class WxMpConfiguration {
private final LogHandler logHandler; @Autowired
private final NullHandler nullHandler; private LogHandler logHandler;
private final KfSessionHandler kfSessionHandler; @Autowired
private final StoreCheckNotifyHandler storeCheckNotifyHandler; private NullHandler nullHandler;
private final LocationHandler locationHandler; @Autowired
private final MenuHandler menuHandler; private KfSessionHandler kfSessionHandler;
private final MsgHandler msgHandler; @Autowired
private final UnsubscribeHandler unsubscribeHandler; private StoreCheckNotifyHandler storeCheckNotifyHandler;
private final SubscribeHandler subscribeHandler; @Autowired
private final ScanHandler scanHandler; private LocationHandler locationHandler;
private final WxMpProperties properties; @Autowired
private final StringRedisTemplate redisTemplate; private MenuHandler menuHandler;
@Autowired
private MsgHandler msgHandler;
@Autowired
private UnsubscribeHandler unsubscribeHandler;
@Autowired
private SubscribeHandler subscribeHandler;
@Autowired
private ScanHandler scanHandler;
@Autowired
private WxMpProperties properties;
@Autowired
private StringRedisTemplate redisTemplate;
@Bean @Bean
public WxMpService wxMpService() { public WxMpService wxMpService() {

1
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/LoginScanStrategy.java

@ -20,7 +20,6 @@ import java.util.concurrent.TimeUnit;
* @create : 2020-12-01 17:44 * @create : 2020-12-01 17:44
**/ **/
@Component @Component
public class LoginScanStrategy implements ScanStrategy { public class LoginScanStrategy implements ScanStrategy {
@Autowired @Autowired

3
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/service/impl/WxMpUserMsgServiceImpl.java

@ -6,6 +6,7 @@ import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
@ -15,6 +16,8 @@ import org.springframework.stereotype.Service;
**/ **/
@Service @Service
public class WxMpUserMsgServiceImpl implements WxMpUserMsgService { public class WxMpUserMsgServiceImpl implements WxMpUserMsgService {
@Lazy
@Autowired @Autowired
private WxMpService wxMpService; private WxMpService wxMpService;

Loading…
Cancel
Save