From d22be6e782b16862e6139ceab3000edc49d9b654 Mon Sep 17 00:00:00 2001 From: YXY <932687738@qq.com> Date: Tue, 22 Aug 2023 23:38:24 +0800 Subject: [PATCH] =?UTF-8?q?=E9=82=80=E8=AF=B7=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LarkActiveController.java | 44 ++-- .../domain/LarkUserActiveComment.java | 29 +++ .../larkactive/LarkActiveCommentVo.java | 19 ++ .../LarkActiveUserRelationRequest.java | 2 +- .../flyingbook/mapper/LarkLoginLogMapper.java | 2 + .../mapper/LarkUserActiveCommentMapper.java | 65 ++++++ .../mapper/LarkUserActiveRelatoinMapper.java | 1 + .../service/ILarkLoginLogService.java | 4 + .../ILarkUserActiveCommentService.java | 70 ++++++ .../ILarkUserActiveInviteRelatoinService.java | 3 +- .../ILarkUserActiveRelatoinService.java | 1 + .../service/impl/LarkLoginLogServiceImpl.java | 17 ++ .../LarkUserActiveCommentServiceImpl.java | 210 ++++++++++++++++++ ...rkUserActiveInviteRelatoinServiceImpl.java | 88 +++++++- .../resources/mapper/LarkLoginLogMapper.xml | 10 + .../mapper/LarkUserActiveCommentMapper.xml | 86 +++++++ .../mapper/LarkUserActiveRelatoinMapper.xml | 9 + 17 files changed, 636 insertions(+), 24 deletions(-) create mode 100644 ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/LarkUserActiveComment.java create mode 100644 ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/larkactive/LarkActiveCommentVo.java create mode 100644 ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveCommentMapper.java create mode 100644 ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveCommentService.java create mode 100644 ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveCommentServiceImpl.java create mode 100644 ruoyi-flyingbook/src/main/resources/mapper/LarkUserActiveCommentMapper.xml diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/controller/LarkActiveController.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/controller/LarkActiveController.java index 96124d9..7f8c959 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/controller/LarkActiveController.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/controller/LarkActiveController.java @@ -22,10 +22,7 @@ import com.ruoyi.flyingbook.domain.LarkUserActiveRelatoin; import com.ruoyi.flyingbook.domain.edi.ResponseVo; import com.ruoyi.flyingbook.domain.lark.LarkUserRequest; import com.ruoyi.flyingbook.domain.larkactive.*; -import com.ruoyi.flyingbook.service.ILarkActiveService; -import com.ruoyi.flyingbook.service.ILarkLoginLogService; -import com.ruoyi.flyingbook.service.ILarkUserActiveInviteRelatoinService; -import com.ruoyi.flyingbook.service.ILarkUserActiveRelatoinService; +import com.ruoyi.flyingbook.service.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -49,6 +46,8 @@ public class LarkActiveController extends BaseController { @Autowired private ILarkUserActiveRelatoinService larkUserActiveRelatoinService; @Autowired + private ILarkUserActiveCommentService larkUserActiveCommentService; + @Autowired private ILarkUserActiveInviteRelatoinService larkUserActiveInviteRelatoinService; @Autowired private LarkUserHelper larkUserHelper; @@ -100,25 +99,29 @@ public class LarkActiveController extends BaseController { return new ResponseVo(larkActive); } + /** * 上传活动图片 */ @PostMapping("/uploadActiveFile") - public ResponseVo uploadActiveFile(@RequestParam("file") MultipartFile file, @RequestParam("userName") String userName, @RequestParam("larkActiveName") String larkActiveName, @RequestParam("companyName") String companyName) { - LarkActiveUserRelationRequest request = new LarkActiveUserRelationRequest(); - request.setFile(file); - request.setUserName(userName); - request.setLarkActiveName(larkActiveName); - request.setCompanyName(companyName); + public ResponseVo uploadActiveFile(@RequestBody LarkActiveUserRelationRequest request) { return larkUserActiveRelatoinService.commitFile(request); } /** * 上传活动图片 */ - @PostMapping("/uploadActiveFile2") - public ResponseVo uploadActiveFile2(@RequestBody LarkActiveUserRelationRequest request) { - return larkUserActiveRelatoinService.commitFile(request); + @PostMapping("/comment") + public ResponseVo comment(@RequestBody LarkActiveUserRelationRequest request) { + return larkUserActiveCommentService.comment(request); + } + + /** + * 查询评论 + */ + @PostMapping("/queryComment") + public ResponseVo queryComment(@RequestBody LarkActiveUserRelationRequest request) { + return larkUserActiveCommentService.queryComment(request); } /** @@ -140,7 +143,16 @@ public class LarkActiveController extends BaseController { } /** - * 查询当前登陆人已经完成所有活动 + * 邀请用户 + */ + @PostMapping("/inviteUser") + public ResponseVo inviteUser(@RequestBody LarkUserActiveInviteRelatoin request) { + larkUserActiveInviteRelatoinService.create(request); + return new ResponseVo(); + } + + /** + * 查询当前登陆人邀请的所有用户 */ @PostMapping("/queryInviteUserList") public ResponseVo queryInviteUserList(@RequestBody LarkUserActiveInviteRelatoin request) { @@ -153,8 +165,8 @@ public class LarkActiveController extends BaseController { * 查询邀请的top 10的人的信息 */ @PostMapping("/queryInviteTopTen") - public ResponseVo queryInviteTopTen(@RequestBody LarkUserActiveInviteRelatoin request) { - List larkUserActiveInviteRelatoins = larkUserActiveInviteRelatoinService.queryTopTen(request); + public ResponseVo queryInviteTopTen(@RequestBody LarkUserActiveInviteRelatoin request) { + List larkUserActiveInviteRelatoins = larkUserActiveInviteRelatoinService.queryTopTen(request); return new ResponseVo(larkUserActiveInviteRelatoins); } diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/LarkUserActiveComment.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/LarkUserActiveComment.java new file mode 100644 index 0000000..7aaa42b --- /dev/null +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/LarkUserActiveComment.java @@ -0,0 +1,29 @@ +package com.ruoyi.flyingbook.domain; + +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 【请填写功能名称】对象 lark_user_active_comment + * + * @author ruoyi + * @date 2023-08-22 + */ +@Data +public class LarkUserActiveComment extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + private Long id; + + /** 用户活动关联关系id */ + private Long userActiveRelatoin; + + /** 评论内容 */ + private String content; + + /** + * @see com.ruoyi.common.enums.FlagStatus + */ + private Long flag; +} diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/larkactive/LarkActiveCommentVo.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/larkactive/LarkActiveCommentVo.java new file mode 100644 index 0000000..389b66b --- /dev/null +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/larkactive/LarkActiveCommentVo.java @@ -0,0 +1,19 @@ +package com.ruoyi.flyingbook.domain.larkactive; + +import com.ruoyi.flyingbook.domain.LarkActive; +import com.ruoyi.flyingbook.domain.LarkUserActiveComment; +import lombok.Data; + +/** + * 【请填写功能名称】对象 lark_active + * + * @author ruoyi + * @date 2023-08-16 + */ +@Data +public class LarkActiveCommentVo extends LarkUserActiveComment { + + private String userName; + private String image; + +} diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/larkactive/LarkActiveUserRelationRequest.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/larkactive/LarkActiveUserRelationRequest.java index 4e19aaa..3da98dc 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/larkactive/LarkActiveUserRelationRequest.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/domain/larkactive/LarkActiveUserRelationRequest.java @@ -18,7 +18,7 @@ public class LarkActiveUserRelationRequest extends LarkActiveBaseRequestVo { private String larkActiveName; private String userName; private String imageBase64; - + private String comment; private MultipartFile file; diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkLoginLogMapper.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkLoginLogMapper.java index 9ca0c8e..f2a83e7 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkLoginLogMapper.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkLoginLogMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.flyingbook.mapper; import com.ruoyi.flyingbook.domain.LarkLoginLog; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -30,6 +31,7 @@ public interface LarkLoginLogMapper public List selectLarkLoginLogList(LarkLoginLog larkLoginLog); public Integer count(LarkLoginLog larkLoginLog); public Integer distinctCount(LarkLoginLog larkLoginLog); + public List queryByOpenId(@Param("openIdList") List openIdList); /** * 新增【请填写功能名称】 diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveCommentMapper.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveCommentMapper.java new file mode 100644 index 0000000..a67a083 --- /dev/null +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveCommentMapper.java @@ -0,0 +1,65 @@ +package com.ruoyi.flyingbook.mapper; + + +import com.ruoyi.flyingbook.domain.LarkUserActiveComment; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2023-08-22 + */ +public interface LarkUserActiveCommentMapper +{ + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】ID + * @return 【请填写功能名称】 + */ + public LarkUserActiveComment selectLarkUserActiveCommentById(Long id); + + /** + * 查询【请填写功能名称】列表 + * + * @param larkUserActiveComment 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectLarkUserActiveCommentList(LarkUserActiveComment larkUserActiveComment); + + /** + * 新增【请填写功能名称】 + * + * @param larkUserActiveComment 【请填写功能名称】 + * @return 结果 + */ + public int insertLarkUserActiveComment(LarkUserActiveComment larkUserActiveComment); + + /** + * 修改【请填写功能名称】 + * + * @param larkUserActiveComment 【请填写功能名称】 + * @return 结果 + */ + public int updateLarkUserActiveComment(LarkUserActiveComment larkUserActiveComment); + + /** + * 删除【请填写功能名称】 + * + * @param id 【请填写功能名称】ID + * @return 结果 + */ + public int deleteLarkUserActiveCommentById(Long id); + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteLarkUserActiveCommentByIds(Long[] ids); + + public List selectLarkUserActiveCommentList(LarkUserActiveComment larkUserActiveComment); +} diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveRelatoinMapper.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveRelatoinMapper.java index 13f5761..45033ce 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveRelatoinMapper.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveRelatoinMapper.java @@ -36,6 +36,7 @@ public interface LarkUserActiveRelatoinMapper { public int queryUserCount(LarkUserActiveRelatoin larkUserActiveRelatoin); public List queryUserCountGroupByActive(LarkUserActiveRelatoin larkUserActiveRelatoin); + public List queryByIdList(@Param("idList") List idList); /** * 新增【请填写功能名称】 diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkLoginLogService.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkLoginLogService.java index aa28506..21aa513 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkLoginLogService.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkLoginLogService.java @@ -2,8 +2,10 @@ package com.ruoyi.flyingbook.service; import com.ruoyi.flyingbook.domain.LarkLoginLog; +import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * 【请填写功能名称】Service接口 @@ -60,4 +62,6 @@ public interface ILarkLoginLogService * @return 结果 */ public int deleteLarkLoginLogById(Long id); + + public Map queryByOpenId(@Param("openIdList") List openIdList); } diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveCommentService.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveCommentService.java new file mode 100644 index 0000000..eb52b12 --- /dev/null +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveCommentService.java @@ -0,0 +1,70 @@ +package com.ruoyi.flyingbook.service; + + +import com.ruoyi.flyingbook.domain.LarkUserActiveComment; +import com.ruoyi.flyingbook.domain.LarkUserActiveRelatoin; +import com.ruoyi.flyingbook.domain.edi.ResponseVo; +import com.ruoyi.flyingbook.domain.larkactive.LarkActiveCommentVo; +import com.ruoyi.flyingbook.domain.larkactive.LarkActiveUserRelationRequest; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2023-08-22 + */ +public interface ILarkUserActiveCommentService +{ + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】ID + * @return 【请填写功能名称】 + */ + public LarkUserActiveComment selectLarkUserActiveCommentById(Long id); + + /** + * 查询【请填写功能名称】列表 + * + * @param larkUserActiveComment 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectLarkUserActiveCommentList(LarkUserActiveComment larkUserActiveComment); + + /** + * 新增【请填写功能名称】 + * + * @param larkUserActiveComment 【请填写功能名称】 + * @return 结果 + */ + public int insertLarkUserActiveComment(LarkUserActiveComment larkUserActiveComment); + + /** + * 修改【请填写功能名称】 + * + * @param larkUserActiveComment 【请填写功能名称】 + * @return 结果 + */ + public int updateLarkUserActiveComment(LarkUserActiveComment larkUserActiveComment); + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的【请填写功能名称】ID + * @return 结果 + */ + public int deleteLarkUserActiveCommentByIds(Long[] ids); + + /** + * 删除【请填写功能名称】信息 + * + * @param id 【请填写功能名称】ID + * @return 结果 + */ + public int deleteLarkUserActiveCommentById(Long id); + + public ResponseVo comment(LarkActiveUserRelationRequest request); + public ResponseVo queryComment(LarkActiveUserRelationRequest request); +} diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveInviteRelatoinService.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveInviteRelatoinService.java index 32d786a..aeebe3f 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveInviteRelatoinService.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveInviteRelatoinService.java @@ -28,7 +28,7 @@ public interface ILarkUserActiveInviteRelatoinService { */ public List selectLarkUserActiveInviteRelatoinList(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin); - public List queryTopTen(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin); + public List queryTopTen(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin); public List queryMyInviteList(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin); @@ -40,6 +40,7 @@ public interface ILarkUserActiveInviteRelatoinService { * @return 结果 */ public int insertLarkUserActiveInviteRelatoin(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin); + public void create(LarkUserActiveInviteRelatoin request); /** * 修改【请填写功能名称】 diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveRelatoinService.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveRelatoinService.java index 937710a..d353a63 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveRelatoinService.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/ILarkUserActiveRelatoinService.java @@ -66,4 +66,5 @@ public interface ILarkUserActiveRelatoinService { * @return 结果 */ public int deleteLarkUserActiveRelatoinById(Long id); + } diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkLoginLogServiceImpl.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkLoginLogServiceImpl.java index 890f14e..a2bbffb 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkLoginLogServiceImpl.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkLoginLogServiceImpl.java @@ -4,10 +4,15 @@ import com.ruoyi.common.utils.DateUtils; import com.ruoyi.flyingbook.domain.LarkLoginLog; import com.ruoyi.flyingbook.mapper.LarkLoginLogMapper; import com.ruoyi.flyingbook.service.ILarkLoginLogService; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; /** * 【请填写功能名称】Service业务层处理 @@ -94,4 +99,16 @@ public class LarkLoginLogServiceImpl implements ILarkLoginLogService { return larkLoginLogMapper.deleteLarkLoginLogById(id); } + + @Override + public Map queryByOpenId(List openIdList) { + if (CollectionUtils.isEmpty(openIdList)){ + return new HashMap<>(); + } + return larkLoginLogMapper.queryByOpenId(openIdList) + .stream() + .collect( + Collectors.toMap(LarkLoginLog::getOpenId, Function.identity(),(k1,k2)->k1) + ); + } } diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveCommentServiceImpl.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveCommentServiceImpl.java new file mode 100644 index 0000000..6b41efe --- /dev/null +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveCommentServiceImpl.java @@ -0,0 +1,210 @@ +package com.ruoyi.flyingbook.service.impl; + +import com.ruoyi.common.enums.FlagStatus; +import com.ruoyi.common.enums.LarkActiveStageEnum; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.flyingbook.domain.LarkActive; +import com.ruoyi.flyingbook.domain.LarkLoginLog; +import com.ruoyi.flyingbook.domain.LarkUserActiveComment; +import com.ruoyi.flyingbook.domain.LarkUserActiveRelatoin; +import com.ruoyi.flyingbook.domain.edi.ResponseVo; +import com.ruoyi.flyingbook.domain.larkactive.LarkActiveCommentVo; +import com.ruoyi.flyingbook.domain.larkactive.LarkActiveUserRelationRequest; +import com.ruoyi.flyingbook.mapper.LarkActiveMapper; +import com.ruoyi.flyingbook.mapper.LarkLoginLogMapper; +import com.ruoyi.flyingbook.mapper.LarkUserActiveCommentMapper; +import com.ruoyi.flyingbook.mapper.LarkUserActiveRelatoinMapper; +import com.ruoyi.flyingbook.service.ILarkLoginLogService; +import com.ruoyi.flyingbook.service.ILarkUserActiveCommentService; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2023-08-22 + */ +@Service +public class LarkUserActiveCommentServiceImpl implements ILarkUserActiveCommentService { + @Autowired + private LarkUserActiveCommentMapper larkUserActiveCommentMapper; + @Autowired + private LarkActiveMapper larkActiveMapper; + @Autowired + private LarkUserActiveRelatoinMapper larkUserActiveRelatoinMapper; + @Autowired + private ILarkLoginLogService larkLoginLogService; + + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】ID + * @return 【请填写功能名称】 + */ + @Override + public LarkUserActiveComment selectLarkUserActiveCommentById(Long id) { + return larkUserActiveCommentMapper.selectLarkUserActiveCommentById(id); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param larkUserActiveComment 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectLarkUserActiveCommentList(LarkUserActiveComment larkUserActiveComment) { + return larkUserActiveCommentMapper.selectLarkUserActiveCommentList(larkUserActiveComment); + } + + /** + * 新增【请填写功能名称】 + * + * @param larkUserActiveComment 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insertLarkUserActiveComment(LarkUserActiveComment larkUserActiveComment) { + larkUserActiveComment.setCreateTime(DateUtils.getNowDate()); + return larkUserActiveCommentMapper.insertLarkUserActiveComment(larkUserActiveComment); + } + + /** + * 修改【请填写功能名称】 + * + * @param larkUserActiveComment 【请填写功能名称】 + * @return 结果 + */ + @Override + public int updateLarkUserActiveComment(LarkUserActiveComment larkUserActiveComment) { + larkUserActiveComment.setUpdateTime(DateUtils.getNowDate()); + return larkUserActiveCommentMapper.updateLarkUserActiveComment(larkUserActiveComment); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的【请填写功能名称】ID + * @return 结果 + */ + @Override + public int deleteLarkUserActiveCommentByIds(Long[] ids) { + return larkUserActiveCommentMapper.deleteLarkUserActiveCommentByIds(ids); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param id 【请填写功能名称】ID + * @return 结果 + */ + @Override + public int deleteLarkUserActiveCommentById(Long id) { + return larkUserActiveCommentMapper.deleteLarkUserActiveCommentById(id); + } + + @Override + public ResponseVo comment(LarkActiveUserRelationRequest request) { + List larkActives = larkActiveMapper.selectLarkActiveByName(request.getLarkActiveName(), FlagStatus.OK.getCode()); + if (CollectionUtils.isEmpty(larkActives)) { + return new ResponseVo(); + } + LarkActive active = larkActives.get(0); + LarkUserActiveRelatoin relatoin = queryUserActiveRelation(request.getCompanyName(), request.getUserName(), active.getId()); + if (relatoin == null) { + return new ResponseVo(); + } + //创建评论 + buildComment(request, relatoin); + relatoin.setActiveStage(LarkActiveStageEnum.ADJUST.getCode()); + larkUserActiveRelatoinMapper.updateLarkUserActiveRelatoin(relatoin); + return new ResponseVo(); + } + + private void buildComment(LarkActiveUserRelationRequest request, LarkUserActiveRelatoin relatoin) { + LarkUserActiveComment larkUserActiveComment = new LarkUserActiveComment(); + larkUserActiveComment.setCreateTime(new Date()); + larkUserActiveComment.setCreateBy(request.getUserName()); + larkUserActiveComment.setUserActiveRelatoin(relatoin.getId()); + larkUserActiveComment.setContent(request.getComment()); + larkUserActiveComment.setFlag(FlagStatus.OK.getCode()); + larkUserActiveCommentMapper.insertLarkUserActiveComment(larkUserActiveComment); + } + + private LarkUserActiveRelatoin queryUserActiveRelation(String companyName, String userName, Long activeId) { + LarkUserActiveRelatoin relatoin = new LarkUserActiveRelatoin(); + relatoin.setUserName(userName); + relatoin.setActiveId(activeId); + relatoin.setFlag(FlagStatus.OK.getCode()); + List larkUserActiveRelatoins = larkUserActiveRelatoinMapper.selectLarkUserActiveRelatoinList(relatoin); + if (CollectionUtils.isNotEmpty(larkUserActiveRelatoins)) { + return larkUserActiveRelatoins.get(0); + } else { + relatoin.setCreateBy("System"); + relatoin.setCreateTime(new Date()); + relatoin.setActiveStage(LarkActiveStageEnum.SUBMIT.getCode()); + relatoin.setCompanyName(companyName); + larkUserActiveRelatoinMapper.insertLarkUserActiveRelatoin(relatoin); + return relatoin; + } + } + + @Override + public ResponseVo queryComment(LarkActiveUserRelationRequest request) { + ResponseVo responseVo = new ResponseVo(); + LarkUserActiveComment larkUserActiveComment = new LarkUserActiveComment(); + larkUserActiveComment.setFlag(FlagStatus.OK.getCode()); + List larkUserActiveComments = larkUserActiveCommentMapper.selectLarkUserActiveCommentList(larkUserActiveComment); + List userLarkRelationIdList = larkUserActiveComments.stream() + .filter(r -> { + return r.getUserActiveRelatoin() != null; + }) + .map(LarkUserActiveComment::getUserActiveRelatoin) + .distinct().collect(Collectors.toList()); + + Map userInfoMap = new HashMap<>(); + Map relationMap = new HashMap<>(); + if (CollectionUtils.isNotEmpty(userLarkRelationIdList)) { + List larkUserActiveRelatoins = larkUserActiveRelatoinMapper.queryByIdList(userLarkRelationIdList); + relationMap = larkUserActiveRelatoins.stream().collect(Collectors.toMap(LarkUserActiveRelatoin::getId, LarkUserActiveRelatoin::getUserName, (k1, k2) -> k1)); + List openIdList = larkUserActiveRelatoins.stream() + .filter(r -> { + return StringUtils.isNotBlank(r.getUserName()); + }).map(LarkUserActiveRelatoin::getUserName) + .distinct().collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(openIdList)) { + userInfoMap = larkLoginLogService.queryByOpenId(openIdList); + } + + } + Map finalRelationMap = relationMap; + Map finalUserInfoMap = userInfoMap; + List activeCommentVos = larkUserActiveComments.stream().map(r -> { + LarkActiveCommentVo larkActiveCommentVo = new LarkActiveCommentVo(); + BeanUtils.copyProperties(r, larkActiveCommentVo); + Long userActiveRelatoin = r.getUserActiveRelatoin(); + String openId = finalRelationMap.get(userActiveRelatoin); + if (StringUtils.isNotBlank(openId)) { + LarkLoginLog userInfo = finalUserInfoMap.getOrDefault(openId, new LarkLoginLog()); + larkActiveCommentVo.setUserName(userInfo.getUserName()); + larkActiveCommentVo.setImage(userInfo.getImageUrl()); + } + return larkActiveCommentVo; + }).collect(Collectors.toList()); + responseVo.setDataList(activeCommentVos); + return responseVo; + } + +} diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveInviteRelatoinServiceImpl.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveInviteRelatoinServiceImpl.java index 4dde794..cdd2c04 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveInviteRelatoinServiceImpl.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveInviteRelatoinServiceImpl.java @@ -3,14 +3,19 @@ package com.ruoyi.flyingbook.service.impl; import com.ruoyi.common.enums.FlagStatus; import com.ruoyi.common.enums.LarkActiveInviteStageEnum; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.flyingbook.domain.LarkLoginLog; import com.ruoyi.flyingbook.domain.LarkUserActiveInviteRelatoin; import com.ruoyi.flyingbook.domain.larkactive.LarkInviteVo; +import com.ruoyi.flyingbook.mapper.LarkLoginLogMapper; import com.ruoyi.flyingbook.mapper.LarkUserActiveInviteRelatoinMapper; +import com.ruoyi.flyingbook.service.ILarkLoginLogService; import com.ruoyi.flyingbook.service.ILarkUserActiveInviteRelatoinService; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -23,6 +28,8 @@ import java.util.stream.Collectors; public class LarkUserActiveInviteRelatoinServiceImpl implements ILarkUserActiveInviteRelatoinService { @Autowired private LarkUserActiveInviteRelatoinMapper larkUserActiveInviteRelatoinMapper; + @Autowired + private ILarkLoginLogService larkLoginLogService; /** * 查询【请填写功能名称】 @@ -47,28 +54,61 @@ public class LarkUserActiveInviteRelatoinServiceImpl implements ILarkUserActiveI } @Override - public List queryTopTen(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin) { + public List queryTopTen(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin) { larkUserActiveInviteRelatoin.setFlag(FlagStatus.OK.getCode()); larkUserActiveInviteRelatoin.setInviteStage(LarkActiveInviteStageEnum.ACTIVE.getCode()); - return larkUserActiveInviteRelatoinMapper.queryTopTen(larkUserActiveInviteRelatoin); + List larkUserActiveInviteRelatoins = larkUserActiveInviteRelatoinMapper.queryTopTen(larkUserActiveInviteRelatoin); + Map userInfoMap = queryUserInfoMap(larkUserActiveInviteRelatoins); + List result = larkUserActiveInviteRelatoins.stream() + .filter(r -> { + return userInfoMap.containsKey(r.getUserName()); + }) + .map(r -> { + LarkInviteVo larkInviteVo = new LarkInviteVo(); + String userName = r.getUserName(); + LarkLoginLog larkLoginLog = userInfoMap.get(userName); + larkInviteVo.setUrl(larkLoginLog.getImageUrl()); + larkInviteVo.setText(larkLoginLog.getUserName()); + return larkInviteVo; + }).collect(Collectors.toList()); + return result; } @Override public List queryMyInviteList(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin) { larkUserActiveInviteRelatoin.setFlag(FlagStatus.OK.getCode()); List larkUserActiveInviteRelatoins = larkUserActiveInviteRelatoinMapper.selectLarkUserActiveInviteRelatoinList(larkUserActiveInviteRelatoin); + Map userInfoMap = queryUserInfoMap(larkUserActiveInviteRelatoins); List result = larkUserActiveInviteRelatoins.stream().map(r -> { LarkInviteVo larkInviteVo = new LarkInviteVo(); - larkInviteVo.setUrl(r.getInviteUserName()); - larkInviteVo.setText(r.getUserName()); + String inviteUserName = r.getInviteUserName(); + LarkLoginLog larkLoginLog = userInfoMap.get(inviteUserName); + if (larkLoginLog != null) { + larkInviteVo.setUrl(larkLoginLog.getImageUrl()); + larkInviteVo.setText(larkLoginLog.getUserName()); + } else { + larkInviteVo.setText(r.getRemark()); + } LarkActiveInviteStageEnum inviteStageEnum = LarkActiveInviteStageEnum.getByCode(r.getInviteStage()); - larkInviteVo.setType(inviteStageEnum != null ? inviteStageEnum.getType() : "primary"); return larkInviteVo; }).collect(Collectors.toList()); return result; } + private Map queryUserInfoMap(List larkUserActiveInviteRelatoins) { + if (CollectionUtils.isEmpty(larkUserActiveInviteRelatoins)) { + return new HashMap<>(); + } + List openIdList = larkUserActiveInviteRelatoins.stream() + .filter(r -> { + return StringUtils.isNotBlank(r.getInviteUserName()); + }) + .map(LarkUserActiveInviteRelatoin::getInviteUserName) + .distinct().collect(Collectors.toList()); + return larkLoginLogService.queryByOpenId(openIdList); + } + /** * 新增【请填写功能名称】 * @@ -81,6 +121,42 @@ public class LarkUserActiveInviteRelatoinServiceImpl implements ILarkUserActiveI return larkUserActiveInviteRelatoinMapper.insertLarkUserActiveInviteRelatoin(larkUserActiveInviteRelatoin); } + @Override + public void create(LarkUserActiveInviteRelatoin request) { + Boolean exist = queryExist(request.getUserName(), request.getInviteUserName(), request.getCompanyName()); + if (exist) { + return; + } + LarkUserActiveInviteRelatoin relation = new LarkUserActiveInviteRelatoin(); + relation.setUserName(request.getUserName()); + relation.setInviteUserName(request.getInviteUserName()); + relation.setCreateTime(new Date()); + relation.setCreateBy(request.getUserName()); + relation.setInviteStage(LarkActiveInviteStageEnum.INVITE.getCode()); + relation.setCompanyName(request.getCompanyName()); + relation.setFlag(FlagStatus.OK.getCode()); + larkUserActiveInviteRelatoinMapper.insertLarkUserActiveInviteRelatoin(relation); + } + + private Boolean queryExist(String userName, String inviteUserName, String companyName) { + LarkUserActiveInviteRelatoin relation = new LarkUserActiveInviteRelatoin(); + relation.setUserName(userName); + relation.setInviteUserName(inviteUserName); + relation.setCompanyName(companyName); + List larkUserActiveInviteRelatoins = larkUserActiveInviteRelatoinMapper.selectLarkUserActiveInviteRelatoinList(relation); + if (CollectionUtils.isNotEmpty(larkUserActiveInviteRelatoins)) { + return Boolean.TRUE; + } + relation.setUserName(inviteUserName); + relation.setInviteUserName(userName); + larkUserActiveInviteRelatoins = larkUserActiveInviteRelatoinMapper.selectLarkUserActiveInviteRelatoinList(relation); + if (CollectionUtils.isNotEmpty(larkUserActiveInviteRelatoins)) { + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + /** * 修改【请填写功能名称】 * diff --git a/ruoyi-flyingbook/src/main/resources/mapper/LarkLoginLogMapper.xml b/ruoyi-flyingbook/src/main/resources/mapper/LarkLoginLogMapper.xml index f361f5c..c6f2006 100644 --- a/ruoyi-flyingbook/src/main/resources/mapper/LarkLoginLogMapper.xml +++ b/ruoyi-flyingbook/src/main/resources/mapper/LarkLoginLogMapper.xml @@ -50,6 +50,16 @@ + + + + + and user_active_relatoin = #{userActiveRelatoin} + and content = #{content} + and flag = #{flag} + + + + + + + insert into lark_user_active_comment + + user_active_relatoin, + content, + create_by, + create_time, + update_by, + update_time, + flag, + remark, + + + #{userActiveRelatoin}, + #{content}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{flag}, + #{remark}, + + + + + update lark_user_active_comment + + user_active_relatoin = #{userActiveRelatoin}, + content = #{content}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + flag = #{flag}, + remark = #{remark}, + + where id = #{id} + + + + delete from lark_user_active_comment where id = #{id} + + + + delete from lark_user_active_comment where id in + + #{id} + + + \ No newline at end of file diff --git a/ruoyi-flyingbook/src/main/resources/mapper/LarkUserActiveRelatoinMapper.xml b/ruoyi-flyingbook/src/main/resources/mapper/LarkUserActiveRelatoinMapper.xml index 9580e4d..c7c3288 100644 --- a/ruoyi-flyingbook/src/main/resources/mapper/LarkUserActiveRelatoinMapper.xml +++ b/ruoyi-flyingbook/src/main/resources/mapper/LarkUserActiveRelatoinMapper.xml @@ -50,6 +50,15 @@ + +