diff --git a/README.md b/README.md
index d7b5d467a9828ebe35f368bc892bea4ff09d657f..75d9079c220cfb7f5a03f43f5b7a8bb733d72004 100644
--- a/README.md
+++ b/README.md
@@ -8,16 +8,12 @@
-[](https://gitee.com/LinkWeChat/link-wechat/stargazers)
-[](https://gitee.com/LinkWeChat/link-wechat/members)
-[](https://gitee.com/LinkWeChat/link-wechat/blob/master/LICENSE)
+
+
+
-
-
-
-
@@ -25,13 +21,6 @@

----
-
- **如果您觉得我们的开源项目很有帮助,请帮忙点击右上方的 :star: Star ,您的认可就是我们最大的动力,谢谢支持!:heart:**
-
----
-
-
### 平台简介
> LinkWeChat, Link to WeChat
@@ -224,17 +213,17 @@ com.linkwechat
#### 在线体验
-演示地址:http://demo.linkwechat.cn
+演示地址:http://106.13.201.219/
-演示账号/密码:Wecome/123456
+演示账号/密码:test/123456
#### 开发进度
-
+
### 联系作者加入群
-
+
### 特别鸣谢
@@ -306,6 +295,8 @@ LinkWeChat 开源版遵循 [GPL-3.0](https://gitee.com/LinkWeChat/link-wechat/bl
| *祺 | ¥ 20.00 | 支付宝 | 2021-03-30 19:03:59 | 感谢您的开源项目! |
| *桥 | ¥ 66.66 | 支付宝 | 2021-04-07 16:38:31 | 祝项目一路 666 |
| *力 | ¥ 66.00 | 微信 | 2021-04-09 10:30:11 | 支持开源 |
+| *生 | ¥ 66.00 | 微信 | 2021-04-15 21:36:01 | 支持开源 |
+| Q*N | ¥ 10.00 | 微信 | 2021-04-19 20:24:11 | 感谢分享 |
`LinkWeChat` 全体开发团队感谢以下全部合作伙伴的服务器赞助(排名不分先后):
@@ -317,4 +308,4 @@ LinkWeChat 开源版遵循 [GPL-3.0](https://gitee.com/LinkWeChat/link-wechat/bl
---
- **如果您觉得我们的开源项目很有帮助,请帮忙点击右上方的 :star: Star ,您的认可就是我们最大的动力,谢谢支持!:heart:**
\ No newline at end of file
+ **如果您觉得我们的开源项目很有帮助,请帮忙点击右上方的 :star: Star ,您的认可就是我们最大的动力,谢谢支持!:heart:**
diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/system/SysLoginController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/system/SysLoginController.java
index 736312b7889599e54184cc6d7f835d96c5b7304b..ed5e2a3fe8cb983fa02c0a3db9c9c53edd71a681 100644
--- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/system/SysLoginController.java
+++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/system/SysLoginController.java
@@ -1,6 +1,5 @@
package com.linkwechat.web.controller.system;
-import cn.hutool.core.collection.CollectionUtil;
import com.linkwechat.common.constant.Constants;
import com.linkwechat.common.core.domain.AjaxResult;
import com.linkwechat.common.core.domain.entity.SysMenu;
@@ -54,12 +53,6 @@ public class SysLoginController
private WeAccessTokenClient weAccessTokenClient;
-
-
-// @Autowired
-// private IWeGroupCodeService weGroupCodeService;
-
-
/**
* 登录方法
*
@@ -93,14 +86,12 @@ public class SysLoginController
Set roles = permissionService.getRolePermission(user);
// 权限集合
Set permissions = permissionService.getMenuPermission(user);
-
//校验用户是否拥有可用corpid
-// WeCorpAccount wxCorpAccount
-// = iWxCorpAccountService.findValidWeCorpAccount();
-// if(null != wxCorpAccount){
-// user.setValidCropId(true);
-// }
-
+ WeCorpAccount wxCorpAccount
+ = iWxCorpAccountService.findValidWeCorpAccount();
+ if(null != wxCorpAccount){
+ user.setValidCropId(true);
+ }
AjaxResult ajax = AjaxResult.success();
ajax.put("user", user);
ajax.put("roles", roles);
@@ -130,15 +121,15 @@ public class SysLoginController
@GetMapping("/findWxQrLoginInfo")
public AjaxResult findQrLoginParm(){
-// WeCorpAccount validWeCorpAccount
-// = iWxCorpAccountService.findValidWeCorpAccount();
-// if(null != validWeCorpAccount){
-// validWeCorpAccount.setContactSecret(null);
-// validWeCorpAccount.setCorpSecret(null);
-// validWeCorpAccount.setProviderSecret(null);
-// }
+ WeCorpAccount validWeCorpAccount
+ = iWxCorpAccountService.findValidWeCorpAccount();
+ if(null != validWeCorpAccount){
+ validWeCorpAccount.setContactSecret(null);
+ validWeCorpAccount.setCorpSecret(null);
+ validWeCorpAccount.setProviderSecret(null);
+ }
- return AjaxResult.success();
+ return AjaxResult.success(validWeCorpAccount);
}
@@ -164,26 +155,18 @@ public class SysLoginController
/**
- * 通过企业id和企业密钥登录
+ * 租户登录
* @param corpId
* @param corpSecret
* @return
*/
- @GetMapping("/corpLogin")
- public AjaxResult corpLogin(String corpId,String corpSecret){
- List weCorpAccounts = iWxCorpAccountService.selectWeCorpAccountList(WeCorpAccount.builder()
- .corpId(corpId)
- .corpSecret(corpSecret)
- .delFlag(Constants.NORMAL_CODE)
- .build());
- if(CollectionUtil.isEmpty(weCorpAccounts)){
-
- return AjaxResult.error("当前企业id与企业密码不匹配或不存在");
- }
+ @GetMapping("/tenantLogin")
+ public AjaxResult tenantLogin(String corpId,String corpSecret){
+ AjaxResult ajax = AjaxResult.success();
- return AjaxResult.success(
- loginService.noPwdLogin(weCorpAccounts.get(0).getCropAccount())
- );
+
+
+ return ajax;
}
}
diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeAppController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeAppController.java
index d106661f77c4b1a57ea4798323a0c89dc8298e39..e911068eb3e2cbf61e03bb297d02ef9f41d08218 100644
--- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeAppController.java
+++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeAppController.java
@@ -24,16 +24,24 @@ public class WeAppController extends BaseController {
- @PutMapping("/updateWeApp")
- public AjaxResult updateWeApp(@RequestBody WeApp weApp){
+ @PostMapping("/addWeapp")
+ public AjaxResult addWeApp(@RequestBody WeApp weApp){
- iWeAppService.updateById(weApp);
+ iWeAppService.addWeApp(weApp);
return AjaxResult.success();
}
+ @PostMapping("/updateWeApp")
+ public AjaxResult updateWeApp(@RequestBody WeApp weApp){
+ iWeAppService.updateWeApp(weApp);
+ return AjaxResult.success();
+ }
+
+
+
diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCommunityNewGroupController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCommunityNewGroupController.java
index 9653871b4cf0c9019c73590c47a6567ce95e71fb..ea6c1e9410d62cdf68d9d6491a49ed39bdc75cb6 100644
--- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCommunityNewGroupController.java
+++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCommunityNewGroupController.java
@@ -59,16 +59,7 @@ public class WeCommunityNewGroupController extends BaseController {
@Log(title = "新客自动拉群", businessType = BusinessType.INSERT)
@PostMapping("/")
public AjaxResult add(@RequestBody @Validated WeCommunityNewGroupDto communityNewGroupDto) {
- try {
- return toAjax(weCommunityNewGroupService.add(communityNewGroupDto));
- } catch (Exception e) {
- e.printStackTrace();
- if (e instanceof WeComException) {
- return AjaxResult.error(e.getMessage());
- } else {
- return AjaxResult.error("请求接口异常!");
- }
- }
+ return toAjax(weCommunityNewGroupService.add(communityNewGroupDto));
}
/**
diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeConversationArchiveController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeConversationArchiveController.java
index fa47b970d12e66c4ef2a94d9a8abe581fe2fcd4f..cacd92e94e47d6bed00ae168e1ab85028b2824f6 100644
--- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeConversationArchiveController.java
+++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeConversationArchiveController.java
@@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo;
import com.linkwechat.common.core.controller.BaseController;
import com.linkwechat.common.core.domain.ConversationArchiveQuery;
import com.linkwechat.common.core.page.TableDataInfo;
+import com.linkwechat.wecom.domain.vo.ConversationArchiveVo;
import com.linkwechat.wecom.service.IWeConversationArchiveService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -39,7 +40,7 @@ public class WeConversationArchiveController extends BaseController {
// @PreAuthorize("@ss.hasPermi('conversationArchive:chatContact:list')")
@ApiOperation(value = "获取单聊会话数据接口",httpMethod = "GET")
@GetMapping("/getChatContactList")
- public TableDataInfo> getChatContactList(ConversationArchiveQuery query) {
+ public TableDataInfo> getChatContactList(ConversationArchiveQuery query) {
return getDataTable(weConversationArchiveService.getChatContactList(query));
}
@@ -55,7 +56,7 @@ public class WeConversationArchiveController extends BaseController {
// @PreAuthorize("@ss.hasPermi('conversationArchive:chatRoomContact:list')")
@ApiOperation(value = "获取群聊会话数据接口",httpMethod = "GET")
@GetMapping("/getChatRoomContactList")
- public TableDataInfo> getChatRoomContactList(ConversationArchiveQuery query) {
+ public TableDataInfo> getChatRoomContactList(ConversationArchiveQuery query) {
return getDataTable(weConversationArchiveService.getChatRoomContactList(query));
}
@@ -69,7 +70,7 @@ public class WeConversationArchiveController extends BaseController {
// @PreAuthorize("@ss.hasPermi('conversationArchive:chatAllContact:list')")
@ApiOperation(value = "获取全局会话数据接口",httpMethod = "GET")
@GetMapping("/getChatAllList")
- public TableDataInfo> getChatAllList(ConversationArchiveQuery query) {
+ public TableDataInfo> getChatAllList(ConversationArchiveQuery query) {
return getDataTable(weConversationArchiveService.getChatAllList(query));
}
diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerController.java
index 5781473f397b19d2b673cc0608c36b208c3d933f..28d849fb719b5f686bea16b2eef29ccb866bac0c 100644
--- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerController.java
+++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerController.java
@@ -1,23 +1,23 @@
package com.linkwechat.web.controller.wecom;
+import cn.hutool.core.collection.CollectionUtil;
import com.linkwechat.common.annotation.Log;
import com.linkwechat.common.constant.WeConstans;
import com.linkwechat.common.core.controller.BaseController;
import com.linkwechat.common.core.domain.AjaxResult;
import com.linkwechat.common.core.page.TableDataInfo;
import com.linkwechat.common.enums.BusinessType;
-import com.linkwechat.common.utils.Threads;
import com.linkwechat.common.utils.poi.ExcelUtil;
import com.linkwechat.wecom.domain.WeCustomer;
import com.linkwechat.wecom.domain.vo.WeMakeCustomerTag;
import com.linkwechat.wecom.service.IWeCustomerService;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -151,4 +151,25 @@ public class WeCustomerController extends BaseController
}
+
+
+ /**
+ * 查询企业微信客户列表(六感)
+ */
+ // @PreAuthorize("@ss.hasPermi('customerManage:customer:list')")
+ @GetMapping("/listConcise")
+ public TableDataInfo listConcise(WeCustomer weCustomer)
+ {
+ startPage();
+
+ List list = weCustomerService.selectWeCustomerList(weCustomer);
+ if(CollectionUtil.isNotEmpty(list)){
+
+ list.stream().forEach(k->{
+ k.setWeFlowerCustomerRels(new ArrayList<>());
+ });
+ }
+ return getDataTable(list);
+ }
+
}
diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerPortraitController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerPortraitController.java
index db12525712205d4ef34246794f72fae43236c694..eec508c443fd20124cdec9a4eb69927a0473dbc7 100644
--- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerPortraitController.java
+++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerPortraitController.java
@@ -153,11 +153,18 @@ public class WeCustomerPortraitController extends BaseController {
@GetMapping(value = "/findTrajectory")
public TableDataInfo findTrajectory(Integer trajectoryType){
startPage();
+ LambdaQueryWrapper ne = new LambdaQueryWrapper()
+ .ne(WeCustomerTrajectory::getStatus, Constants.DELETE_CODE);
+
+ if(trajectoryType != null){
+ ne.eq(WeCustomerTrajectory::getTrajectoryType, trajectoryType);
+ }
+
+
return getDataTable(
- iWeCustomerTrajectoryService.list(new LambdaQueryWrapper()
- .eq(WeCustomerTrajectory::getTrajectoryType,trajectoryType)
- .ne(WeCustomerTrajectory::getStatus,Constants.DELETE_CODE))
+ iWeCustomerTrajectoryService.list(ne)
);
+
}
diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeMaterialController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeMaterialController.java
index 443666a0b0630f4e8cfb111531e697533ebb1dc1..d6a690538b2edec31e6c68d4d3f632adc5a5881c 100644
--- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeMaterialController.java
+++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeMaterialController.java
@@ -13,6 +13,7 @@ import com.linkwechat.wecom.domain.dto.WeMediaDto;
import com.linkwechat.wecom.domain.vo.WeMaterialFileVO;
import com.linkwechat.wecom.service.IWeMaterialService;
import com.linkwechat.wecom.service.IWePosterService;
+import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
@@ -31,6 +32,7 @@ import java.util.stream.Collectors;
* @author KEWEN
* @date 2020-10-08
*/
+@Api("企业微信素材管理")
@RestController
@RequestMapping("/wecom/material")
public class WeMaterialController extends BaseController {
@@ -145,4 +147,13 @@ public class WeMaterialController extends BaseController {
return AjaxResult.success(weMediaDto);
}
+ @Log(title = "上传素材图片", businessType = BusinessType.OTHER)
+ @PostMapping("/uploadimg")
+ @ApiOperation("上传素材图片")
+ public AjaxResult uploadImg(MultipartFile file){
+ WeMediaDto weMediaDto = materialService.uploadImg(file);
+ weMediaDto.setFileName(file.getResource().getFilename());
+ return AjaxResult.success(weMediaDto);
+ }
+
}
diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTaskFissionController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTaskFissionController.java
index 403f4b3ce01b976a6cc29638f56def6a91580e9b..cef8aa5885791353374b4b4eb5c123c862d85798 100644
--- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTaskFissionController.java
+++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTaskFissionController.java
@@ -2,7 +2,6 @@ package com.linkwechat.web.controller.wecom;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
-import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONObject;
//import com.alibaba.nacos.common.utils.CollectionUtils;
import com.google.common.collect.Lists;
@@ -152,12 +151,6 @@ public class WeTaskFissionController extends BaseController {
CopyOptions options = CopyOptions.create();
options.setIgnoreNullValue(true);
BeanUtil.copyProperties(weTaskFission, fissionTask, options);
- if (CollectionUtil.isNotEmpty(weTaskFission.getTaskFissionStaffs())) {
- fissionTask.setTaskFissionStaffs(weTaskFission.getTaskFissionStaffs());
- }
- if (CollectionUtil.isNotEmpty(weTaskFission.getTaskFissionWeGroups())) {
- fissionTask.setTaskFissionWeGroups(weTaskFission.getTaskFissionWeGroups());
- }
Long id = weTaskFissionService.updateWeTaskFission(fissionTask);
JSONObject json = new JSONObject();
json.put("id", id);
@@ -229,7 +222,7 @@ public class WeTaskFissionController extends BaseController {
public AjaxResult upload(@RequestParam(value = "file") MultipartFile file) throws IOException {
String url = FileUploadUtils.upload2Cos(file, cosConfig);
JSONObject json = new JSONObject();
- json.put("rewardImageUrl", cosConfig.getImgUrlPrefix()+url);
+ json.put("rewardImageUrl", url);
return AjaxResult.success(json);
}
diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTaskFissionRewardController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTaskFissionRewardController.java
index e31c4179d05a4f50a96073e9ef02d9038e16e8ef..f08cdb3863ce7deebc27b7cfd3b2ca898daf6d0d 100644
--- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTaskFissionRewardController.java
+++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTaskFissionRewardController.java
@@ -106,9 +106,9 @@ public class WeTaskFissionRewardController extends BaseController {
*/
@ApiOperation(value = "根据微信用户id和任务id获取任务裂变奖励详细信息",httpMethod = "GET")
// @PreAuthorize("@ss.hasPermi('wecom:getRewardByFissionId:query')")
- @GetMapping(value = "/getRewardByFissionId/{fissionId}/{unionId}")
+ @GetMapping(value = "/getRewardByFissionId/{fissionId}/{eid}")
public AjaxResult getRewardByFissionId(@ApiParam("任务id") @PathVariable("fissionId") String fissionId
- , @PathVariable("unionId") @ApiParam("客户id") String unionId) {
- return AjaxResult.success(weTaskFissionRewardService.getRewardByFissionId(fissionId,unionId));
+ , @PathVariable("eid") @ApiParam("客户id") String eid) {
+ return AjaxResult.success(weTaskFissionRewardService.getRewardByFissionId(fissionId,eid));
}
}
diff --git a/linkwe-admin/src/main/resources/bootstrap.properties b/linkwe-admin/src/main/resources/bootstrap.properties
index 213bffe35bdd20ec59333d4ba0538bb1d86a4baa..39a9563d13612cc35b3b6c041fe07559f9d3c603 100644
--- a/linkwe-admin/src/main/resources/bootstrap.properties
+++ b/linkwe-admin/src/main/resources/bootstrap.properties
@@ -1,4 +1,4 @@
-spring.cloud.nacos.config.server-addr=${NACOS_SERVER:119.45.28.29:10848}
-spring.cloud.nacos.config.namespace=f3edcb53-b0f8-42c3-8c5f-37c263deb60e
-spring.application.name=link-wechat
-spring.cloud.nacos.config.file-extension=yaml
\ No newline at end of file
+#spring.cloud.nacos.config.server-addr=
+#spring.cloud.nacos.config.namespace=
+#spring.application.name=
+#spring.cloud.nacos.config.file-extension=
\ No newline at end of file
diff --git a/linkwe-common/pom.xml b/linkwe-common/pom.xml
index 760855da61bfa99e765f6d94a4b876ea1fac16c5..8fc65e25c9fb2e3e0cb46682aec2814444a02b54 100644
--- a/linkwe-common/pom.xml
+++ b/linkwe-common/pom.xml
@@ -39,6 +39,12 @@
com.github.pagehelper
pagehelper-spring-boot-starter
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+
+
@@ -254,12 +260,6 @@
bcpkix-jdk15on
1.68
-
-
- com.github.jsqlparser
- jsqlparser
-
-
\ No newline at end of file
diff --git a/linkwe-common/src/main/java/com/linkwechat/common/config/WeComeConfig.java b/linkwe-common/src/main/java/com/linkwechat/common/config/WeComeConfig.java
index 7d53d65dae71a5f3a9d16b67b2826b9d1f47e4cc..aad15899d68ca51453f23ac2c74169aadde4d090 100644
--- a/linkwe-common/src/main/java/com/linkwechat/common/config/WeComeConfig.java
+++ b/linkwe-common/src/main/java/com/linkwechat/common/config/WeComeConfig.java
@@ -36,7 +36,4 @@ public class WeComeConfig {
/** 第三方自建应用得url*/
private String[] thirdAppUrl;
-
- /**多租户相关表*/
- private String[] needTenant=new String[]{};
}
diff --git a/linkwe-common/src/main/java/com/linkwechat/common/constant/Constants.java b/linkwe-common/src/main/java/com/linkwechat/common/constant/Constants.java
index c81d18880a360eb7e4cd450306298755042c5d96..621e4667553ea7d55efc6d66263a2c857c6a6d0f 100644
--- a/linkwe-common/src/main/java/com/linkwechat/common/constant/Constants.java
+++ b/linkwe-common/src/main/java/com/linkwechat/common/constant/Constants.java
@@ -2,7 +2,7 @@ package com.linkwechat.common.constant;
/**
* 通用常量信息
- *
+ *
* @author ruoyi
*/
public class Constants
@@ -61,7 +61,7 @@ public class Constants
* 登录用户 redis key
*/
public static final String LOGIN_TOKEN_KEY = "login_tokens:";
-
+
/**
* 防重提交 redis key
*/
@@ -164,4 +164,11 @@ public class Constants
/**完成待办*/
public static final String HANDLE_SUCCESS="1";
+
+
+
+
+
+
+
}
diff --git a/linkwe-common/src/main/java/com/linkwechat/common/core/domain/entity/SysUser.java b/linkwe-common/src/main/java/com/linkwechat/common/core/domain/entity/SysUser.java
index 3b73c92f1cbffd3031395726a0d6b589916acae5..b0dd5cc35734c977b265f306191958a2a711562e 100644
--- a/linkwe-common/src/main/java/com/linkwechat/common/core/domain/entity/SysUser.java
+++ b/linkwe-common/src/main/java/com/linkwechat/common/core/domain/entity/SysUser.java
@@ -21,7 +21,7 @@ import java.util.List;
/**
* 用户对象 sys_user
- *
+ *
* @author ruoyi
*/
@Data
@@ -88,8 +88,8 @@ public class SysUser extends BaseEntity
/** 部门对象 */
@Excels({
- @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
- @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
+ @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
+ @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
})
private SysDept dept;
@@ -106,7 +106,7 @@ public class SysUser extends BaseEntity
private boolean validCropId=false;
- private WeCorpAccount weCorpAccount;
+ private WeCorpAccount weCorpAccount;
public SysUser()
{
@@ -214,7 +214,7 @@ public class SysUser extends BaseEntity
this.avatar = avatar;
}
- @JsonIgnore
+ @JsonIgnore
@JsonProperty
public String getPassword()
{
@@ -319,26 +319,26 @@ public class SysUser extends BaseEntity
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
- .append("userId", getUserId())
- .append("deptId", getDeptId())
- .append("userName", getUserName())
- .append("nickName", getNickName())
- .append("email", getEmail())
- .append("phonenumber", getPhonenumber())
- .append("sex", getSex())
- .append("avatar", getAvatar())
- .append("password", getPassword())
- .append("salt", getSalt())
- .append("status", getStatus())
- .append("delFlag", getDelFlag())
- .append("loginIp", getLoginIp())
- .append("loginDate", getLoginDate())
- .append("createBy", getCreateBy())
- .append("createTime", getCreateTime())
- .append("updateBy", getUpdateBy())
- .append("updateTime", getUpdateTime())
- .append("remark", getRemark())
- .append("dept", getDept())
- .toString();
+ .append("userId", getUserId())
+ .append("deptId", getDeptId())
+ .append("userName", getUserName())
+ .append("nickName", getNickName())
+ .append("email", getEmail())
+ .append("phonenumber", getPhonenumber())
+ .append("sex", getSex())
+ .append("avatar", getAvatar())
+ .append("password", getPassword())
+ .append("salt", getSalt())
+ .append("status", getStatus())
+ .append("delFlag", getDelFlag())
+ .append("loginIp", getLoginIp())
+ .append("loginDate", getLoginDate())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .append("remark", getRemark())
+ .append("dept", getDept())
+ .toString();
}
}
diff --git a/linkwe-common/src/main/java/com/linkwechat/common/core/domain/entity/WeCorpAccount.java b/linkwe-common/src/main/java/com/linkwechat/common/core/domain/entity/WeCorpAccount.java
index ff5a12daeaf9b286ef53a2f7ca8dd09d4102b177..3f679d00896d12a4ba8362aaffffae3e4f0b71bb 100644
--- a/linkwe-common/src/main/java/com/linkwechat/common/core/domain/entity/WeCorpAccount.java
+++ b/linkwe-common/src/main/java/com/linkwechat/common/core/domain/entity/WeCorpAccount.java
@@ -14,7 +14,7 @@ import javax.validation.constraints.NotBlank;
/**
* 企业id相关配置对象 wx_corp_account
- *
+ *
* @author ruoyi
* @date 2020-08-24
*/
@@ -79,5 +79,5 @@ public class WeCorpAccount extends BaseEntity
@ApiModelProperty("企业管理员账号")
- private String cropAccount;
+ private String corpAccount;
}
diff --git a/linkwe-common/src/main/java/com/linkwechat/common/enums/GroupMessageType.java b/linkwe-common/src/main/java/com/linkwechat/common/enums/GroupMessageType.java
index 421aeec753bd7d7f60c61a3249e20dd1c1405e19..e2ef0e687b41488730982a7224974fc404e59d6e 100644
--- a/linkwe-common/src/main/java/com/linkwechat/common/enums/GroupMessageType.java
+++ b/linkwe-common/src/main/java/com/linkwechat/common/enums/GroupMessageType.java
@@ -33,6 +33,11 @@ public enum GroupMessageType {
*/
TEXT_IMAGE("4", "text_image"),
+ /**
+ * 视频
+ */
+ VIDEO("5", "video")
+
;
/**
* 媒体类型
diff --git a/linkwe-common/src/main/java/com/linkwechat/common/utils/SecurityUtils.java b/linkwe-common/src/main/java/com/linkwechat/common/utils/SecurityUtils.java
index 371bcfec0f553dec8117d7c4c2e74dd9f9d714a4..569b48b78ac2fcd52bd7a399b16b7b9fbbfda2d2 100644
--- a/linkwe-common/src/main/java/com/linkwechat/common/utils/SecurityUtils.java
+++ b/linkwe-common/src/main/java/com/linkwechat/common/utils/SecurityUtils.java
@@ -87,7 +87,4 @@ public class SecurityUtils
{
return userId != null && 1L == userId;
}
-
-
-
}
diff --git a/linkwe-framework/src/main/java/com/linkwechat/framework/config/MyBatisPlusConfig.java b/linkwe-framework/src/main/java/com/linkwechat/framework/config/MyBatisPlusConfig.java
index 5816f9729a540c865497dc396cccd490b636b465..d379fecf0728f98cdab84ba08fe86e33aa527cb5 100644
--- a/linkwe-framework/src/main/java/com/linkwechat/framework/config/MyBatisPlusConfig.java
+++ b/linkwe-framework/src/main/java/com/linkwechat/framework/config/MyBatisPlusConfig.java
@@ -1,23 +1,10 @@
package com.linkwechat.framework.config;
-import com.baomidou.mybatisplus.annotation.DbType;
-import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
-import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
import com.github.pagehelper.PageInterceptor;
-import com.linkwechat.common.config.WeComeConfig;
-import com.linkwechat.common.core.domain.entity.WeCorpAccount;
-import com.linkwechat.common.utils.SecurityUtils;
-import net.sf.jsqlparser.expression.Expression;
-import net.sf.jsqlparser.expression.StringValue;
import org.apache.ibatis.plugin.Interceptor;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import java.util.Arrays;
-
/**
* Mybatis支持*匹配扫描包
@@ -27,103 +14,9 @@ import java.util.Arrays;
@Configuration
public class MyBatisPlusConfig
{
- @Autowired
- WeComeConfig weComeConfig;
-
-
-
-
-
-//
-// @Bean
-// public MybatisPlusInterceptor mybatisPlusInterceptor() {
-// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-// // 如果用了分页插件注意先 add TenantLineInnerInterceptor 再 add PaginationInnerInterceptor
-// // 用了分页插件必须设置 MybatisConfiguration#useDeprecatedExecutor = false
-// // interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
-//
-// interceptor.addInnerInterceptor(new TenantLineInnerInterceptor(
-// new TenantLineHandler() {
-// // 获取租户 ID 值表达式,只支持单个 ID 值
-// @Override
-// public Expression getTenantId() {
-//
-// WeCorpAccount weCorpAccount
-// = SecurityUtils.getLoginUser().getUser().getWeCorpAccount();
-// if(null != weCorpAccount){
-// return new StringValue(weCorpAccount.getCorpId());
-// }
-//
-// return null;
-// }
-// // 这是 default 方法,默认返回 false 表示所有表都需要拼多租户条件,
-// // 这里设置 role表不需要该条件
-// @Override
-// public boolean ignoreTable(String tableName) {
-//
-// if (Arrays.asList(weComeConfig.getNeedTenant())
-// .contains(tableName)){
-// return false;
-// }
-// return true;
-// }
-//
-// @Override
-// public String getTenantIdColumn() {
-// return "corp_id";
-// }
-// }));
-// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
-// return interceptor;
-// }
-
-// @Bean
-// public ConfigurationCustomizer configurationCustomizer() {
-// return configuration -> configuration.setUseDeprecatedExecutor(false);
-// }
-
-
-
-
-
@Bean
public Interceptor[] plugins() {
- MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
- interceptor.addInnerInterceptor(new TenantLineInnerInterceptor(
- new TenantLineHandler() {
- // 获取租户 ID 值表达式,只支持单个 ID 值
- @Override
- public Expression getTenantId() {
-
- WeCorpAccount weCorpAccount
- = SecurityUtils.getLoginUser().getUser().getWeCorpAccount();
- if(null != weCorpAccount){
- return new StringValue(weCorpAccount.getCorpId());
- }
-
- return null;
- }
- // 这是 default 方法,默认返回 false 表示所有表都需要拼多租户条件,
- // 这里设置 role表不需要该条件
- @Override
- public boolean ignoreTable(String tableName) {
-
- if (Arrays.asList(weComeConfig.getNeedTenant())
- .contains(tableName)){
- return false;
- }
- return true;
- }
-
- @Override
- public String getTenantIdColumn() {
- return "corp_id";
- }
- }));
-
-//
- return new Interceptor[]{interceptor,new PageInterceptor()
- };
+ return new Interceptor[]{new PageInterceptor()};
}
}
\ No newline at end of file
diff --git a/linkwe-framework/src/main/java/com/linkwechat/framework/config/SecurityConfig.java b/linkwe-framework/src/main/java/com/linkwechat/framework/config/SecurityConfig.java
index 855e057040a22d0c776906c2dd39bb38ca2487cc..42448b76ffe24274fc99e253ec5f15d221f20ea9 100644
--- a/linkwe-framework/src/main/java/com/linkwechat/framework/config/SecurityConfig.java
+++ b/linkwe-framework/src/main/java/com/linkwechat/framework/config/SecurityConfig.java
@@ -130,13 +130,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/wecom/community/h5/**").anonymous()
//微信授权接口
.antMatchers("/weixin/auth/**").anonymous()
- // .antMatchers("/common/uploadFile2Cos").anonymous()
- .antMatchers("/wecom/material/temporaryMaterialMediaId").anonymous()
- .antMatchers("/wecom/portrait/**").anonymous()
- .antMatchers("/wecom/findAddaddEmployes").anonymous()
-
- .antMatchers("/corpLogin").anonymous()
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated()
.and()
diff --git a/linkwe-framework/src/main/java/com/linkwechat/framework/web/service/UserDetailsServiceImpl.java b/linkwe-framework/src/main/java/com/linkwechat/framework/web/service/UserDetailsServiceImpl.java
index 0c7e2d93ddd01c05faeb0d2c39b27a4a4a8a06f2..95bc8d7ee83eb0f1acaa292e40f2224957d25167 100644
--- a/linkwe-framework/src/main/java/com/linkwechat/framework/web/service/UserDetailsServiceImpl.java
+++ b/linkwe-framework/src/main/java/com/linkwechat/framework/web/service/UserDetailsServiceImpl.java
@@ -1,12 +1,10 @@
package com.linkwechat.framework.web.service;
import cn.hutool.core.util.ArrayUtil;
-import cn.hutool.core.util.StrUtil;
import com.linkwechat.common.config.RuoYiConfig;
import com.linkwechat.common.constant.Constants;
import com.linkwechat.common.core.domain.entity.SysRole;
import com.linkwechat.common.core.domain.entity.SysUser;
-import com.linkwechat.common.core.domain.entity.WeCorpAccount;
import com.linkwechat.common.core.domain.model.LoginUser;
import com.linkwechat.common.enums.UserStatus;
import com.linkwechat.common.exception.BaseException;
@@ -14,6 +12,7 @@ import com.linkwechat.common.utils.SecurityUtils;
import com.linkwechat.common.utils.StringUtils;
import com.linkwechat.system.mapper.SysRoleMapper;
import com.linkwechat.system.service.ISysUserService;
+import com.linkwechat.common.core.domain.entity.WeCorpAccount;
import com.linkwechat.wecom.service.IWeCorpAccountService;
import com.linkwechat.wecom.service.IWeUserService;
import org.slf4j.Logger;
@@ -61,24 +60,23 @@ public class UserDetailsServiceImpl implements UserDetailsService
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
{
SysUser user = userService.selectUserByUserName(username);
- System.out.println(user.getUserType());
if (StringUtils.isNull(user))
{
- //企业管理登录
- //查询企业管理相关账号
- WeCorpAccount weCorpByAccount = iWeCorpAccountService.findWeCorpByAccount(username);
- if(null != weCorpByAccount){
- //注册到we_user表中
- user= SysUser.builder()
- .userName(weCorpByAccount.getCropAccount())
- .nickName(weCorpByAccount.getCompanyName())
- .userType(Constants.USER_TYOE_CORP_ADMIN)
- .roleIds(ArrayUtil.toArray(roleMapper.selectRoleList(SysRole.builder()
- .roleKey(Constants.DEFAULT_WECOME_CORP_ADMIN)
- .build()).stream().map(SysRole::getRoleId).collect(Collectors.toList()), Long.class))
- .password(SecurityUtils.encryptPassword(ruoYiConfig.getWeUserDefaultPwd()))
- .build();
- }
+// //企业管理登录
+// //查询企业管理相关账号
+// WeCorpAccount weCorpByAccount = iWeCorpAccountService.findWeCorpByAccount(username);
+// if(null != weCorpByAccount){
+// //注册到we_user表中
+// user=SysUser.builder()
+// .userName(weCorpByAccount.getCropAccount())
+// .nickName(weCorpByAccount.getCompanyName())
+// .userType(Constants.USER_TYOE_CORP_ADMIN)
+// .roleIds(ArrayUtil.toArray(roleMapper.selectRoleList(SysRole.builder()
+// .roleKey(Constants.DEFAULT_WECOME_CORP_ADMIN)
+// .build()).stream().map(SysRole::getRoleId).collect(Collectors.toList()), Long.class))
+// .password(SecurityUtils.encryptPassword(ruoYiConfig.getWeUserDefaultPwd()))
+// .build();
+// }
// else{
//
@@ -121,11 +119,11 @@ public class UserDetailsServiceImpl implements UserDetailsService
}
//当前登录用户为企业管理,设置corpId和密钥相关
- if(Constants.USER_TYOE_CORP_ADMIN.equals(user.getUserType())){
- user.setWeCorpAccount(
- iWeCorpAccountService.findWeCorpByAccount(username)
- );
- }
+// if(user.getUserType().equals(Constants.USER_TYOE_CORP_ADMIN)){
+// user.setWeCorpAccount(
+// iWeCorpAccountService.findWeCorpByAccount(username)
+// );
+// }
return createLoginUser(user);
diff --git a/linkwe-quartz/src/main/java/com/linkwechat/quartz/task/PageHomeDataTask.java b/linkwe-quartz/src/main/java/com/linkwechat/quartz/task/PageHomeDataTask.java
index 9b6ff39cb4343f3a0b0e2fc864068c64b0316dc3..8f8366cf738ce76cb74bb636f64fe18848be9913 100644
--- a/linkwe-quartz/src/main/java/com/linkwechat/quartz/task/PageHomeDataTask.java
+++ b/linkwe-quartz/src/main/java/com/linkwechat/quartz/task/PageHomeDataTask.java
@@ -95,14 +95,36 @@ public class PageHomeDataTask {
String today = DateUtil.today();
String yesterday = DateUtil.yesterday().toDateStr();
//客户统计
- WePageCountDto newTime = weUserBehaviorDataService.getCountDataByDay(today,"day");
+ WePageCountDto nowData = weUserBehaviorDataService.getCountDataByDay(today,"day");
+ //客户群统计
+ WePageCountDto nowTimeGroupChatData = weGroupStatisticService.getCountDataByDay(today, "day");
+ if(nowTimeGroupChatData != null){
+ nowData.setChatCnt(nowTimeGroupChatData.getChatCnt());
+ nowData.setChatTotal(nowTimeGroupChatData.getChatTotal());
+ nowData.setChatHasMsg(nowTimeGroupChatData.getChatHasMsg());
+ nowData.setNewChatCnt(nowTimeGroupChatData.getNewChatCnt());
+ nowData.setNewMemberCnt(nowTimeGroupChatData.getNewMemberCnt());
+ nowData.setMemberTotal(nowTimeGroupChatData.getMemberTotal());
+ nowData.setMsgTotal(nowTimeGroupChatData.getMsgTotal());
+ }
/**
* 昨日
*/
//客户统计
WePageCountDto lastTime = weUserBehaviorDataService.getCountDataByDay(yesterday,"day");
-
- WePageStaticDataDto.PageStaticData pageStaticData = setPageStaticData(newTime, lastTime);
+ //客户群统计
+ WePageCountDto lastGroupChatTime = weGroupStatisticService.getCountDataByDay(yesterday,"day");
+ if(lastGroupChatTime != null){
+ lastTime.setChatCnt(lastGroupChatTime.getChatCnt());
+ lastTime.setChatTotal(lastGroupChatTime.getChatTotal());
+ lastTime.setChatHasMsg(lastGroupChatTime.getChatHasMsg());
+ lastTime.setNewChatCnt(lastGroupChatTime.getNewChatCnt());
+ lastTime.setNewMemberCnt(lastGroupChatTime.getNewMemberCnt());
+ lastTime.setMemberTotal(lastGroupChatTime.getMemberTotal());
+ lastTime.setMsgTotal(lastGroupChatTime.getMsgTotal());
+ }
+
+ WePageStaticDataDto.PageStaticData pageStaticData = setPageStaticData(nowData, lastTime);
WePageStateQuery wePageStateQuery = new WePageStateQuery();
//获取15天前的时间
@@ -110,6 +132,21 @@ public class PageHomeDataTask {
wePageStateQuery.setEndTime(today);
wePageStateQuery.setFew(14);
List dayCountData = weUserBehaviorDataService.getDayCountData(wePageStateQuery);
+ List dayGroupChatCountData = weGroupStatisticService.getDayCountData(wePageStateQuery);
+ for (WePageCountDto dayData : dayCountData) {
+ for (WePageCountDto dayGroupChatData : dayGroupChatCountData) {
+ if (dayData.getXTime().equals(dayGroupChatData.getXTime())){
+ dayData.setChatCnt(dayGroupChatData.getChatCnt());
+ dayData.setChatTotal(dayGroupChatData.getChatTotal());
+ dayData.setChatHasMsg(dayGroupChatData.getChatHasMsg());
+ dayData.setNewChatCnt(dayGroupChatData.getNewChatCnt());
+ dayData.setNewMemberCnt(dayGroupChatData.getNewMemberCnt());
+ dayData.setMemberTotal(dayGroupChatData.getMemberTotal());
+ dayData.setMsgTotal(dayGroupChatData.getMsgTotal());
+ break;
+ }
+ }
+ }
pageStaticData.setDataList(dayCountData);
return pageStaticData;
@@ -121,17 +158,51 @@ public class PageHomeDataTask {
*/
//客户统计
WePageCountDto newTime = weUserBehaviorDataService.getCountDataByDay(DateUtil.today(),"week");
+ WePageCountDto nowTimeGroupChatData = weGroupStatisticService.getCountDataByDay(DateUtil.today(),"week");
+ if(nowTimeGroupChatData != null){
+ newTime.setChatCnt(nowTimeGroupChatData.getChatCnt());
+ newTime.setChatTotal(nowTimeGroupChatData.getChatTotal());
+ newTime.setChatHasMsg(nowTimeGroupChatData.getChatHasMsg());
+ newTime.setNewChatCnt(nowTimeGroupChatData.getNewChatCnt());
+ newTime.setNewMemberCnt(nowTimeGroupChatData.getNewMemberCnt());
+ newTime.setMemberTotal(nowTimeGroupChatData.getMemberTotal());
+ newTime.setMsgTotal(nowTimeGroupChatData.getMsgTotal());
+ }
/**
* 上周
*/
//客户统计
WePageCountDto lastTime = weUserBehaviorDataService.getCountDataByDay(DateUtil.lastWeek().toDateStr(),"week");
-
+ WePageCountDto lastTimeGroupChatData = weGroupStatisticService.getCountDataByDay(DateUtil.lastWeek().toDateStr(),"week");
+ if(lastTimeGroupChatData != null){
+ lastTime.setChatCnt(lastTimeGroupChatData.getChatCnt());
+ lastTime.setChatTotal(lastTimeGroupChatData.getChatTotal());
+ lastTime.setChatHasMsg(lastTimeGroupChatData.getChatHasMsg());
+ lastTime.setNewChatCnt(lastTimeGroupChatData.getNewChatCnt());
+ lastTime.setNewMemberCnt(lastTimeGroupChatData.getNewMemberCnt());
+ lastTime.setMemberTotal(lastTimeGroupChatData.getMemberTotal());
+ lastTime.setMsgTotal(lastTimeGroupChatData.getMsgTotal());
+ }
WePageStaticDataDto.PageStaticData pageStaticData = setPageStaticData(newTime, lastTime);
WePageStateQuery wePageStateQuery = new WePageStateQuery();
wePageStateQuery.setFew(5);
List weekCountData = weUserBehaviorDataService.getWeekCountData(wePageStateQuery);
+ List weekGroupChatCountData = weGroupStatisticService.getWeekCountData(wePageStateQuery);
+ for (WePageCountDto weekData : weekCountData) {
+ for (WePageCountDto weekGroupChatData : weekGroupChatCountData) {
+ if (weekData.getXTime().equals(weekGroupChatData.getXTime())){
+ weekData.setChatCnt(weekGroupChatData.getChatCnt());
+ weekData.setChatTotal(weekGroupChatData.getChatTotal());
+ weekData.setChatHasMsg(weekGroupChatData.getChatHasMsg());
+ weekData.setNewChatCnt(weekGroupChatData.getNewChatCnt());
+ weekData.setNewMemberCnt(weekGroupChatData.getNewMemberCnt());
+ weekData.setMemberTotal(weekGroupChatData.getMemberTotal());
+ weekData.setMsgTotal(weekGroupChatData.getMsgTotal());
+ break;
+ }
+ }
+ }
pageStaticData.setDataList(weekCountData);
return pageStaticData;
@@ -139,21 +210,55 @@ public class PageHomeDataTask {
private WePageStaticDataDto.PageStaticData getMonthData(){
/**
- * 本周
+ * 本月
*/
//客户统计
WePageCountDto newTime = weUserBehaviorDataService.getCountDataByDay(DateUtil.today(),"month");
+ WePageCountDto nowTimeGroupChatData = weGroupStatisticService.getCountDataByDay(DateUtil.today(),"month");
+ if(nowTimeGroupChatData != null){
+ newTime.setChatCnt(nowTimeGroupChatData.getChatCnt());
+ newTime.setChatTotal(nowTimeGroupChatData.getChatTotal());
+ newTime.setChatHasMsg(nowTimeGroupChatData.getChatHasMsg());
+ newTime.setNewChatCnt(nowTimeGroupChatData.getNewChatCnt());
+ newTime.setNewMemberCnt(nowTimeGroupChatData.getNewMemberCnt());
+ newTime.setMemberTotal(nowTimeGroupChatData.getMemberTotal());
+ newTime.setMsgTotal(nowTimeGroupChatData.getMsgTotal());
+ }
/**
- * 上周
+ * 上月
*/
//客户统计
WePageCountDto lastTime = weUserBehaviorDataService.getCountDataByDay(DateUtil.lastMonth().toDateStr(),"month");
-
+ WePageCountDto lastTimeGroupChatData = weGroupStatisticService.getCountDataByDay(DateUtil.lastMonth().toDateStr(),"month");
+ if(lastTimeGroupChatData != null){
+ lastTime.setChatCnt(lastTimeGroupChatData.getChatCnt());
+ lastTime.setChatTotal(lastTimeGroupChatData.getChatTotal());
+ lastTime.setChatHasMsg(lastTimeGroupChatData.getChatHasMsg());
+ lastTime.setNewChatCnt(lastTimeGroupChatData.getNewChatCnt());
+ lastTime.setNewMemberCnt(lastTimeGroupChatData.getNewMemberCnt());
+ lastTime.setMemberTotal(lastTimeGroupChatData.getMemberTotal());
+ lastTime.setMsgTotal(lastTimeGroupChatData.getMsgTotal());
+ }
WePageStaticDataDto.PageStaticData pageStaticData = setPageStaticData(newTime, lastTime);
WePageStateQuery wePageStateQuery = new WePageStateQuery();
wePageStateQuery.setFew(5);
List monthCountData = weUserBehaviorDataService.getMonthCountData(wePageStateQuery);
+ List monthGroupChatCountData = weGroupStatisticService.getMonthCountData(wePageStateQuery);
+ for (WePageCountDto monthData : monthCountData) {
+ for (WePageCountDto monthGroupChatData : monthGroupChatCountData) {
+ if (monthData.getXTime().equals(monthGroupChatData.getXTime())){
+ monthData.setChatCnt(monthGroupChatData.getChatCnt());
+ monthData.setChatTotal(monthGroupChatData.getChatTotal());
+ monthData.setChatHasMsg(monthGroupChatData.getChatHasMsg());
+ monthData.setNewChatCnt(monthGroupChatData.getNewChatCnt());
+ monthData.setNewMemberCnt(monthGroupChatData.getNewMemberCnt());
+ monthData.setMemberTotal(monthGroupChatData.getMemberTotal());
+ monthData.setMsgTotal(monthGroupChatData.getMsgTotal());
+ break;
+ }
+ }
+ }
pageStaticData.setDataList(monthCountData);
return pageStaticData;
@@ -169,6 +274,8 @@ public class PageHomeDataTask {
pageStaticData.setNegativeFeedbackCntDiff(nowTime.getNegativeFeedbackCnt() - lastTime.getNegativeFeedbackCnt());
pageStaticData.setNewContactCnt(nowTime.getNewContactCnt());
pageStaticData.setNewContactCntDiff(nowTime.getNewContactCnt() - lastTime.getNewContactCnt());
+ pageStaticData.setNewMemberCnt(nowTime.getNewMemberCnt());
+ pageStaticData.setNewMemberCntDiff(nowTime.getNewMemberCnt() - lastTime.getNewMemberCnt());
return pageStaticData;
}
diff --git a/linkwe-quartz/src/main/java/com/linkwechat/quartz/task/RyTask.java b/linkwe-quartz/src/main/java/com/linkwechat/quartz/task/RyTask.java
index a548c3817c7c5531f5534977422e146f1865ccf3..8577f516962cd2689f48abd353387aed139a3f07 100644
--- a/linkwe-quartz/src/main/java/com/linkwechat/quartz/task/RyTask.java
+++ b/linkwe-quartz/src/main/java/com/linkwechat/quartz/task/RyTask.java
@@ -142,7 +142,6 @@ public class RyTask {
* 扫描群发消息定时任务
*/
public void messageTask() {
-
//获的当前时间的毫秒数
long currentTime = System.currentTimeMillis();
//customerMessageTimeTaskMapper
@@ -153,32 +152,22 @@ public class RyTask {
if (CollectionUtils.isNotEmpty(weCustomerMessageTimeTasks)) {
weCustomerMessageTimeTasks.forEach(
-
s -> {
-
try {
-
semaphore.acquire();
-
if (s.getMessageInfo() != null && s.getMessageId() != null || (s.getMessageInfo().getPushType().equals(WeConstans.SEND_MESSAGE_CUSTOMER)
&& CollectionUtils.isNotEmpty(s.getCustomersInfo())) || (s.getMessageInfo().getPushType().equals(WeConstans.SEND_MESSAGE_GROUP)
&& CollectionUtils.isNotEmpty(s.getGroupsInfo()))) {
-
weCustomerMessageService.sendMessgae(s.getMessageInfo(), s.getMessageId(), s.getCustomersInfo(), s.getGroupsInfo());
-
//更新消息处理状态
customerMessageTimeTaskMapper.updateTaskSolvedById(s.getTaskId());
-
}
-
semaphore.release();
-
} catch (JsonProcessingException | InterruptedException e) {
log.error("定时群发消息处理异常:ex:{}", e);
e.printStackTrace();
}
}
-
);
}
diff --git a/linkwe-quartz/src/main/java/com/linkwechat/quartz/task/TaskFissionStatusTask.java b/linkwe-quartz/src/main/java/com/linkwechat/quartz/task/TaskFissionStatusTask.java
deleted file mode 100644
index 42f41623d2e766e84ef60468fb2cac8442a6ce1f..0000000000000000000000000000000000000000
--- a/linkwe-quartz/src/main/java/com/linkwechat/quartz/task/TaskFissionStatusTask.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.linkwechat.quartz.task;
-
-import com.linkwechat.wecom.service.IWeTaskFissionService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-/**
- * @author danmo
- * @description 任务状态处理
- * @date 2021/4/12 14:39
- **/
-@Slf4j
-@Component("TaskFissionStatusTask")
-public class TaskFissionStatusTask {
- @Autowired
- private IWeTaskFissionService weTaskFissionService;
-
-
- public void taskFissionExpiredStatusHandle() {
- log.info("任务宝过期时间处理--------------------------start");
- weTaskFissionService.updateExpiredWeTaskFission();
- log.info("任务宝过期时间处理--------------------------end");
- }
-}
diff --git a/linkwe-system/src/main/resources/mapper/system/SysUserMapper.xml b/linkwe-system/src/main/resources/mapper/system/SysUserMapper.xml
index 5c67f69262cdd0dcf00900e7f5b0a29a9f9285a6..2ee08e38988ab22b8f964e79dbb96fdfd63e120b 100644
--- a/linkwe-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/linkwe-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -23,7 +23,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-
@@ -48,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
- d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,u.user_type,
+ d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
diff --git a/linkwe-wecom/pom.xml b/linkwe-wecom/pom.xml
index d1b525a48048cc7018bd9c1470c625f5f1720404..4e41f205cc6172b4207f135730643bcfdf5798ba 100644
--- a/linkwe-wecom/pom.xml
+++ b/linkwe-wecom/pom.xml
@@ -27,10 +27,6 @@
spring-test
5.2.9.RELEASE
-
- com.linkwechat
- linkwe-system
-
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeAppClient.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeAppClient.java
index a7a40ead2d7ed71ea89879c6621621cf7a5c8dea..ad7e8468787fa69f94e83b7bb89bda8881025d4f 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeAppClient.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeAppClient.java
@@ -1,9 +1,6 @@
package com.linkwechat.wecom.client;
-import com.dtflys.forest.annotation.BaseRequest;
-import com.dtflys.forest.annotation.DataObject;
-import com.dtflys.forest.annotation.Query;
-import com.dtflys.forest.annotation.Request;
+import com.dtflys.forest.annotation.*;
import com.linkwechat.wecom.domain.dto.WeAppDetailDto;
import com.linkwechat.wecom.domain.dto.WeAppDto;
import com.linkwechat.wecom.domain.dto.WeResultDto;
@@ -28,13 +25,13 @@ public interface WeAppClient {
* @return
*/
@Request(url = "/agent/get")
- WeAppDetailDto findAgentById(@Query("agentid") Integer agentid);
+ WeAppDetailDto findAgentById(@Query("agentid") String agentid);
/**
* 设置应用
* @param weAppDetailDto
* @return
*/
- @Request(url = "/agent/set")
- WeResultDto updateAgentById(@DataObject WeAppDetailDto weAppDetailDto);
+ @Request(url = "/agent/set",type = "POST")
+ WeResultDto updateAgentById(@DataObject WeAppDetailDto weAppDetailDto,@Header("agentid")String agentid);
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeMediaClient.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeMediaClient.java
index 8cafe75a22f05ce6908b0466b6149a8a1933e8c6..df656891e9e9769c00918cd146c8977401ecdf57 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeMediaClient.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeMediaClient.java
@@ -19,23 +19,13 @@ import java.io.InputStream;
*/
@BaseRequest(interceptor = WeAccessTokenInterceptor.class)
public interface WeMediaClient {
-
- /**
- * 上传临时素材
- * @param file
- * @param type
- * @return
- */
- @Post(url="/media/upload")
- WeMediaDto upload(@DataFile(value = "media") File file, @Query("type") String type);
-
/**
* 上传图片
* @param multipartFile
* @return
*/
@Post(url="/media/uploadimg")
- WeMediaDto uploadimg(@DataFile(value = "file") MultipartFile multipartFile);
+ WeMediaDto uploadimg(@DataFile(value = "fieldNameHere") MultipartFile multipartFile);
/**
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeApp.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeApp.java
index 8f34ed28ea53b97795383aa9ea569589a1321579..08cc95821945129dca48118d4c298f20842a2dc0 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeApp.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeApp.java
@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
+import java.util.List;
/**
* @description: 自建应用相关
@@ -30,65 +31,51 @@ public class WeApp {
/**应用id**/
private String agentId;
- /**应用名称**/
- private String agentName;
-
/**应用密钥**/
private String agentSecret;
- /**应用描述**/
- private String description;
+ /**应用类型(1:自建应用;2:小程序)**/
+ private Integer appType;
- /**应用图标**/
- private String squareLogoUrl;
- /**企业应用是否被停用(1:是;0:否)**/
- private Integer close;
+ /**应用创建时间**/
+ private Date createTime;
- /**企业应用可信域名**/
- private String redirectDomain;
+ /**删除标志(0代表存在 2代表删除)**/
+ private String delFlag;
- /**企业应用是否打开地理位置上报 0:不上报;1:进入会话上报;**/
- private Integer reportLocationFlag;
- /**是否上报用户进入应用事件。0:不接收;1:接收**/
- private Integer isreportenter;
+ /**帐号状态(0正常 1停用)**/
+ private String status;
- /**应用主页url**/
- private String homeUrl;
+ /**可见范围部门id,使用逗号隔开**/
+ private String allowPartys;
- /**应用类型(1:自建应用;)**/
- private Integer appType;
+ /**可见范围人员id,使用逗号隔开**/
+ private String allowUserinfos;
- /**应用创建时间**/
- private Date createTime;
-
+ /**应用名称**/
+ private String agentName;
- /**删除标志(0代表存在 2代表删除)**/
- private String delFlag;
-
+ /**企业应用描述**/
+ private String description;
- /**帐号状态(0正常 1停用)**/
- private String status;
+ /**应用头像**/
+ private String squareLogoUrl;
- /**企业应用头像的mediaid,通过素材管理接口上传图片获得mediaid,上传后会自动裁剪成方形和圆形两个头像**/
@TableField(exist = false)
private String logoMediaid;
-
-
-
-
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCustomerTrajectory.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCustomerTrajectory.java
index 2b601c25330d38ab560cb0ecae3d82ef7c1bb78b..db82ae47084a7f1c7277108a957bf787dc4f5022 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCustomerTrajectory.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCustomerTrajectory.java
@@ -29,8 +29,13 @@ public class WeCustomerTrajectory {
private String content;
//处理日期
private Date createDate;
- //处理时间
- private Time createTime;
+
+ //处理开始时间
+ private Time startTime;
+
+ //处理结束时间
+ private Time endTime;
+
//0:正常;1:删除;2:完成
private String status;
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeTaskFission.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeTaskFission.java
index 46b38e35e1c662e32972bd1882b3a7043e6c3946..2a16d87a4f52c1e50ba5da1109d2c86ac59bf3a5 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeTaskFission.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeTaskFission.java
@@ -59,16 +59,16 @@ public class WeTaskFission extends BaseEntity {
/**
* 活动开始时间
*/
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty(value = "活动开始时间")
private Date startTime;
/**
* 活动结束时间
*/
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty(value = "活动结束时间")
private Date overTime;
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDetailDto.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDetailDto.java
index 74cba1c617e1ec0b93df70fc002716bfa45d5c55..93d3811bf054ad76aebc495d966486558ef278cc 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDetailDto.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDetailDto.java
@@ -1,15 +1,21 @@
package com.linkwechat.wecom.domain.dto;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
import lombok.Data;
+import lombok.NoArgsConstructor;
/**
* 企业应用详情接口
*/
@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
public class WeAppDetailDto extends WeResultDto{
//企业应用id
- private Long agentid;
+ private String agentid;
//企业应用名称
private String name;
//企业应用方形头像
@@ -28,4 +34,33 @@ public class WeAppDetailDto extends WeResultDto{
private String home_url;
//企业应用头像的mediaid,通过素材管理接口上传图片获得mediaid,上传后会自动裁剪成方形和圆形两个头像
private String logo_mediaid;
+
+ //企业应用可见范围(人员)
+ private AllowUserinfos allow_userinfos;
+
+ //企业应用可见范围(部门)
+ private AllowPartys allow_partys;
+
+
+
+ //可见部门
+ @Data
+ public class AllowPartys{
+ private String[] partyid;
+
+ }
+
+
+ @Data
+ public class AllowUserinfos{
+ private user[] user;
+ }
+
+ @Data
+ public class user{
+ private String userid;
+ }
+
+
+
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDto.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDto.java
index 997539299704c531c67dd37551a1fe7ebfb2dd1e..9bc811f2cae005c4b56e3a9f0790c8b15db28215 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDto.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDto.java
@@ -15,11 +15,19 @@ public class WeAppDto extends WeResultDto{
@Data
public class Agent{
//企业应用id
- private Long agentid;
+ private String agentid;
//企业应用名称
private String name;
//企业应用方形头像url
private String square_logo_url;
+
+
+
+
+
}
+
+
+
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeMediaDto.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeMediaDto.java
index fa685402604dab0a6f796f6f1f0090ed21110735..cba57be2a31f49e65c8a50ee188a3355ab4729d5 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeMediaDto.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeMediaDto.java
@@ -1,5 +1,7 @@
package com.linkwechat.wecom.domain.dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -7,6 +9,7 @@ import lombok.Data;
* @Description:
* @Date: create in 2020/9/24 0024 0:16
*/
+@ApiModel
@Data
public class WeMediaDto extends WeResultDto{
/**媒体文件类型,分别有图片(image)、语音(voice)、视频(video),普通文件(file)*/
@@ -16,5 +19,9 @@ public class WeMediaDto extends WeResultDto{
/**媒体文件上传时间戳*/
private Long created_at;
/**上传后得到的图片URL。永久有效*/
+ @ApiModelProperty("图片路径")
private String url;
+
+ @ApiModelProperty("图片名称")
+ private String fileName;
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeWelcomeMsg.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeWelcomeMsg.java
index f4c2f1d53a6433b0635828f307c1add4dc6a0d64..b8163a981b1de9031321eb3b354feb379a55b6a3 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeWelcomeMsg.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeWelcomeMsg.java
@@ -3,8 +3,6 @@ package com.linkwechat.wecom.domain.dto;
import lombok.Builder;
import lombok.Data;
-import java.util.List;
-
/**
* @author admin
* @date 2020-11-18
@@ -14,8 +12,6 @@ import java.util.List;
public class WeWelcomeMsg {
private String welcome_code;
- private List attachments;
-
private Text text;
private Image image;
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/message/CustomerMessagePushDto.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/message/CustomerMessagePushDto.java
index 66a4d927f362cd6c0d88d8974f0478b02fdd4ce1..376d6770974b1850e802a984a7f6f46fad462e56 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/message/CustomerMessagePushDto.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/message/CustomerMessagePushDto.java
@@ -68,6 +68,11 @@ public class CustomerMessagePushDto {
*/
private MiniprogramMessageDto miniprogramMessage;
+ /**
+ * 视频
+ */
+ private VideoDto videoDto;
+
/**
* 消息内容
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/message/VideoDto.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/message/VideoDto.java
new file mode 100644
index 0000000000000000000000000000000000000000..cc12ab02c9fc1bd4539642697739a9f0776ca33d
--- /dev/null
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/message/VideoDto.java
@@ -0,0 +1,16 @@
+package com.linkwechat.wecom.domain.dto.message;
+
+import lombok.Data;
+
+/**
+ * @author danmo
+ * @description 视频
+ * @date 2021/4/24 16:01
+ **/
+@Data
+public class VideoDto {
+ /**
+ * 视频素材id
+ */
+ private String media_id;
+}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/message/WeCustomerMessagePushDto.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/message/WeCustomerMessagePushDto.java
index 6715b43642a1dd3b463a4d0e772fd15efa8fc1f7..f5261598c50f473a4e47675ec949ccc66236e476 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/message/WeCustomerMessagePushDto.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/message/WeCustomerMessagePushDto.java
@@ -27,19 +27,23 @@ public class WeCustomerMessagePushDto {
*/
private TextMessageDto text;
+ /**
+ * 附件
+ */
+ private List attachments;
+
/**
* 图片消息
*/
- private ImageMessageDto image;
+ //private ImageMessageDto image;
/**
* 链接消息
*/
- private LinkMessageDto link;
+ //private LinkMessageDto link;
/**
* 小程序消息
*/
- private MiniprogramMessageDto miniprogram;
-
+ //private MiniprogramMessageDto miniprogram;
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/vo/ConversationArchiveVo.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/vo/ConversationArchiveVo.java
new file mode 100644
index 0000000000000000000000000000000000000000..0ae2cdb2255c7153c3806cd6aebb77f3c8932d26
--- /dev/null
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/vo/ConversationArchiveVo.java
@@ -0,0 +1,337 @@
+package com.linkwechat.wecom.domain.vo;
+
+import com.alibaba.fastjson.JSONObject;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author danmo
+ * @description 会话对象返回值
+ * @date 2021/4/21 17:18
+ **/
+@ApiModel
+@Data
+public class ConversationArchiveVo {
+ @ApiModelProperty("消息id")
+ private String msgId;
+
+ @ApiModelProperty("音频id")
+ private String voiceId;
+
+ @ApiModelProperty("消息发送时间戳")
+ private Long time;
+
+ @ApiModelProperty("具体为切换企业的成员的userid")
+ private String user;
+
+ @ApiModelProperty("消息动作,目前有send(发送消息)/recall(撤回消息)/switch(切换企业日志)三种类型")
+ private String action;
+
+ @ApiModelProperty("消息发送方id。同一企业内容为userid,非相同企业为external_userid。消息如果是机器人发出,也为external_userid")
+ private String from;
+
+ @ApiModelProperty("消息发送方详情")
+ private JSONObject fromInfo;
+
+ @ApiModelProperty("消息接收方列表,可能是多个,同一个企业内容为userid,非相同企业为external_userid")
+ private List toList;
+
+ @ApiModelProperty("消息接收方详情")
+ private JSONObject toListInfo;
+
+ @ApiModelProperty("群聊消息的群id。如果是单聊则为空")
+ private String roomId;
+
+ @ApiModelProperty("消息发送时间戳,utc时间,ms单位。")
+ private Long msgTime;
+
+ @ApiModelProperty("消息类型")
+ private String msgType;
+
+ @ApiModelProperty("文本消息内容")
+ private Content text;
+
+ @ApiModelProperty("图片消息内容")
+ private Content image;
+
+ @ApiModelProperty("撤回消息")
+ private Content revoke;
+
+ @ApiModelProperty("同意会话聊天内容")
+ private Content disagree;
+
+ @ApiModelProperty("语音内容")
+ private Content voice;
+
+ @ApiModelProperty("视频内容")
+ private Content video;
+
+ @ApiModelProperty("名片")
+ private Content card;
+
+ @ApiModelProperty("位置")
+ private Content location;
+
+ @ApiModelProperty("表情")
+ private Content emotion;
+
+ @ApiModelProperty("文件")
+ private Content file;
+
+ @ApiModelProperty("链接")
+ private Content link;
+
+ @ApiModelProperty("小程序消息")
+ private Content weApp;
+
+ @ApiModelProperty("会话记录消息")
+ private Content chatReCord;
+
+ @ApiModelProperty("待办消息")
+ private Content todo;
+
+ @ApiModelProperty("投票消息")
+ private Content vote;
+
+ @ApiModelProperty("填表消息")
+ private Collect collect;
+
+ @ApiModelProperty("红包消息")
+ private RedPacket redPacket;
+
+ @ApiModelProperty("会议邀请消息")
+ private Meeting meeting;
+
+ @ApiModelProperty("在线文档消息")
+ private Content doc;
+
+ @ApiModelProperty("MarkDown格式消息/图文消息")
+ private JSONObject info;
+
+ @ApiModelProperty("混合消息")
+ private JSONObject mixed;
+
+ @ApiModelProperty("音频存档消息")
+ private JSONObject meetingVoiceCall;
+
+ @ApiModelProperty("日程消息")
+ private Calendar calendar;
+
+ @ApiModel
+ @Data
+ private class Content{
+ @ApiModelProperty("文本消息内容")
+ private String content;
+
+ @ApiModelProperty("图片资源的md5值")
+ private String md5Sum;
+
+ @ApiModelProperty("媒体资源的id信息")
+ private String sdkFileId;
+
+ @ApiModelProperty("文件大小")
+ private Long fileSize;
+
+ @ApiModelProperty("标识撤回的原消息的msgid")
+ private String preMsgId;
+
+ @ApiModelProperty("同意/不同意协议者的userid,外部企业默认为external_userid")
+ private String userId;
+
+ @ApiModelProperty("同意/不同意协议的时间 ms单位")
+ private Long agreeTime;
+
+ @ApiModelProperty("语音消息大小")
+ private Long voiceSize;
+
+ @ApiModelProperty("播放长度")
+ private Integer playLength;
+
+ @ApiModelProperty("名片所有者所在的公司名称")
+ private String corpName;
+
+ @ApiModelProperty("经度")
+ private Double longitude;
+
+ @ApiModelProperty("纬度")
+ private Double latitude;
+
+ @ApiModelProperty("地址信息")
+ private String address;
+
+ @ApiModelProperty("标题")
+ private String title;
+
+ @ApiModelProperty("缩放比例")
+ private Integer zoom;
+
+ @ApiModelProperty("表情类型,png或者gif.1表示gif 2表示png")
+ private Integer type;
+
+ @ApiModelProperty("表情图片宽度")
+ private Integer width;
+
+ @ApiModelProperty("表情图片高度")
+ private Integer height;
+
+ @ApiModelProperty("资源的文件大小")
+ private Integer imageSize;
+
+ @ApiModelProperty("文件名称")
+ private String fileName;
+
+ @ApiModelProperty("文件类型后缀")
+ private String fileExt;
+
+ @ApiModelProperty("消息描述")
+ private String description;
+
+ @ApiModelProperty("链接url地址")
+ private String linkUrl;
+
+ @ApiModelProperty("链接图片url")
+ private String imageUrl;
+
+ @ApiModelProperty("用户名称")
+ private String userName;
+
+ @ApiModelProperty("小程序名称")
+ private String displayName;
+
+ @ApiModelProperty("消息记录内的消息内容")
+ private List- item;
+
+ @ApiModelProperty("投票主题")
+ private String voteTitle;
+
+ @ApiModelProperty("投票选项,可能多个内容")
+ private List voteItem;
+
+ @ApiModelProperty("投票类型.101发起投票、102参与投票")
+ private Integer voteType;
+
+ @ApiModelProperty("投票id,方便将参与投票消息与发起投票消息进行前后对照")
+ private String voteId;
+
+ @ApiModelProperty("在线文档创建者。本企业成员创建为userid;外部企业成员创建为external_userid")
+ private String docCreator;
+ }
+
+ @Data
+ @ApiModel
+ private class Item{
+ @ApiModelProperty("每条聊天记录的具体消息类型:ChatRecordText/ ChatRecordFile/ ChatRecordImage/ " +
+ "ChatRecordVideo/ ChatRecordLink/ ChatRecordLocation/ ChatRecordMixed")
+ private String type;
+
+ @ApiModelProperty("消息时间,utc时间,单位秒")
+ private Long msgTime;
+
+ @ApiModelProperty("消息内容。Json串,内容为对应类型的json")
+ private String content;
+
+ @ApiModelProperty("是否来自群会话")
+ private Boolean fromChatRoom;
+ }
+
+ @Data
+ @ApiModel
+ private class Calendar{
+ @ApiModelProperty("日程主题")
+ private String title;
+
+ @ApiModelProperty("日程备注")
+ private String creatorName;
+
+ @ApiModelProperty("日程参与人")
+ private List attendeeName;
+
+ @ApiModelProperty("日程开始时间")
+ private Long startTime;
+
+ @ApiModelProperty("日程结束时间")
+ private Long endTime;
+
+ @ApiModelProperty("日程地点")
+ private String place;
+
+ @ApiModelProperty("日程备注")
+ private String remarks;
+ }
+
+ @Data
+ @ApiModel
+ private class Collect{
+ @ApiModelProperty("填表消息所在的群名称")
+ private String roomName;
+
+ @ApiModelProperty("创建者在群中的名字")
+ private String creator;
+
+ @ApiModelProperty("创建的时间")
+ private Long createTime;
+
+ @ApiModelProperty("表名")
+ private String title;
+
+ @ApiModelProperty("表内容")
+ private String details;
+
+ @ApiModelProperty("表项id")
+ private Long id;
+
+ @ApiModelProperty("表项名称")
+ private String ques;
+
+ @ApiModelProperty("表项类型,有Text(文本),Number(数字),Date(日期),Time(时间)")
+ private String type;
+ }
+
+ @Data
+ @ApiModel
+ private class RedPacket{
+ @ApiModelProperty("红包总金额 单位为分")
+ private Integer totalAmount;
+
+ @ApiModelProperty("红包总个数")
+ private Integer totalCnt;
+
+ @ApiModelProperty("红包祝福语")
+ private String wish;
+
+ @ApiModelProperty("红包消息类型。1 普通红包、2 拼手气群红包、3 激励群红包")
+ private Integer type;
+ }
+
+ @Data
+ @ApiModel
+ private class Meeting{
+ @ApiModelProperty("会议主题")
+ private String topic;
+
+ @ApiModelProperty("红包总个数")
+ private Long startTime;
+
+ @ApiModelProperty("会议结束时间")
+ private Long endTime;
+
+ @ApiModelProperty("会议地址")
+ private String address;
+
+ @ApiModelProperty("会议备注")
+ private String remarks;
+
+ @ApiModelProperty("会议消息类型。101发起会议邀请消息、102处理会议邀请消息")
+ private String meetingType;
+
+ @ApiModelProperty("会议id。方便将发起、处理消息进行对照")
+ private Long meetingId;
+
+ @ApiModelProperty("会议邀请处理状态。1 参加会议、2 拒绝会议、3 待定、4 未被邀请、5 会议已取消、6 会议已过期、7 不在房间内。" +
+ "只有meetingtype为102的时候此字段才有内容。")
+ private Integer status;
+ }
+}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/factory/impl/customer/WeCallBackAddExternalContactImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/factory/impl/customer/WeCallBackAddExternalContactImpl.java
index 448e3da111835318fae78a91f5841ec6bc81375e..d3637698e745b40053e577c09b81fff292a47f52 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/factory/impl/customer/WeCallBackAddExternalContactImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/factory/impl/customer/WeCallBackAddExternalContactImpl.java
@@ -47,20 +47,10 @@ public class WeCallBackAddExternalContactImpl extends WeEventStrategy {
private IWeTaskFissionRewardService weTaskFissionRewardService;
@Autowired
private IWeTaskFissionService weTaskFissionService;
- @Autowired
- private IWeCommunityNewGroupService weCommunityNewGroupService;
- @Autowired
- private IWeGroupCodeService weGroupCodeService;
-
- private ThreadLocal weFlowerCustomerRelThreadLocal = new ThreadLocal<>();
@Override
public void eventHandle(WxCpXmlMessageVO message) {
if (message.getExternalUserId() != null) {
- WeFlowerCustomerRel weFlowerCustomerRel = weFlowerCustomerRelService.getOne(new LambdaQueryWrapper()
- .eq(WeFlowerCustomerRel::getExternalUserid, message.getExternalUserId())
- .eq(WeFlowerCustomerRel::getUserId,message.getUserId()));
- weFlowerCustomerRelThreadLocal.set(weFlowerCustomerRel);
weCustomerService.getCustomersInfoAndSynchWeCustomer(message.getExternalUserId());
}
if (message.getState() != null && message.getWelcomeCode() != null) {
@@ -74,7 +64,6 @@ public class WeCallBackAddExternalContactImpl extends WeEventStrategy {
//裂变任务处理
private void taskFissionRecordHandle(String state, String wecomCode, String userId, String externalUserId) {
- log.info("裂变任务处理 >>>>>>>>>>start");
//查询裂变客户任务记录
String fissionRecordId = state.substring(WeConstans.FISSION_PREFIX.length());
WeTaskFissionRecord weTaskFissionRecord = weTaskFissionRecordService.selectWeTaskFissionRecordById(Long.valueOf(fissionRecordId));
@@ -82,23 +71,20 @@ public class WeCallBackAddExternalContactImpl extends WeEventStrategy {
//查询裂变任务详情
WeTaskFission weTaskFission = weTaskFissionService
.selectWeTaskFissionById(weTaskFissionRecord.getTaskFissionId());
- Long fissNum = weTaskFissionRecord.getFissNum();
- if (weFlowerCustomerRelThreadLocal.get() == null){
- fissNum++;
- weTaskFissionRecord.setFissNum(fissNum);
- }
- log.info("查询裂变任务详情 >>>>>>>>>>{}",JSONObject.toJSONString(weTaskFissionRecord));
+
+ Long fissNum = weTaskFissionRecord.getFissNum() + 1;
+ weTaskFissionRecord.setFissNum(fissNum);
+
if (weTaskFission != null){
//发送欢迎语
- WeWelcomeMsg.WeWelcomeMsgBuilder weWelcomeMsgBuilder = WeWelcomeMsg.builder().welcome_code(wecomCode);
- weWelcomeMsgBuilder.text(WeWelcomeMsg.Text.builder()
- .content(weTaskFission.getWelcomeMsg()).build());
+ String welcomeMsg = weTaskFission.getWelcomeMsg();
+ WeWelcomeMsg.WeWelcomeMsgBuilder weWelcomeMsgBuilder = JSONObject.parseObject(welcomeMsg, WeWelcomeMsg.WeWelcomeMsgBuilder.class);
+ weWelcomeMsgBuilder.welcome_code(wecomCode);
weCustomerService.sendWelcomeMsg(weWelcomeMsgBuilder.build());
}
//裂变数量完成任务处理,消费兑换码
if (fissNum >= weTaskFission.getFissNum()){
- log.info("裂变数量完成任务处理,消费兑换码 >>>>>>>>>>{}",fissNum);
weTaskFissionRecord.setCompleteTime(new Date());
WeTaskFissionReward reward = new WeTaskFissionReward();
reward.setTaskFissionId(weTaskFissionRecord.getTaskFissionId());
@@ -109,9 +95,8 @@ public class WeCallBackAddExternalContactImpl extends WeEventStrategy {
fissionReward.setRewardUserId(weTaskFissionRecord.getCustomerId());
weTaskFissionRewardService.updateWeTaskFissionReward(fissionReward);
}
- log.info("裂变任务处理变更 >>>>>>>>>>{}",JSONObject.toJSONString(weTaskFissionRecord));
+
weTaskFissionRecordService.updateWeTaskFissionRecord(weTaskFissionRecord);
- log.info("裂变任务处理 >>>>>>>>>>end");
}
}
@@ -125,19 +110,12 @@ public class WeCallBackAddExternalContactImpl extends WeEventStrategy {
*/
private void empleCodeHandle(String state, String wecomCode, String userId, String externalUserId) {
try {
- log.debug("递增扫码次数>>>>>>>>>>>>>>>");
- // 增加扫码次数
- weEmpleCodeService.updateScanTimesByState(state);
log.info("执行发送欢迎语>>>>>>>>>>>>>>>");
WeWelcomeMsg.WeWelcomeMsgBuilder weWelcomeMsgBuilder = WeWelcomeMsg.builder().welcome_code(wecomCode);
- // 获取员工活码相关信息
WeEmpleCodeDto messageMap = weEmpleCodeService.selectWelcomeMsgByState(state);
if (messageMap != null) {
String empleCodeId = messageMap.getEmpleCodeId();
-
- // 查询对应员工活码
-
- // 查询活码对应标签
+ //查询活码对应标签
List tagList = weEmpleCodeTagService.list(new LambdaQueryWrapper()
.eq(WeEmpleCodeTag::getEmpleCodeId, empleCodeId));
//查询外部联系人与通讯录关系数据
@@ -159,26 +137,18 @@ public class WeCallBackAddExternalContactImpl extends WeEventStrategy {
weFlowerCustomerTagRelService.saveOrUpdateBatch(weFlowerCustomerTagRels);
});
log.debug(">>>>>>>>>欢迎语查询结果:{}", JSONObject.toJSONString(messageMap));
- // 发送欢迎语
if (messageMap != null) {
-
if (StringUtils.isNotEmpty(messageMap.getWelcomeMsg())) {
weWelcomeMsgBuilder.text(WeWelcomeMsg.Text.builder()
.content(messageMap.getWelcomeMsg()).build());
}
-
- // 构造WeMediaDto。要么是普通情况创建的员工活码,使用创建时指定的素材,要么是新客拉群信创建的员工活码,使用对应群活码图片作为素材
if (StringUtils.isNotEmpty(messageMap.getCategoryId())) {
- WeMediaDto weMediaDto = weMaterialService.uploadTemporaryMaterial(messageMap.getMaterialUrl(), MediaType.IMAGE.getMediaType(),messageMap.getMaterialName());
- bindAttachments(weWelcomeMsgBuilder, weMediaDto);
- }
-
- WeCommunityNewGroup communityNewGroup = weCommunityNewGroupService.getOne(new LambdaQueryWrapper()
- .eq(WeCommunityNewGroup::getEmplCodeId, Long.valueOf(empleCodeId)));
- if (StringUtils.isNotNull(communityNewGroup)) {
- WeGroupCode weGroupCode = weGroupCodeService.selectWeGroupCodeById(communityNewGroup.getGroupCodeId());
- WeMediaDto weMediaDto = weMaterialService.uploadTemporaryMaterial(weGroupCode.getCodeUrl(), MediaType.IMAGE.getMediaType(), weGroupCode.getActivityName());
- bindAttachments(weWelcomeMsgBuilder, weMediaDto);
+ WeMediaDto weMediaDto = weMaterialService
+ .uploadTemporaryMaterial(messageMap.getMaterialUrl(), MediaType.IMAGE.getMediaType(),messageMap.getMaterialName());
+ Optional.ofNullable(weMediaDto).ifPresent(media -> {
+ weWelcomeMsgBuilder.image(WeWelcomeMsg.Image.builder().media_id(media.getMedia_id())
+ .pic_url(media.getUrl()).build());
+ });
}
weCustomerService.sendWelcomeMsg(weWelcomeMsgBuilder.build());
}
@@ -189,18 +159,6 @@ public class WeCallBackAddExternalContactImpl extends WeEventStrategy {
}
}
- private void bindAttachments(WeWelcomeMsg.WeWelcomeMsgBuilder weWelcomeMsgBuilder, WeMediaDto weMediaDto) {
- Optional.ofNullable(weMediaDto).ifPresent(media -> {
- List attachments = new ArrayList();
- JSONObject json = new JSONObject();
- json.put("msgtype",weMediaDto.getType());
- json.put(weMediaDto.getType(),WeWelcomeMsg.Image.builder().media_id(media.getMedia_id())
- .pic_url(media.getUrl()).build());
- attachments.add(json);
- weWelcomeMsgBuilder.attachments(attachments);
- });
- }
-
private boolean isFission(String str) {
if (str.indexOf(WeConstans.FISSION_PREFIX) != -1){
return true;
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/interceptor/WeAccessTokenInterceptor.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/interceptor/WeAccessTokenInterceptor.java
index 5ef93eaaef3fba0956b60d517e6494f921981696..81e0454674c68f1d70f16578de9a39f3477e793b 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/interceptor/WeAccessTokenInterceptor.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/interceptor/WeAccessTokenInterceptor.java
@@ -1,5 +1,6 @@
package com.linkwechat.wecom.interceptor;
+import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.dtflys.forest.exceptions.ForestRuntimeException;
import com.dtflys.forest.http.ForestRequest;
@@ -8,7 +9,6 @@ import com.dtflys.forest.interceptor.Interceptor;
import com.dtflys.forest.utils.ForestDataType;
import com.linkwechat.common.config.WeComeConfig;
import com.linkwechat.common.constant.WeConstans;
-import com.linkwechat.common.utils.SecurityUtils;
import com.linkwechat.wecom.domain.dto.WeResultDto;
import com.linkwechat.wecom.service.IWeAccessTokenService;
import lombok.extern.slf4j.Slf4j;
@@ -59,7 +59,14 @@ public class WeAccessTokenInterceptor implements Interceptor{
}else if(Arrays.asList(weComeConfig.getNeedChatTokenUrl()).contains(uri)){ //需要会话存档token
token=iWeAccessTokenService.findChatAccessToken();
}else if(Arrays.asList(weComeConfig.getThirdAppUrl()).contains(uri)){ //第三方自建应用token
- token=iWeAccessTokenService.findThirdAppAccessToken(request.getHeaderValue(WeConstans.THIRD_APP_PARAM_TIP));
+
+
+ token=iWeAccessTokenService.findThirdAppAccessToken(
+
+ StrUtil.isEmpty(request.getHeaderValue(WeConstans.THIRD_APP_PARAM_TIP))?(String) request.getQuery(WeConstans.THIRD_APP_PARAM_TIP):request.getHeaderValue(WeConstans.THIRD_APP_PARAM_TIP)
+
+ );
+
} else{
token=iWeAccessTokenService.findCommonAccessToken();
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/interceptor/WeiXinAuthInterceptor.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/interceptor/WeiXinAuthInterceptor.java
index b1e79bfebd019cd54463c2211eb54f2e33a60726..d373f71d1544c3dcd71f471ae87c736ef7d92015 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/interceptor/WeiXinAuthInterceptor.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/interceptor/WeiXinAuthInterceptor.java
@@ -56,20 +56,21 @@ public class WeiXinAuthInterceptor implements Interceptor {
private String findAccessToken(String openId){
//获取用户token
- WxTokenDto wxTokenDto = redisCache.getCacheObject(WeConstans.WX_AUTH_ACCESS_TOKEN + ":" + openId);
- if (wxTokenDto == null){
+ String accessToken =redisCache.getCacheObject(WeConstans.WX_AUTH_ACCESS_TOKEN+":"+ openId);
+ if (StringUtils.isEmpty(accessToken)){
//当用户token失效,则获取refreshToken
String refreshToken = redisCache.getCacheObject(WeConstans.WX_AUTH_REFRESH_ACCESS_TOKEN + ":" + openId);
if(StringUtils.isEmpty(refreshToken)){
throw new WeComException(1001,"token失效,请重新授权");
}else {
- wxTokenDto = wxAuthClient.refreshToken(appId, grantType, refreshToken);
+ WxTokenDto wxTokenDto = wxAuthClient.refreshToken(appId, secret, grantType, refreshToken);
if(wxTokenDto != null && StringUtils.isNotEmpty(wxTokenDto.getAccessToken())){
- redisCache.setCacheObject(WeConstans.WX_AUTH_ACCESS_TOKEN+":"+ openId, wxTokenDto, wxTokenDto.getExpiresIn(), TimeUnit.SECONDS);
+ redisCache.setCacheObject(WeConstans.WX_AUTH_ACCESS_TOKEN+":"+ openId, wxTokenDto.getAccessToken(), wxTokenDto.getExpiresIn(), TimeUnit.SECONDS);
+ accessToken = wxTokenDto.getAccessToken();
}
}
}
- return wxTokenDto.getAccessToken();
+ return accessToken;
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCommunityNewGroupMapper.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCommunityNewGroupMapper.java
index 0918ebb00508d7e202c476ac5e04de380d15a841..eae90f05eb6fe922de106d2859d8a945740e80c8 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCommunityNewGroupMapper.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCommunityNewGroupMapper.java
@@ -54,4 +54,18 @@ public interface WeCommunityNewGroupMapper extends BaseMapper selectWeCommunityNewGroupByIds(@Param("ids") List ids);
+ /**
+ * 通过员工活码id逻辑删除对应新客拉群信息
+ * @param emplCodeId 员工活码id
+ * @return 结果
+ */
+ int removeWeCommunityNewGroupByEmplCodeId(@Param("emplCodeId") Long emplCodeId);
+
+ /**
+ * 通过群活码id逻辑删除对应新客拉群信息
+ * @param groupCodeId 群活码id
+ * @return 结果
+ */
+ int removeWeCommunityNewGroupByGroupCodeId(@Param("groupCodeId") Long groupCodeId);
+
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCorpAccountMapper.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCorpAccountMapper.java
index 4230b18629da96dc77727651c9da3910111824c8..bdfd8087f7cf0def78a4af6aef3d555b7ca1449c 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCorpAccountMapper.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCorpAccountMapper.java
@@ -1,8 +1,6 @@
package com.linkwechat.wecom.mapper;
import java.util.List;
-
-import com.baomidou.mybatisplus.annotation.SqlParser;
import com.linkwechat.common.core.domain.entity.WeCorpAccount;
import org.apache.ibatis.annotations.Param;
@@ -20,7 +18,6 @@ public interface WeCorpAccountMapper
* @param id 企业id相关配置ID
* @return 企业id相关配置
*/
- @SqlParser(filter = true)
public WeCorpAccount selectWeCorpAccountById(Long id);
/**
@@ -29,7 +26,6 @@ public interface WeCorpAccountMapper
* @param wxCorpAccount 企业id相关配置
* @return 企业id相关配置集合
*/
- @SqlParser(filter = true)
public List selectWeCorpAccountList(WeCorpAccount wxCorpAccount);
/**
@@ -38,7 +34,6 @@ public interface WeCorpAccountMapper
* @param wxCorpAccount 企业id相关配置
* @return 结果
*/
- @SqlParser(filter = true)
public int insertWeCorpAccount(WeCorpAccount wxCorpAccount);
/**
@@ -47,7 +42,6 @@ public interface WeCorpAccountMapper
* @param wxCorpAccount 企业id相关配置
* @return 结果
*/
- @SqlParser(filter = true)
public int updateWeCorpAccount(WeCorpAccount wxCorpAccount);
@@ -56,7 +50,6 @@ public interface WeCorpAccountMapper
* 获取有效cropid
* @return
*/
- @SqlParser(filter = true)
public WeCorpAccount findValidWeCorpAccount();
@@ -65,7 +58,6 @@ public interface WeCorpAccountMapper
* @param corpId
* @return
*/
- @SqlParser(filter = true)
public int startVailWeCorpAccount(@Param("corpId") String corpId);
@@ -74,6 +66,5 @@ public interface WeCorpAccountMapper
* @param corpAccount
* @return
*/
- @SqlParser(filter = true)
WeCorpAccount findWeCorpByAccount(@Param("corpAccount") String corpAccount);
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeGroupCodeActualMapper.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeGroupCodeActualMapper.java
index 6dd9a16b8a40751de3bea91416ea80ff066e2cc3..7deb951659cc0b4468e58a4ea22938371790319d 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeGroupCodeActualMapper.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeGroupCodeActualMapper.java
@@ -5,6 +5,7 @@ import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.linkwechat.wecom.domain.WeGroup;
import com.linkwechat.wecom.domain.WeGroupCodeActual;
+import org.springframework.stereotype.Repository;
/**
* 实际群码Mapper接口
@@ -12,6 +13,7 @@ import com.linkwechat.wecom.domain.WeGroupCodeActual;
* @author ruoyi
* @date 2020-10-07
*/
+@Repository
public interface WeGroupCodeActualMapper extends BaseMapper {
/**
* 查询实际群码
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeGroupStatisticMapper.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeGroupStatisticMapper.java
index 145b166de83081bb4f6be57f59f1657109f2cfe0..d318a29d4e4c7c31b0089db2fca25e023f2b3631 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeGroupStatisticMapper.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeGroupStatisticMapper.java
@@ -2,6 +2,11 @@ package com.linkwechat.wecom.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.linkwechat.wecom.domain.WeGroupStatistic;
+import com.linkwechat.wecom.domain.dto.WePageCountDto;
+import com.linkwechat.wecom.domain.query.WePageStateQuery;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* 群聊数据统计数据
@@ -11,5 +16,29 @@ Mapper接口
* @date 2021-02-24
*/
public interface WeGroupStatisticMapper extends BaseMapper {
+ /**
+ * 按日期查询当天数据统计结果
+ * @param dateTime
+ * @return WeUserBehaviorDataDto
+ */
+ public WePageCountDto getCountDataByDay(@Param("dateTime") String dateTime, @Param("type") String type);
+ /**
+ * 按天维度查询数据统计
+ * @param wePageStateQuery 入参
+ * @return List
+ */
+ public List getDayCountData(WePageStateQuery wePageStateQuery);
+ /**
+ * 按周维度查询数据统计
+ * @param wePageStateQuery 入参
+ * @return List
+ */
+ public List getWeekCountData(WePageStateQuery wePageStateQuery);
+ /**
+ * 按月维度查询数据统计
+ * @param wePageStateQuery 入参
+ * @return List
+ */
+ public List getMonthCountData(WePageStateQuery wePageStateQuery);
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeTaskFissionMapper.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeTaskFissionMapper.java
index 96face221d1b082367e045013f381dc940327934..5727810cd1af129cc007b161b60da843cf2a0b0d 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeTaskFissionMapper.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeTaskFissionMapper.java
@@ -58,10 +58,4 @@ public interface WeTaskFissionMapper {
* @return 结果
*/
public int deleteWeTaskFissionByIds(Long[] ids);
-
- /**
- * 更新过期任务
- * @return
- */
- public void updateExpiredWeTaskFission();
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeAccessTokenService.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeAccessTokenService.java
index d3a71eff6a372b5fd0f22b7a5e65c1c579bb4dfe..35f7eea55a8e40d3daa6333b31cd28bb2fac8627 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeAccessTokenService.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeAccessTokenService.java
@@ -1,6 +1,6 @@
package com.linkwechat.wecom.service;
-import com.linkwechat.common.core.domain.entity.WeCorpAccount;
+import com.linkwechat.wecom.domain.WeApp;
/**
* @description: 微信token相关接口
@@ -23,5 +23,7 @@ public interface IWeAccessTokenService {
public String findThirdAppAccessToken(String agentId);
- public void removeToken(WeCorpAccount wxCorpAccount);
+
+
+ public void removeToken();
}
\ No newline at end of file
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeAppService.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeAppService.java
index 3a7ac87f5f0714c23f64c86f7cccdc3120cac1da..ff1c9d6665b38de77b5876359bc6cf9361b63371 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeAppService.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeAppService.java
@@ -9,4 +9,10 @@ import com.linkwechat.wecom.domain.WeApp;
* @create: 2021-01-26 18:44
**/
public interface IWeAppService extends IService {
+
+
+ void addWeApp(WeApp weApp);
+
+
+ void updateWeApp(WeApp weApp);
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeConversationArchiveService.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeConversationArchiveService.java
index 287f423bce6b9c37de505db0baa1ead4d07aab7e..d05bd17e10334ebae989c865940cd2d88b19e397 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeConversationArchiveService.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeConversationArchiveService.java
@@ -3,6 +3,7 @@ package com.linkwechat.wecom.service;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.linkwechat.common.core.domain.ConversationArchiveQuery;
+import com.linkwechat.wecom.domain.vo.ConversationArchiveVo;
import java.util.List;
@@ -19,9 +20,9 @@ public interface IWeConversationArchiveService {
* @param /reveiceId 接收人id
* @return
*/
- PageInfo getChatContactList(ConversationArchiveQuery query);
+ PageInfo getChatContactList(ConversationArchiveQuery query);
- PageInfo getChatRoomContactList(ConversationArchiveQuery query);
+ PageInfo getChatRoomContactList(ConversationArchiveQuery query);
/**
* 查询最早聊天记录
@@ -45,6 +46,6 @@ public interface IWeConversationArchiveService {
* @param query 参
* @return
*/
- PageInfo getChatAllList(ConversationArchiveQuery query);
+ PageInfo getChatAllList(ConversationArchiveQuery query);
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeCorpAccountService.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeCorpAccountService.java
index 8d9181edfb42a55c56d26c810117c22867b14538..75374cfc744346178183e025793e741a33e9323f 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeCorpAccountService.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeCorpAccountService.java
@@ -1,8 +1,9 @@
package com.linkwechat.wecom.service;
-import java.util.List;
import com.linkwechat.common.core.domain.entity.WeCorpAccount;
+import java.util.List;
+
/**
* 企业id相关配置Service接口
*
@@ -71,5 +72,6 @@ public interface IWeCorpAccountService
*/
public String getCustomerChurnNoticeSwitch();
+
WeCorpAccount findWeCorpByAccount(String corpAccount);
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeGroupStatisticService.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeGroupStatisticService.java
index 8c2b56c3fc561a7787ca774c711ce7396828e9d6..13f80f8deeedb27bdad0d373ba46982ef538fad3 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeGroupStatisticService.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeGroupStatisticService.java
@@ -2,6 +2,8 @@ package com.linkwechat.wecom.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.linkwechat.wecom.domain.WeGroupStatistic;
+import com.linkwechat.wecom.domain.dto.WePageCountDto;
+import com.linkwechat.wecom.domain.query.WePageStateQuery;
import java.util.List;
@@ -18,4 +20,31 @@ public interface IWeGroupStatisticService extends IService {
* 查询列表
*/
List queryList(WeGroupStatistic weGroupStatistic);
+
+ /**
+ * 按日期查询当天数据统计结果
+ * @param dateTime
+ * @return WeUserBehaviorDataDto
+ */
+ WePageCountDto getCountDataByDay(String dateTime, String type);
+
+ /**
+ * 按天维度查询数据统计
+ * @param wePageStateQuery 入参
+ * @return List
+ */
+ List getDayCountData(WePageStateQuery wePageStateQuery);
+ /**
+ * 按周维度查询数据统计
+ * @param wePageStateQuery 入参
+ * @return List
+ */
+ List getWeekCountData(WePageStateQuery wePageStateQuery);
+
+ /**
+ * 按月维度查询数据统计
+ * @param wePageStateQuery 入参
+ * @return List
+ */
+ List getMonthCountData(WePageStateQuery wePageStateQuery);
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeMaterialService.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeMaterialService.java
index c86e57fd4d7d0bcfb92892b3fca639eedb6aec73..04f244e0fa58715f406b3fd463b52ab26e4f30f2 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeMaterialService.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeMaterialService.java
@@ -84,14 +84,6 @@ public interface IWeMaterialService {
*/
void resetCategory(String categoryId, String materials);
- /**
- * 上传企微临时素材
- * @param url 素材路径
- * @param type 素材类型
- * @return
- */
- public WeMediaDto uploadTemporaryMaterial(String url, String type);
-
/**
* 上传企微临时素材
@@ -102,4 +94,10 @@ public interface IWeMaterialService {
*/
public WeMediaDto uploadTemporaryMaterial(String url, String type,String name);
+ /**
+ * 上传素材图片
+ * @param file
+ * @return
+ */
+ WeMediaDto uploadImg(MultipartFile file);
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeTaskFissionService.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeTaskFissionService.java
index eae9683625d444ae1dcdc0053e2c947bfa713990..b284693178335208de3de95d08c6e4220c110207 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeTaskFissionService.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeTaskFissionService.java
@@ -94,10 +94,4 @@ public interface IWeTaskFissionService {
WeTaskFissionStatisticVO taskFissionStatistic(Long taskFissionId, Date startTime, Date endTime);
WeTaskFissionProgressVO getCustomerTaskProgress(WeTaskFission taskFission, String eid);
-
- /**
- * 更新过期任务
- * @return
- */
- public void updateExpiredWeTaskFission();
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeAccessTokenServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeAccessTokenServiceImpl.java
index ac1c3ce84ccc1f37537ad34f0ac8065f2bb47cc9..e5bac843d8123b6ab0cc6cc1ecdfa6c7ca6d0190 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeAccessTokenServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeAccessTokenServiceImpl.java
@@ -3,11 +3,8 @@ package com.linkwechat.wecom.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.linkwechat.common.constant.Constants;
import com.linkwechat.common.constant.WeConstans;
-import com.linkwechat.common.core.domain.entity.SysUser;
-import com.linkwechat.common.core.domain.model.LoginUser;
import com.linkwechat.common.core.redis.RedisCache;
import com.linkwechat.common.exception.wecom.WeComException;
-import com.linkwechat.common.utils.SecurityUtils;
import com.linkwechat.common.utils.StringUtils;
import com.linkwechat.wecom.client.WeAccessTokenClient;
import com.linkwechat.wecom.domain.WeApp;
@@ -109,6 +106,15 @@ public class WeAccessTokenServiceImpl implements IWeAccessTokenService {
.eq(WeApp::getAgentId, agentId)
.eq(WeApp::getDelFlag, Constants.NORMAL_CODE)
.eq(WeApp::getStatus, Constants.NORMAL_CODE));
+
+ return findThirdAppAccessToken(weApp);
+
+ }
+
+
+ private String findThirdAppAccessToken(WeApp weApp){
+
+
if(weApp == null){
throw new WeComException("当前agentId不可用或不存在");
}
@@ -121,14 +127,15 @@ public class WeAccessTokenServiceImpl implements IWeAccessTokenService {
WeAccessTokenDtoDto weAccessTokenDtoDto
= accessTokenClient.getToken(wxCorpAccount.getCorpId(),weApp.getAgentSecret());
- token=weAccessTokenDtoDto.getAccess_token();
- if(StringUtils.isNotEmpty(token)){
- redisCache.setCacheObject(WeConstans.WE_THIRD_APP_TOKEN+"::"+agentId,token,weAccessTokenDtoDto.getExpires_in().intValue(), TimeUnit.SECONDS);
+ if(StringUtils.isNotEmpty(weAccessTokenDtoDto.getAccess_token())){
+
+ redisCache.setCacheObject(WeConstans.WE_THIRD_APP_TOKEN+"::"+weApp.getAgentId(),weAccessTokenDtoDto.getAccess_token(),weAccessTokenDtoDto.getExpires_in().intValue(), TimeUnit.SECONDS);
}
- return token;
+ return weAccessTokenDtoDto.getAccess_token();
+
}
@@ -136,25 +143,16 @@ public class WeAccessTokenServiceImpl implements IWeAccessTokenService {
private String findAccessToken(String accessTokenKey){
-
-
- WeCorpAccount wxCorpAccount
- = SecurityUtils.getLoginUser().getUser().getWeCorpAccount();
-
- if(null == wxCorpAccount){
- //返回错误异常,让用户绑定企业id相关信息
- throw new WeComException("无可用的corpid和secret");
- }
-
-
- String weAccessToken =redisCache.getCacheObject(accessTokenKey+"::"+wxCorpAccount.getCorpId());
-
-
+ String weAccessToken =redisCache.getCacheObject(accessTokenKey);
//为空,请求微信服务器同时缓存到redis中
if(StringUtils.isEmpty(weAccessToken)){
-
-
+ WeCorpAccount wxCorpAccount
+ = iWxCorpAccountService.findValidWeCorpAccount();
+ if(null == wxCorpAccount){
+ //返回错误异常,让用户绑定企业id相关信息
+ throw new WeComException("无可用的corpid和secret");
+ }
String token="";
Long expires_in=null;
if(WeConstans.WE_COMMON_ACCESS_TOKEN.equals(accessTokenKey) || WeConstans.WE_CONTACT_ACCESS_TOKEN.equals(accessTokenKey)){
@@ -178,7 +176,7 @@ public class WeAccessTokenServiceImpl implements IWeAccessTokenService {
}
if(StringUtils.isNotEmpty(token)){
- redisCache.setCacheObject(accessTokenKey+"::"+wxCorpAccount.getCorpId(),token,expires_in.intValue(), TimeUnit.SECONDS);
+ redisCache.setCacheObject(accessTokenKey,token,expires_in.intValue(), TimeUnit.SECONDS);
weAccessToken = token;
}
@@ -192,10 +190,10 @@ public class WeAccessTokenServiceImpl implements IWeAccessTokenService {
* 清空redis中的相关token
*/
@Override
- public void removeToken(WeCorpAccount wxCorpAccount) {
- redisCache.deleteObject(WeConstans.WE_COMMON_ACCESS_TOKEN+"::"+wxCorpAccount.getAgentId());
- redisCache.deleteObject(WeConstans.WE_CONTACT_ACCESS_TOKEN+"::"+wxCorpAccount.getAgentId());
- redisCache.deleteObject(WeConstans.WE_PROVIDER_ACCESS_TOKEN+"::"+wxCorpAccount.getAgentId());
+ public void removeToken() {
+ redisCache.deleteObject(WeConstans.WE_COMMON_ACCESS_TOKEN);
+ redisCache.deleteObject(WeConstans.WE_CONTACT_ACCESS_TOKEN);
+ redisCache.deleteObject(WeConstans.WE_PROVIDER_ACCESS_TOKEN);
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeAppServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeAppServiceImpl.java
index b6dbef78aa7cc6151c0a8ef942287d1d4258204a..23e537fb7d3d560317f4dc861dae803e6bd51ff4 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeAppServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeAppServiceImpl.java
@@ -1,10 +1,28 @@
package com.linkwechat.wecom.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.linkwechat.common.constant.Constants;
+import com.linkwechat.common.exception.wecom.WeComException;
+import com.linkwechat.wecom.client.WeAppClient;
import com.linkwechat.wecom.domain.WeApp;
+import com.linkwechat.wecom.domain.WeDepartment;
+import com.linkwechat.wecom.domain.dto.WeAppDetailDto;
+import com.linkwechat.wecom.domain.dto.WeAppDto;
import com.linkwechat.wecom.mapper.WeAppMapper;
+import com.linkwechat.wecom.service.IWeAccessTokenService;
import com.linkwechat.wecom.service.IWeAppService;
+import com.linkwechat.wecom.service.IWeDepartmentService;
+import com.linkwechat.wecom.service.IWeUserService;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
/**
* @description:
@@ -13,4 +31,76 @@ import org.springframework.stereotype.Service;
**/
@Service
public class WeAppServiceImpl extends ServiceImpl implements IWeAppService {
+
+ @Autowired
+ WeAppClient weAppClient;
+
+
+ @Autowired
+ IWeDepartmentService iWeDepartmentService;
+
+
+ @Autowired
+ IWeUserService iWeUserService;
+
+
+ @Autowired
+ IWeAccessTokenService iWeAccessTokenService;
+
+
+ /**
+ * 保存应用
+ * @param weApp
+ */
+ @Override
+ @Transactional
+ public void addWeApp(WeApp weApp) {
+
+
+ if(null !=this.getOne(new LambdaQueryWrapper()
+ .eq(WeApp::getAgentId, weApp.getAgentId())
+ .eq(WeApp::getDelFlag, Constants.SUCCESS))){
+ throw new WeComException("AgentId已经存在");
+ }
+
+
+ weApp.setCreateTime(new Date());
+ if(this.save(weApp)){
+ WeAppDetailDto weAppDetailDto
+ = weAppClient.findAgentById(weApp.getAgentId());
+ if(null != weAppDetailDto){
+
+ weApp.setAgentName(weAppDetailDto.getName());
+ weApp.setCreateTime(new Date());
+ weApp.setSquareLogoUrl(weAppDetailDto.getSquare_logo_url());
+ weApp.setDescription(weAppDetailDto.getDescription());
+ weApp.setAllowPartys(StringUtils.join(weAppDetailDto.getAllow_partys().getPartyid(),","));
+ weApp.setAllowUserinfos(StringUtils.join(weAppDetailDto.getAllow_userinfos().getUser(),","));
+ System.out.println("============================================");
+ this.updateById(weApp);
+ }
+ }
+
+
+
+ }
+
+
+
+ @Override
+ @Transactional
+ public void updateWeApp(WeApp weApp) {
+ if(this.updateById(weApp)){
+ weAppClient.updateAgentById(
+ WeAppDetailDto.builder()
+ .agentid(weApp.getAgentId())
+ .logo_mediaid(weApp.getLogoMediaid())
+ .description(weApp.getDescription())
+ .name(weApp.getAgentName())
+ .build(),weApp.getAgentId()
+ );
+ }
+
+
+ }
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeConversationArchiveServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeConversationArchiveServiceImpl.java
index b994dd68b14f8679c31422b7b763f43166fa499e..5a0dc49d1ef6a7df40690792819d89bf09e9218f 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeConversationArchiveServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeConversationArchiveServiceImpl.java
@@ -10,6 +10,7 @@ import com.linkwechat.common.core.page.PageDomain;
import com.linkwechat.common.core.page.TableSupport;
import com.linkwechat.common.utils.DateUtils;
import com.linkwechat.common.utils.StringUtils;
+import com.linkwechat.wecom.domain.vo.ConversationArchiveVo;
import com.linkwechat.wecom.service.IWeConversationArchiveService;
import lombok.extern.slf4j.Slf4j;
import org.elasticsearch.index.query.BoolQueryBuilder;
@@ -45,7 +46,7 @@ public class WeConversationArchiveServiceImpl implements IWeConversationArchiveS
* @return
*/
@Override
- public PageInfo getChatContactList(ConversationArchiveQuery query) {
+ public PageInfo getChatContactList(ConversationArchiveQuery query) {
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum() == null ? 1 : pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize() == null ? 10 : pageDomain.getPageSize();
@@ -77,11 +78,11 @@ public class WeConversationArchiveServiceImpl implements IWeConversationArchiveS
boolQueryBuilder.filter(QueryBuilders.rangeQuery("msgtime").gte(beginTime).lte(endTime));
}
builder.query(boolQueryBuilder);
- return elasticSearch.searchPage(chartKey, builder, pageNum, pageSize, JSONObject.class);
+ return elasticSearch.searchPage(chartKey, builder, pageNum, pageSize, ConversationArchiveVo.class);
}
@Override
- public PageInfo getChatRoomContactList(ConversationArchiveQuery query) {
+ public PageInfo getChatRoomContactList(ConversationArchiveQuery query) {
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum() == null ? 1 : pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize() == null ? 10 : pageDomain.getPageSize();
@@ -115,7 +116,7 @@ public class WeConversationArchiveServiceImpl implements IWeConversationArchiveS
}
builder.query(boolQueryBuilder);
- return elasticSearch.searchPage(chartKey, builder, pageNum, pageSize, JSONObject.class);
+ return elasticSearch.searchPage(chartKey, builder, pageNum, pageSize, ConversationArchiveVo.class);
}
@@ -167,7 +168,7 @@ public class WeConversationArchiveServiceImpl implements IWeConversationArchiveS
}
@Override
- public PageInfo getChatAllList(ConversationArchiveQuery query) {
+ public PageInfo getChatAllList(ConversationArchiveQuery query) {
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum() == null ? 1 : pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize() == null ? 10 : pageDomain.getPageSize();
@@ -208,7 +209,7 @@ public class WeConversationArchiveServiceImpl implements IWeConversationArchiveS
boolQueryBuilder.filter(QueryBuilders.rangeQuery("msgtime").gte(beginTime).lte(endTime));
}
builder.query(boolQueryBuilder);
- PageInfo pageInfo = elasticSearch.searchPage(chartKey, builder, pageNum, pageSize, JSONObject.class);
+ PageInfo pageInfo = elasticSearch.searchPage(chartKey, builder, pageNum, pageSize, ConversationArchiveVo.class);
return pageInfo;
}
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCorpAccountServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCorpAccountServiceImpl.java
index 400acc6673be0d46811011fc4a9ceb446486dec9..7a2135e5a3cab3dfd04d1cc5572730df1fac8c4c 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCorpAccountServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCorpAccountServiceImpl.java
@@ -1,28 +1,16 @@
package com.linkwechat.wecom.service.impl;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.ArrayUtil;
-import com.linkwechat.common.config.RuoYiConfig;
+import java.util.List;
+import java.util.Optional;
+
import com.linkwechat.common.constant.Constants;
import com.linkwechat.common.constant.WeConstans;
-import com.linkwechat.common.core.domain.entity.SysRole;
-import com.linkwechat.common.core.domain.entity.SysUser;
-import com.linkwechat.common.core.domain.entity.WeCorpAccount;
-import com.linkwechat.common.utils.SecurityUtils;
-import com.linkwechat.system.mapper.SysRoleMapper;
-import com.linkwechat.system.service.ISysUserService;
-import com.linkwechat.wecom.mapper.WeCorpAccountMapper;
import com.linkwechat.wecom.service.IWeAccessTokenService;
import com.linkwechat.wecom.service.IWeCorpAccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-//import com.linkwechat.system.mapper.SysRoleMapper;
-//import com.linkwechat.system.service.ISysUserService;
+import com.linkwechat.wecom.mapper.WeCorpAccountMapper;
+import com.linkwechat.common.core.domain.entity.WeCorpAccount;
/**
* 企业id相关配置Service业务层处理
@@ -33,27 +21,12 @@ import java.util.stream.Collectors;
@Service
public class WeCorpAccountServiceImpl implements IWeCorpAccountService {
-
-
- @Autowired
- private IWeAccessTokenService iWeAccessTokenService;
-
-
-
-
@Autowired
- private ISysUserService iSysUserService;
-
- @Autowired
- private RuoYiConfig ruoYiConfig;
-
-
- @Autowired
- private SysRoleMapper roleMapper;
+ private WeCorpAccountMapper weCorpAccountMapper;
@Autowired
- private WeCorpAccountMapper weCorpAccountMapper;
+ private IWeAccessTokenService iWeAccessTokenService;
/**
* 查询企业id相关配置
@@ -88,23 +61,8 @@ public class WeCorpAccountServiceImpl implements IWeCorpAccountService {
@Override
public int insertWeCorpAccount(WeCorpAccount wxCorpAccount)
{
- int returnCode = weCorpAccountMapper.insertWeCorpAccount(wxCorpAccount);
-
- if(Constants.SERVICE_STATUS_ERROR weCorpAccounts = weCorpAccountMapper.selectWeCorpAccountList(
-// WeCorpAccount.builder()
-// .corpId(corpId)
-// .delFlag(Constants.NORMAL_CODE)
-// .build()
-// );
-// if(CollectionUtil.isNotEmpty(weCorpAccounts)){
-//
-// WeCorpAccount weCorpAccount = weCorpAccounts.get(0);
-//
-// }
-//
-// int returnCode = weCorpAccountMapper.startVailWeCorpAccount(corpId);
-//
-// if(Constants.SERVICE_RETURN_SUCCESS_CODE 0) {
- throw new WeComException("发送时间不能小于当前时间");
- }
+// if ((null != customerMessagePushDto.getSettingTime() && !"".equals(customerMessagePushDto.getSettingTime()))
+// && DateUtils.diffTime(new Date(), DateUtil.parse(customerMessagePushDto.getSettingTime(), "yyyy-MM-dd HH:mm")) > 0) {
+// throw new WeComException("发送时间不能小于当前时间");
+// }
- /*if(StrUtil.isBlank(customerMessagePushDto.getSettingTime())){
+ if(StrUtil.isBlank(customerMessagePushDto.getSettingTime())){
throw new WeComException("发送时间不能为空");
- }*/
+ }
List customers = Lists.newArrayList();
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerMessageServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerMessageServiceImpl.java
index 81aa74771cd82598777c0e58fcb37fd314cffe70..95cfc9491a2dcb5fd5e365672b54407bd2e60e68 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerMessageServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerMessageServiceImpl.java
@@ -1,5 +1,6 @@
package com.linkwechat.wecom.service.impl;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -139,46 +140,46 @@ public class WeCustomerMessageServiceImpl extends ServiceImplitem.getId().equals(WeConstans.WE_ROOT_DEPARMENT_ID)).findFirst().get()
-// )
-// );
-//
-// }
-// }
+ WeDepartment weDepartment=this.baseMapper.selectWeDepartmentById(WeConstans.WE_ROOT_DEPARMENT_ID);
+ if(null == weDepartment){
+ WeDepartMentDto weDepartMentDto=weDepartMentClient.weDepartMents(WeConstans.WE_ROOT_DEPARMENT_ID);
+ if(WeConstans.WE_SUCCESS_CODE.equals(weDepartMentDto.getErrcode())
+ && CollectionUtils.isNotEmpty(weDepartMentDto.getDepartment())){
+ this.baseMapper.insertWeDepartment(
+ WeDepartment.transformWeDepartment(
+ weDepartMentDto.getDepartment().stream().filter(item->item.getId().equals(WeConstans.WE_ROOT_DEPARMENT_ID)).findFirst().get()
+ )
+ );
+
+ }
+ }
return this.baseMapper.selectWeDepartmentList();
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeEmpleCodeServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeEmpleCodeServiceImpl.java
index ff4601d81a1d2b279972f9019bc6bcad0a45b3d9..5cbd893bc0f4495c9f62a7b0bf212170cc999792 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeEmpleCodeServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeEmpleCodeServiceImpl.java
@@ -17,6 +17,7 @@ import com.linkwechat.wecom.domain.WeEmpleCodeUseScop;
import com.linkwechat.wecom.domain.WeMaterial;
import com.linkwechat.wecom.domain.dto.WeEmpleCodeDto;
import com.linkwechat.wecom.domain.dto.WeExternalContactDto;
+import com.linkwechat.wecom.mapper.WeCommunityNewGroupMapper;
import com.linkwechat.wecom.mapper.WeEmpleCodeMapper;
import com.linkwechat.wecom.mapper.WeEmpleCodeTagMapper;
import com.linkwechat.wecom.mapper.WeEmpleCodeUseScopMapper;
@@ -61,10 +62,7 @@ public class WeEmpleCodeServiceImpl extends ServiceImpl getDayCountData(WePageStateQuery wePageStateQuery) {
+ return this.baseMapper.getDayCountData(wePageStateQuery);
+ }
+
+ @Override
+ public List getWeekCountData(WePageStateQuery wePageStateQuery) {
+ return this.baseMapper.getWeekCountData(wePageStateQuery);
+ }
+
+ @Override
+ public List getMonthCountData(WePageStateQuery wePageStateQuery) {
+ return this.baseMapper.getMonthCountData(wePageStateQuery);
+ }
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeMaterialServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeMaterialServiceImpl.java
index 18b96b588308cad642b4fd8164020efafa59b185..dfd09f2ddcf2b1818457b3693d1e30b7145570b6 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeMaterialServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeMaterialServiceImpl.java
@@ -122,18 +122,6 @@ public class WeMaterialServiceImpl implements IWeMaterialService {
}
}
- @Override
- public WeMediaDto uploadTemporaryMaterial(String url, String type) {
- try {
- File file = new File(url);
- return weMediaClient.upload(file, type);
- } catch (Exception e) {
- e.printStackTrace();
- log.error("上传临时文件失败......url:{},type:{},ex:{},st:{}",url,type,e.getMessage(),e.getStackTrace());
- }
- return null;
- }
-
@Override
public WeMediaDto uploadTemporaryMaterial(String url, String type, String name) {
HttpURLConnection conn = null;
@@ -155,4 +143,9 @@ public class WeMaterialServiceImpl implements IWeMaterialService {
return null;
}
+ @Override
+ public WeMediaDto uploadImg(MultipartFile file) {
+ return weMediaClient.uploadimg(file);
+ }
+
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WePresTagGroupTaskServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WePresTagGroupTaskServiceImpl.java
index dbc3d09ae0f3f00748a6a9a082d1bf0ae501e89e..5cb6e996d1cedc1272bd49d5183b1264cf37497a 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WePresTagGroupTaskServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WePresTagGroupTaskServiceImpl.java
@@ -1,6 +1,7 @@
package com.linkwechat.wecom.service.impl;
import cn.hutool.core.collection.CollectionUtil;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -384,7 +385,13 @@ public class WePresTagGroupTaskServiceImpl extends ServiceImpl uList = weUserService.selectWeUserList(user);
if (CollectionUtils.isNotEmpty(uList)) {
json.put("from", uList.get(0).getName());
- json.put("content", j.getJSONObject("text").getString("content"));
+ json.put("content", j.getString("content"));
json.put("msgtime", j.getString("msgtime"));
json.put("status", j.getString("status"));
json.put("patternWords", j.getString("pattern_words"));
@@ -324,7 +324,7 @@ public class WeSensitiveServiceImpl implements IWeSensitiveService {
BoolQueryBuilder userBuilder = QueryBuilders.boolQuery();
subUsers.parallelStream().forEach(user -> userBuilder.should(QueryBuilders.termQuery("from", user)));
userBuilder.minimumShouldMatch(1);
- BoolQueryBuilder searchBuilder = QueryBuilders.boolQuery().must(QueryBuilders.matchPhraseQuery("text.content", patternWord)).must(userBuilder);
+ BoolQueryBuilder searchBuilder = QueryBuilders.boolQuery().must(QueryBuilders.matchPhraseQuery("content", patternWord)).must(userBuilder);
builder.query(searchBuilder);
List list = elasticSearch.search(chartKey, builder, JSONObject.class);
list.parallelStream().forEach(j -> j.put("pattern_words", patternWord));
@@ -379,12 +379,10 @@ public class WeSensitiveServiceImpl implements IWeSensitiveService {
.startObject("pattern_words")
.field("type", "keyword")
.endObject()
- .startObject("text")
.startObject("content")
.field("type", "text")
.endObject()
.endObject()
- .endObject()
.endObject();
return mapping;
} catch (Exception e) {
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionRewardServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionRewardServiceImpl.java
index b12b5822b0dad57aca2458a1f365dee1f84d9b1a..19f55f9e728c23d33d7eb5986affbbee1abc6edb 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionRewardServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionRewardServiceImpl.java
@@ -106,29 +106,27 @@ public class WeTaskFissionRewardServiceImpl implements IWeTaskFissionRewardServi
}
@Override
- public WeTaskFissionRewardVo getRewardByFissionId(String fissionId, String unionId) {
+ public WeTaskFissionRewardVo getRewardByFissionId(String fissionId, String eid) {
WeTaskFissionRewardVo weTaskFissionRewardVo = new WeTaskFissionRewardVo();
- WeCustomer weCustomer = weCustomerService.getOne(new LambdaQueryWrapper().eq(WeCustomer::getUnionid, unionId));
- String customerUnionId = Optional.ofNullable(weCustomer).map(WeCustomer::getUnionid)
+ WeCustomer weCustomer = weCustomerService.getOne(new LambdaQueryWrapper().eq(WeCustomer::getExternalUserid, eid));
+ String externalUseriId = Optional.ofNullable(weCustomer).map(WeCustomer::getExternalUserid)
.orElseThrow(() -> new WeComException("用户信息不存在"));
- WeTaskFissionRecord record = weTaskFissionRecordService.selectWeTaskFissionRecordByIdAndCustomerId(Long.valueOf(fissionId), customerUnionId);
- if (record == null){
- throw new WeComException("任务信息不存在");
- }
- Date completeTime = record.getCompleteTime();
+ WeTaskFissionRecord record = weTaskFissionRecordService.selectWeTaskFissionRecordByIdAndCustomerId(Long.valueOf(fissionId), externalUseriId);
+ Date completeTime = Optional.ofNullable(record).map(WeTaskFissionRecord::getCompleteTime)
+ .orElseThrow(() -> new WeComException("任务信息不存在"));
+
WeTaskFission weTaskFission = weTaskFissionService.selectWeTaskFissionById(Long.valueOf(fissionId));
Optional.ofNullable(weTaskFission).ifPresent(fission -> {
weTaskFissionRewardVo.setRewardRule(fission.getRewardRule());
+ weTaskFissionRewardVo.setRewardImageUrl(fission.getRewardImageUrl());
+ weTaskFissionRewardVo.setRewardUrl(fission.getRewardUrl());
});
+
if (completeTime != null) {
- Optional.ofNullable(weTaskFission).ifPresent(fission -> {
- weTaskFissionRewardVo.setRewardUrl(fission.getRewardUrl());
- weTaskFissionRewardVo.setRewardImageUrl(fission.getRewardImageUrl());
- });
WeTaskFissionReward fissionReward = weTaskFissionRewardMapper.selectOne(new LambdaQueryWrapper()
.eq(WeTaskFissionReward::getTaskFissionId, fissionId)
- .eq(WeTaskFissionReward::getRewardUserId, customerUnionId));
+ .eq(WeTaskFissionReward::getRewardUserId, externalUseriId));
weTaskFissionRewardVo.setWeTaskFissionReward(fissionReward);
//发放兑奖码之后,置为已使用
Optional.ofNullable(fissionReward).ifPresent(reward -> weTaskFissionRewardMapper.update(reward, new LambdaUpdateWrapper()
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionServiceImpl.java
index 2e5357febb91da844848b17c8802e44f73aab833..c0e9fc88a1d60b86691fe5abec0de75e23d74172 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionServiceImpl.java
@@ -1,7 +1,6 @@
package com.linkwechat.wecom.service.impl;
import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -154,7 +153,6 @@ public class WeTaskFissionServiceImpl implements IWeTaskFissionService {
int updateResult = weTaskFissionMapper.updateWeTaskFission(weTaskFission);
if (updateResult > 0) {
if (CollectionUtils.isNotEmpty(weTaskFission.getTaskFissionStaffs())) {
- log.info("发起成员信息:【{}】",JSONObject.toJSONString(weTaskFission.getTaskFissionStaffs()));
List staffList = weTaskFissionStaffService.selectWeTaskFissionStaffByTaskId(weTaskFission.getId());
if (CollectionUtils.isNotEmpty(staffList)) {
weTaskFissionStaffService.deleteWeTaskFissionStaffByIds(staffList.stream().map(WeTaskFissionStaff::getId).toArray(Long[]::new));
@@ -201,6 +199,8 @@ public class WeTaskFissionServiceImpl implements IWeTaskFissionService {
//H5生成海报页面路径
StringBuilder pageUrlBuilder = new StringBuilder(pageUrl);
pageUrlBuilder.append("?")
+ .append("agentId=").append("1000010")
+ .append("&")
.append("fissionId=").append(id)
.append("&")
.append("fissionTargetId=").append(fissStaffId)
@@ -214,9 +214,6 @@ public class WeTaskFissionServiceImpl implements IWeTaskFissionService {
linkMessageDto.setUrl(pageUrlBuilder.toString());
CustomerMessagePushDto customerMessagePushDto = new CustomerMessagePushDto();
- if (weTaskFission.getStartTime() != null){
- customerMessagePushDto.setSettingTime(DateUtil.formatDateTime(weTaskFission.getStartTime()));
- }
customerMessagePushDto.setLinkMessage(linkMessageDto);
customerMessagePushDto.setPushType("0");
customerMessagePushDto.setPushRange("1");
@@ -304,18 +301,18 @@ public class WeTaskFissionServiceImpl implements IWeTaskFissionService {
.map(record -> weCustomerService.selectWeCustomerById(record.getCustomerId()))
.filter(Objects::nonNull).collect(Collectors.toList());
} else {
+ WeCustomer weCustomer = weCustomerService.getOne(new LambdaQueryWrapper().eq(WeCustomer::getUnionid, unionId));
+ String uid = Optional.ofNullable(weCustomer).map(WeCustomer::getUnionid)
+ .orElseThrow(() -> new WeComException("用户信息不存在"));
weTaskFissionRecord = weTaskFissionRecordService
- .selectWeTaskFissionRecordByIdAndCustomerId(Long.valueOf(fissionId), unionId);
- Optional.ofNullable(weTaskFissionRecord).orElseThrow(() -> new WeComException("任务记录信息不存在"));
+ .selectWeTaskFissionRecordByIdAndCustomerId(Long.valueOf(fissionId), uid);
+ Optional.ofNullable(weTaskFissionRecord).map(WeTaskFissionRecord::getId)
+ .orElseThrow(() -> new WeComException("任务记录信息不存在"));
List list = weFlowerCustomerRelService.list(new LambdaQueryWrapper()
.eq(WeFlowerCustomerRel::getState, WeConstans.FISSION_PREFIX + weTaskFissionRecord.getId()));
List eidList = Optional.ofNullable(list).orElseGet(ArrayList::new).stream()
.map(WeFlowerCustomerRel::getExternalUserid).collect(Collectors.toList());
- if (CollectionUtil.isNotEmpty(eidList)){
- return weCustomerService.listByIds(eidList);
- }else {
- return null;
- }
+ return weCustomerService.listByIds(eidList);
}
}
@@ -366,15 +363,6 @@ public class WeTaskFissionServiceImpl implements IWeTaskFissionService {
return WeTaskFissionProgressVO.builder().total(total).completed(complete).customers(list).build();
}
- /**
- * 更新过期任务
- * @return
- */
- @Override
- public void updateExpiredWeTaskFission() {
- weTaskFissionMapper.updateExpiredWeTaskFission();
- }
-
/*************************************** private functions **************************************/
private String getPosterQRCode(String fissionTargetId, WeTaskFissionRecord record, WeCustomer weCustomer) {
@@ -442,8 +430,7 @@ public class WeTaskFissionServiceImpl implements IWeTaskFissionService {
WeTaskFissionRecord record = WeTaskFissionRecord.builder()
.taskFissionId(taskFissionId)
.customerId(customerId)
- .customerName(customerName)
- .createTime(new Date()).build();
+ .customerName(customerName).build();
List searchExists = weTaskFissionRecordService.selectWeTaskFissionRecordList(record);
WeTaskFissionRecord recordInfo;
if (CollectionUtils.isNotEmpty(searchExists)) {
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionStaffServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionStaffServiceImpl.java
index ddd694ab15939bc6f10019bd91b0e805060c6804..3e85cca2a78876c82c46a056b9e5dbd9687a304f 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionStaffServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeTaskFissionStaffServiceImpl.java
@@ -54,7 +54,7 @@ public class WeTaskFissionStaffServiceImpl implements IWeTaskFissionStaffService
@Override
public int insertWeTaskFissionStaffList(List weTaskFissionStaffs) {
- return weTaskFissionStaffMapper.insertWeTaskFissionStaffList(weTaskFissionStaffs);
+ return 0;
}
/**
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeUserServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeUserServiceImpl.java
index b5cc4829f6137f64c26b7f1d3bdb0e455d0c9303..cc545677bef4dd65864e28e5679cc90d03b9a081 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeUserServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeUserServiceImpl.java
@@ -133,7 +133,7 @@ public class WeUserServiceImpl extends ServiceImpl implemen
public void updateWeUser(WeUser weUser)
{
- if(this.updateById(weUser)){
+ if(this.updateWeUserNoToWeCom(weUser) > 0){
weUserClient.updateUser(
weUser.transformWeUserDto()
);
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/wxclient/WxAuthClient.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/wxclient/WxAuthClient.java
index 6fc74aed7bfe342d98f745988eecf4de3082d216..c2c27cca67467d511ce7b42279eb19faa39205e0 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/wxclient/WxAuthClient.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/wxclient/WxAuthClient.java
@@ -39,7 +39,7 @@ public interface WxAuthClient {
* @return
*/
@Request(url = "/oauth2/refresh_token", type = "GET")
- WxTokenDto refreshToken(@Query("appid") String appId, @Query("grant_type") String grantType,
+ WxTokenDto refreshToken(String id, @Query("appid") String appId, @Query("grant_type") String grantType,
@Query("refresh_token") String refreshToken);
/**
diff --git a/linkwe-wecom/src/main/resources/mapper/wecom/WeCommunityNewGroupMapper.xml b/linkwe-wecom/src/main/resources/mapper/wecom/WeCommunityNewGroupMapper.xml
index d2efc5ff9f8aa4ebad19d0f462afef31bae90755..2c3f8cbff1a577c7dde34bf28742f812501942d6 100644
--- a/linkwe-wecom/src/main/resources/mapper/wecom/WeCommunityNewGroupMapper.xml
+++ b/linkwe-wecom/src/main/resources/mapper/wecom/WeCommunityNewGroupMapper.xml
@@ -75,4 +75,11 @@
+
+
+
\ No newline at end of file
diff --git a/linkwe-wecom/src/main/resources/mapper/wecom/WeCorpAccountMapper.xml b/linkwe-wecom/src/main/resources/mapper/wecom/WeCorpAccountMapper.xml
index db35d7e96875a96efeaba59eb132a8d8ce868353..ddd571e0ee84965272b35c3d929c5a810b005088 100644
--- a/linkwe-wecom/src/main/resources/mapper/wecom/WeCorpAccountMapper.xml
+++ b/linkwe-wecom/src/main/resources/mapper/wecom/WeCorpAccountMapper.xml
@@ -22,11 +22,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-
+
- select id,chat_secret,corp_account,provider_secret,company_name, corp_id, corp_secret,agent_id, agent_secret, status, del_flag, create_by, create_time, update_by, update_time,contact_secret, customer_churn_notice_switch,wx_qr_login_redirect_uri from we_corp_account
+ select id,chat_secret,provider_secret,company_name, corp_id, corp_secret,agent_id, agent_secret, status, del_flag, create_by, create_time, update_by, update_time,contact_secret, customer_churn_notice_switch,wx_qr_login_redirect_uri,
+ corp_account
+ from we_corp_account