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 a3a64e4..1955b5c 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 @@ -2,18 +2,14 @@ package com.ruoyi.flyingbook.controller; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.support.ExcelTypeEnum; -import com.lark.oapi.service.authen.v1.model.CreateAccessTokenRespBody; import com.lark.oapi.service.contact.v3.model.GetUserRespBody; import com.lark.oapi.service.contact.v3.model.User; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.enums.FlagStatus; import com.ruoyi.common.enums.LarkUserTypeEnum; import com.ruoyi.common.utils.ExportUtils; import com.ruoyi.common.utils.excelStrategy.CustomMergeStrategy; import com.ruoyi.flyingbook.CosHelper.CosHelper; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.enums.FlagStatus; -import com.ruoyi.common.enums.LarkActiveInviteStageEnum; -import com.ruoyi.common.enums.LarkActiveStageEnum; -import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.flyingbook.LarkHelper.LarkUserHelper; import com.ruoyi.flyingbook.domain.LarkActive; import com.ruoyi.flyingbook.domain.LarkLoginLog; @@ -26,12 +22,12 @@ import com.ruoyi.flyingbook.service.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.util.*; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; @Slf4j @RestController @@ -105,14 +101,6 @@ public class LarkActiveController extends BaseController { return larkUserActiveRelatoinService.commitFile(request); } - /** - * 上传活动图片 - */ - @PostMapping("/submit") - public ResponseVo submit(@RequestBody LarkActiveUserRelationRequest request) { - return larkUserActiveRelatoinService.commitFile(request); - } - /** * 上传活动图片 */ @@ -152,8 +140,12 @@ public class LarkActiveController extends BaseController { */ @PostMapping("/inviteUser") public ResponseVo inviteUser(@RequestBody LarkUserActiveInviteRelatoin request) { + ResponseVo responseVo = new ResponseVo(); + if (request.getUserName().equals(request.getInviteUserName())){ + return responseVo; + } larkUserActiveInviteRelatoinService.create(request); - return new ResponseVo(); + return responseVo; } /** diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveInviteRelatoinMapper.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveInviteRelatoinMapper.java index 1dee077..07f79f8 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveInviteRelatoinMapper.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/mapper/LarkUserActiveInviteRelatoinMapper.java @@ -1,6 +1,7 @@ package com.ruoyi.flyingbook.mapper; import com.ruoyi.flyingbook.domain.LarkUserActiveInviteRelatoin; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -26,7 +27,8 @@ public interface LarkUserActiveInviteRelatoinMapper { * @return 【请填写功能名称】集合 */ public List selectLarkUserActiveInviteRelatoinList(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin); - + public List queryByInviteList(@Param("inviteList") List inviteList,@Param("flag") Long flag,@Param("inviteStage") String inviteStage); + public int updateStage(@Param("idList") List idList,@Param("inviteStage") String inviteStage); public List queryTopTen(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin); /** 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 aeebe3f..f199466 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 @@ -33,6 +33,8 @@ public interface ILarkUserActiveInviteRelatoinService { public List queryMyInviteList(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin); + public void inviteSuccess(List openId); + /** * 新增【请填写功能名称】 * 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 index 1508289..fce2ad8 100644 --- 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 @@ -16,6 +16,7 @@ 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 com.ruoyi.flyingbook.service.ILarkUserActiveInviteRelatoinService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -23,10 +24,7 @@ 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.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -46,6 +44,8 @@ public class LarkUserActiveCommentServiceImpl implements ILarkUserActiveCommentS private LarkUserActiveRelatoinMapper larkUserActiveRelatoinMapper; @Autowired private ILarkLoginLogService larkLoginLogService; + @Autowired + private ILarkUserActiveInviteRelatoinService larkUserActiveInviteRelatoinService; /** * 查询【请填写功能名称】 @@ -131,6 +131,7 @@ public class LarkUserActiveCommentServiceImpl implements ILarkUserActiveCommentS if (i >= active.getActiveImageCount()) { relatoin.setActiveStage(LarkActiveStageEnum.ADJUST.getCode()); larkUserActiveRelatoinMapper.updateLarkUserActiveRelatoin(relatoin); + larkUserActiveInviteRelatoinService.inviteSuccess(Arrays.asList(request.getUserName())); } return new 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 cdd2c04..664d6dd 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 @@ -74,6 +74,20 @@ public class LarkUserActiveInviteRelatoinServiceImpl implements ILarkUserActiveI return result; } + @Override + public void inviteSuccess(List openId) { + if (CollectionUtils.isEmpty(openId)){ + return; + } + List larkUserActiveInviteRelatoins = larkUserActiveInviteRelatoinMapper.queryByInviteList(openId, FlagStatus.OK.getCode(), LarkActiveInviteStageEnum.INVITE.getCode()); + + List idList = larkUserActiveInviteRelatoins.stream().map(LarkUserActiveInviteRelatoin::getId).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(idList)){ + return; + } + larkUserActiveInviteRelatoinMapper.updateStage(idList,LarkActiveInviteStageEnum.ACTIVE.getCode()); + } + @Override public List queryMyInviteList(LarkUserActiveInviteRelatoin larkUserActiveInviteRelatoin) { larkUserActiveInviteRelatoin.setFlag(FlagStatus.OK.getCode()); diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveRelatoinServiceImpl.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveRelatoinServiceImpl.java index 11632c3..7dd5e8c 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveRelatoinServiceImpl.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/service/impl/LarkUserActiveRelatoinServiceImpl.java @@ -19,6 +19,7 @@ import com.ruoyi.flyingbook.mapper.LarkActiveMapper; import com.ruoyi.flyingbook.mapper.LarkLoginLogMapper; import com.ruoyi.flyingbook.mapper.LarkUserActiveImageMapper; import com.ruoyi.flyingbook.mapper.LarkUserActiveRelatoinMapper; +import com.ruoyi.flyingbook.service.ILarkUserActiveInviteRelatoinService; import com.ruoyi.flyingbook.service.ILarkUserActiveRelatoinService; import org.apache.commons.codec.binary.Base64; import org.apache.commons.collections4.CollectionUtils; @@ -31,6 +32,7 @@ import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; @@ -54,6 +56,8 @@ public class LarkUserActiveRelatoinServiceImpl implements ILarkUserActiveRelatoi private LarkUserActiveImageMapper larkUserActiveImageMapper; @Autowired private LarkLoginLogMapper larkLoginLogMapper; + @Autowired + private ILarkUserActiveInviteRelatoinService larkUserActiveInviteRelatoinService; private static final String BUCKET_NAME = "ruoyi-1308275795"; @@ -201,7 +205,7 @@ public class LarkUserActiveRelatoinServiceImpl implements ILarkUserActiveRelatoi if (relatoin == null) { return new ResponseVo(); } - Integer totalCount = userActiveCount(relatoin) + 1; + Integer totalCount = userActiveCount(relatoin,request.getImageBase64()) + 1; LarkActive larkActive = larkActiveMapper.selectLarkActiveById(relatoin.getActiveId()); if (StringUtils.isNotBlank(request.getImageBase64())) { File file = base642File(request.getImageBase64()); @@ -218,6 +222,7 @@ public class LarkUserActiveRelatoinServiceImpl implements ILarkUserActiveRelatoi if (totalCount >= larkActive.getActiveImageCount()) { relatoin.setActiveStage(LarkActiveStageEnum.ADJUST.getCode()); larkUserActiveRelatoinMapper.updateLarkUserActiveRelatoin(relatoin); + larkUserActiveInviteRelatoinService.inviteSuccess(Arrays.asList(request.getUserName())); } return new ResponseVo(); } @@ -253,11 +258,22 @@ public class LarkUserActiveRelatoinServiceImpl implements ILarkUserActiveRelatoi larkUserActiveImageMapper.insertLarkUserActiveImage(larkUserActiveImage); } - private Integer userActiveCount(LarkUserActiveRelatoin relatoin) { + private Integer userActiveCount(LarkUserActiveRelatoin relatoin,String image) { LarkUserActiveImage larkUserActiveImage = new LarkUserActiveImage(); larkUserActiveImage.setUserActiveRelatoin(relatoin.getId()); larkUserActiveImage.setFlag(FlagStatus.OK.getCode()); - return larkUserActiveImageMapper.selectLarkUserActiveImageList(larkUserActiveImage).size(); + List larkUserActiveImages = larkUserActiveImageMapper.selectLarkUserActiveImageList(larkUserActiveImage); + if (StringUtils.isNotBlank(image)) { + return larkUserActiveImages.size(); + }else { + List collect = larkUserActiveImages.stream() + .filter(r -> { + return StringUtils.isNotBlank(r.getRemark()); + }) + .map(LarkUserActiveImage::getRemark) + .distinct().collect(Collectors.toList()); + return collect.size(); + } } private LarkUserActiveRelatoin queryUserActiveRelation(String companyName,String userName, Long activeId) { diff --git a/ruoyi-flyingbook/src/main/resources/mapper/LarkUserActiveInviteRelatoinMapper.xml b/ruoyi-flyingbook/src/main/resources/mapper/LarkUserActiveInviteRelatoinMapper.xml index 62b4730..ca9b8a2 100644 --- a/ruoyi-flyingbook/src/main/resources/mapper/LarkUserActiveInviteRelatoinMapper.xml +++ b/ruoyi-flyingbook/src/main/resources/mapper/LarkUserActiveInviteRelatoinMapper.xml @@ -58,7 +58,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} - + + insert into lark_user_active_invite_relatoin @@ -106,6 +111,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + update lark_user_active_invite_relatoin set invite_stage = #{inviteStage} + where id in (#{item}) + delete from lark_user_active_invite_relatoin where id = #{id}