Skip to content

Commit

Permalink
Merge pull request #10 from lianluoyi/dev
Browse files Browse the repository at this point in the history
V1.20.0版本迭代
  • Loading branch information
lianluoyi authored Jan 15, 2023
2 parents 8958440 + e8da0a9 commit ffeb097
Show file tree
Hide file tree
Showing 132 changed files with 1,381 additions and 1,406 deletions.
16 changes: 15 additions & 1 deletion easyink-admin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,22 @@
web服务入口
</description>

<dependencies>

<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
</dependency>
<!--MDC线程传递增强-->
<dependency>
<groupId>com.ofpay</groupId>
<artifactId>logback-mdc-ttl</artifactId>
</dependency>
<!--日志json格式化工具-->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
</dependency>
<!-- spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.scheduling.annotation.EnableAsync;

/**
Expand All @@ -18,11 +19,12 @@
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, PageHelperAutoConfiguration.class})
@MapperScan("com.easyink.*.mapper")
@ForestScan(basePackages = {"com.easyink.wecom.client", "com.easyink.wecom.wxclient"})
@EnableAsync
@EnableAsync(proxyTargetClass = true)
@EnableAspectJAutoProxy(exposeProxy = true)
public class EasyWeComApplication {
public static void main(String[] args) {
SpringApplication.run(EasyWeComApplication.class, args);
log.info("\n" +
System.out.println("\n" +
" ,----, ,----, \n" +
" ,/ .`| ,/ .`| \n" +
" .--.--. ,` .' : ,---, ,-.----. ,` .' : .--.--. ,----.. ,----.. ,---,. .--.--. .--.--. \n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ public AjaxResult getCode(HttpServletResponse response) {
// 生成验证码
if (MATH.equals(captchaType)) {
String capText = captchaProducerMath.createText();
capStr = capText.substring(0, capText.lastIndexOf("@"));
code = capText.substring(capText.lastIndexOf("@") + 1);
capStr = capText.substring(0, capText.lastIndexOf('@'));
code = capText.substring(capText.lastIndexOf('@') + 1);
image = captchaProducerMath.createImage(capStr);
} else {
capStr = code = captchaProducer.createText();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.easyink.common.constant.Constants;
import com.easyink.common.core.domain.AjaxResult;
import com.easyink.common.core.domain.FileVo;
import com.easyink.common.exception.CustomException;
import com.easyink.common.utils.StringUtils;
import com.easyink.common.utils.file.FileUploadUtils;
import com.easyink.common.utils.file.FileUtils;
Expand Down Expand Up @@ -54,7 +55,7 @@ public class CommonController {
public void fileDownload(@ApiParam("文件名") String fileName, @ApiParam("是否删除本地文件") Boolean delete, @ApiParam("是否带时间戳") Boolean needTimeStamp, HttpServletResponse response, HttpServletRequest request) {
try {
if (!FileUtils.isValidFilename(fileName)) {
throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
throw new CustomException(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
}
// 文件名分隔符 uuid_fileName.xlsx -> fileName.xlsx
String splitSign = "_";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
import com.easyink.common.enums.BusinessType;
import com.easyink.common.enums.LogoutReasonEnum;
import com.easyink.common.service.ISysUserOnlineService;
import com.easyink.common.utils.StringUtils;
import com.easyink.wecom.login.util.LoginTokenService;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
Expand Down Expand Up @@ -53,20 +53,18 @@ public TableDataInfo<SysUserOnline> list(@ApiParam("Ip地址") String ipaddr, @A
List<SysUserOnline> userOnlineList = new ArrayList<>();
for (String key : keys) {
LoginUser user = redisCache.getCacheObject(key);
if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName)) {
if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername())) {
userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user));
}
} else if (StringUtils.isNotEmpty(ipaddr)) {
if (StringUtils.equals(ipaddr, user.getIpaddr())) {
userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user));
}
} else if (StringUtils.isNotEmpty(userName) && StringUtils.isNotNull(user.getUser())) {
if (StringUtils.equals(userName, user.getUsername())) {
userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, user));
}
SysUserOnline sysUserOnline = null;
if (StringUtils.isNotBlank(ipaddr) && StringUtils.isNotBlank(userName)) {
sysUserOnline = userOnlineService.selectOnlineByInfo(ipaddr, userName, user);
} else if (StringUtils.isNotBlank(ipaddr)){
sysUserOnline = userOnlineService.selectOnlineByIpaddr(ipaddr, user);
} else if (StringUtils.isNotBlank(userName)) {
sysUserOnline = userOnlineService.selectOnlineByUserName(userName, user);
} else {
userOnlineList.add(userOnlineService.loginUserToUserOnline(user));
sysUserOnline = userOnlineService.loginUserToUserOnline(user);
}
if (sysUserOnline != null) {
userOnlineList.add(sysUserOnline);
}
}
// 根据登录用户名+ip地址 按登录时间倒序排序后 去重,保留最新登录的信息(同一ip如果没有通过后台登出而是直接关闭浏览器,下次打开浏览器登录后redis若token还没过期,则会有该ip的两个同样登录用户)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.easyink.web.controller.openapi;

import com.easyink.common.core.controller.BaseController;
import com.easyink.common.core.domain.AjaxResult;
import com.easyink.common.utils.wecom.CorpSecretDecryptUtil;
import com.easyink.wecom.domain.dto.unionid.GetUnionIdDTO;
import com.easyink.wecom.domain.vo.unionid.GetUnionIdVO;
import com.easyink.wecom.service.WeCustomerService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* 类名: easyink获取unionId 接口
*
* @author : silver_chariot
* @date : 2023/1/4 14:19
**/
@RestController
@RequestMapping("/unionId")
@AllArgsConstructor
public class UnionIdController extends BaseController {

private final WeCustomerService weCustomerService;

@PostMapping("/getByExternalUserId")
public AjaxResult<GetUnionIdVO> getByExternalUserId(@RequestBody GetUnionIdDTO getUnionIdDTO) {
return AjaxResult.success( weCustomerService.getDetailByExternalUserId(getUnionIdDTO) );
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -25,41 +25,6 @@
@Deprecated
public class SysNoticeController extends BaseController {

@PreAuthorize("@ss.hasPermi('system:notice:list')")
@GetMapping("/list")
@ApiOperation("获取通知公告列表")
@Deprecated
public TableDataInfo list(SysNotice notice) {
return getDataTable(new ArrayList<>());
}

@PreAuthorize("@ss.hasPermi('system:notice:query')")
@GetMapping(value = "/{noticeId}")
@ApiOperation("根据通知公告编号获取详细信息")
@Deprecated
public AjaxResult getInfo(@PathVariable Long noticeId) {
return AjaxResult.success();
}


@PreAuthorize("@ss.hasPermi('system:notice:add')")
@Log(title = "通知公告", businessType = BusinessType.INSERT)
@PostMapping
@ApiOperation("新增通知公告")
@Deprecated
public AjaxResult add(@Validated @RequestBody SysNotice notice) {
return AjaxResult.success();
}

@PreAuthorize("@ss.hasPermi('system:notice:edit')")
@Log(title = "通知公告", businessType = BusinessType.UPDATE)
@PutMapping
@ApiOperation("修改通知公告")
@Deprecated
public AjaxResult edit(@Validated @RequestBody SysNotice notice) {
return AjaxResult.success();
}


@PreAuthorize("@ss.hasPermi('system:notice:remove')")
@Log(title = "通知公告", businessType = BusinessType.DELETE)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,12 +134,13 @@ public AjaxResult getInfo(@PathVariable(value = "userId") Long userId) {
@Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysUser user) {
final String msgPrefix = "新增用户";
if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) {
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
return AjaxResult.error(msgPrefix + user.getUserName() + "'失败,登录账号已存在");
} else if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
return AjaxResult.error(msgPrefix+ user.getUserName() + "'失败,手机号码已存在");
} else if (UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
return AjaxResult.error(msgPrefix + user.getUserName() + "'失败,邮箱账号已存在");
}
user.setCreateBy(LoginTokenService.getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package com.easyink.web.controller.wecom;

import com.easyink.common.core.domain.AjaxResult;
import com.easyink.common.enums.BusinessType;
import com.easyink.wecom.service.UpdateIDSecurityService;
import com.sun.org.apache.xpath.internal.operations.Bool;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,20 +31,4 @@ public AjaxResult list() {
return AjaxResult.success();
}

@ApiOperation("添加应用")
@ApiOperationSupport(ignoreParameters = {"id"})
@PostMapping("/addWeapp")
@Deprecated
public AjaxResult addWeApp(@RequestBody WeApp weApp) {
return AjaxResult.success();
}

@ApiOperation("更新应用")
@PutMapping("/updateWeApp")
@Deprecated
public AjaxResult updateWeApp(@RequestBody WeApp weApp) {
return AjaxResult.success();
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -50,16 +50,6 @@ public TableDataInfo<WeChatContactMapping> list(WeChatContactMapping weChatConta
return getDataTable(list);
}

/**
* 按客户查询关系映射列表
*/
// @PreAuthorize("@ss.hasPermi('chat:mapping:listByCustomer')")
@Deprecated
@ApiOperation(value = "按客户查询关系映射列表", httpMethod = "GET")
@GetMapping("/listByCustomer")
public TableDataInfo<PageInfo<WeCustomer>> listByCustomer() {
return getDataTable(new ArrayList<>());
}

/**
* 导出聊天关系映射列表
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ public TableDataInfo materialList(@Validated FindWeMaterialDTO findWeMaterialDTO
String corpId = LoginTokenService.getLoginUser().getCorpId();
findWeMaterialDTO.setCorpId(corpId);
findWeMaterialDTO.setShowMaterial(WeConstans.DEFAULT_WE_MATERIAL_USING);
findWeMaterialDTO.setUsingFlag(WeConstans.DEFAULT_WE_MATERIAL_USING);
findWeMaterialDTO.setIsExpire(WeConstans.MATERIAL_UN_EXPIRE);
List<WeMaterialVO> weMaterials = weMaterialService.findWeMaterials(findWeMaterialDTO);
return getDataTable(weMaterials);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,42 +20,6 @@
@Deprecated
public class WeCommunityGroupSopController extends BaseController {

/**
* 通过过滤条件获取群sop列表
*
* @param ruleName 规则名称
* @param createBy 创建者
* @param beginTime 创建区间 - 开始时间
* @param endTime 创建区间 - 结束时间
* @return 群sop规则列表
*/
@ApiOperation(value = "通过过滤条件获取群sop列表", httpMethod = "GET")
// @PreAuthorize("@ss.hasPermi('wecom:communityGroupSop:list')")
@GetMapping(path = "/list")
@Deprecated
public TableDataInfo getSopList(
@RequestParam(value = "ruleName") String ruleName,
@RequestParam(value = "createBy") String createBy,
@RequestParam(value = "beginTime") String beginTime,
@RequestParam(value = "endTime") String endTime
) {
return getDataTable(new ArrayList<>());
}

/**
* 新增SOP规则
*
* @param groupSopDto 更新数据
* @return 结果
*/
@ApiOperation(value = "新增SOP规则", httpMethod = "POST")
// @PreAuthorize("@ss.hasPermi('wecom:communityGroupSop:add')")
@PostMapping(path = "/")
@Deprecated
public AjaxResult addGroupSop(@Validated @RequestBody WeGroupSopDTO groupSopDto) {
return AjaxResult.success();
}

/**
* 通过规则id获取sop规则
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,20 +106,6 @@ public AjaxResult changeStatus(@RequestParam("taskId") Long taskId, @RequestPara
return AjaxResult.success();
}

/**
* 用于支持H5页面的名称和关键字检索
*
* @param word 过滤字符
* @return 结果
*/
@GetMapping(path = "/filter")
@ApiOperation("H5页面的名称和关键字检索")
@Deprecated
public TableDataInfo filter(@RequestParam("word") String word) {
return getDataTable(new ArrayList<>());
}


@GetMapping("/sopTaskDetail/{emplId}")
@ApiOperation("获取员工的SOP任务详情")
public TableDataInfo<GetSopTaskByUserIdVO> sopTaskDetail(@PathVariable("emplId") String emplId, GetSopTaskDetailDTO getSopTaskDetailDTO) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.easyink.web.controller.wecom;

import com.easyink.common.core.controller.BaseController;
import com.easyink.common.core.domain.AjaxResult;
import com.easyink.common.core.domain.ConversationArchiveQuery;
import com.easyink.common.core.page.TableDataInfo;
import com.easyink.common.token.TokenService;
import com.easyink.common.utils.ServletUtils;
import com.easyink.common.utils.StringUtils;
Expand Down Expand Up @@ -42,12 +42,12 @@ public class WeConversationArchiveController extends BaseController {
*/
@ApiOperation(value = "获取单聊会话数据接口", httpMethod = "GET")
@GetMapping("/getChatContactList")
public TableDataInfo<PageInfo<ConversationArchiveVO>> getChatContactList(ConversationArchiveQuery query) {
public AjaxResult<PageInfo<ConversationArchiveVO>> getChatContactList(ConversationArchiveQuery query) {
if (StringUtils.isEmpty(LoginTokenService.getLoginUser().getCorpId())){
return getDataTable(new ArrayList<>());
return AjaxResult.success(new ArrayList<>());
}
query.setCorpId(LoginTokenService.getLoginUser().getCorpId());
return getDataTable(weConversationArchiveService.getChatContactList(query));
return AjaxResult.success(weConversationArchiveService.getChatContactList(query));
}


Expand All @@ -61,12 +61,12 @@ public TableDataInfo<PageInfo<ConversationArchiveVO>> getChatContactList(Convers
*/
@ApiOperation(value = "获取群聊会话数据接口", httpMethod = "GET")
@GetMapping("/getChatRoomContactList")
public TableDataInfo<PageInfo<ConversationArchiveVO>> getChatRoomContactList(ConversationArchiveQuery query) {
public AjaxResult<PageInfo<ConversationArchiveVO>> getChatRoomContactList(ConversationArchiveQuery query) {
if (StringUtils.isEmpty(LoginTokenService.getLoginUser().getCorpId())){
return getDataTable(new ArrayList<>());
return AjaxResult.success(new ArrayList<>());
}
query.setCorpId(LoginTokenService.getLoginUser().getCorpId());
return getDataTable(weConversationArchiveService.getChatRoomContactList(query));
return AjaxResult.success(weConversationArchiveService.getChatRoomContactList(query));
}


Expand All @@ -78,12 +78,12 @@ public TableDataInfo<PageInfo<ConversationArchiveVO>> getChatRoomContactList(Con
*/
@ApiOperation(value = "获取全局会话数据接口", httpMethod = "GET")
@GetMapping("/getChatAllList")
public TableDataInfo<PageInfo<ConversationArchiveVO>> getChatAllList(ConversationArchiveQuery query) {
public AjaxResult<PageInfo<ConversationArchiveVO>> getChatAllList(ConversationArchiveQuery query) {
if (StringUtils.isEmpty(LoginTokenService.getLoginUser().getCorpId())){
return getDataTable(new ArrayList<>());
return AjaxResult.success(new ArrayList<>());
}
query.setCorpId(LoginTokenService.getLoginUser().getCorpId());
return getDataTable(weConversationArchiveService.getChatAllList(query, tokenService.getLoginUser(ServletUtils.getRequest())));
return AjaxResult.success(weConversationArchiveService.getChatAllList(query, tokenService.getLoginUser(ServletUtils.getRequest())));
}

}
Loading

0 comments on commit ffeb097

Please sign in to comment.