From 4cf5eb53dfc371a72a9e00f23017758a70d82563 Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Wed, 19 May 2021 16:17:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E7=BD=AE=E9=A1=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/EpdcImgConfigResultDTO.java | 4 +++ .../elink/esua/epdc/activity/ActInfoDTO.java | 20 +++++++++++ .../epdc/activity/form/ActTopFormDTO.java | 33 +++++++++++++++++++ .../activity/result/ActInfoAppResultDTO.java | 2 +- .../activity/result/ActInfoResultDTO.java | 20 +++++++++++ .../controller/ActInfoController.java | 15 ++++++++- .../epdc/modules/activity/dao/ActInfoDao.java | 9 +++++ .../activity/entity/ActInfoEntity.java | 19 +++++++++++ .../activity/service/ActInfoService.java | 9 +++++ .../service/impl/ActInfoServiceImpl.java | 17 ++++++++++ .../resources/mapper/activity/ActInfoDao.xml | 30 ++++++++++++++--- 11 files changed, 172 insertions(+), 6 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/ActTopFormDTO.java diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcImgConfigResultDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcImgConfigResultDTO.java index 3f0f0c6d..6bb5d342 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcImgConfigResultDTO.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcImgConfigResultDTO.java @@ -34,4 +34,8 @@ public class EpdcImgConfigResultDTO implements Serializable { * 备注 */ private String remark; + /** + * 排序 + */ + private Integer sort; } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActInfoDTO.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActInfoDTO.java index 2dfe2392..1a4cff68 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActInfoDTO.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActInfoDTO.java @@ -229,4 +229,24 @@ public class ActInfoDTO implements Serializable { * 公益时长 */ private Integer kindnessTime; + /** + * 置顶标识 + */ + private Integer topFlag; + + + /** + * 置顶时间 + */ + private String topTime; + + /** + * 置顶人ID + */ + private String topUserId; + + /** + * 置顶人 + */ + private String topUserName; } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/ActTopFormDTO.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/ActTopFormDTO.java new file mode 100644 index 00000000..93e8bdab --- /dev/null +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/ActTopFormDTO.java @@ -0,0 +1,33 @@ +package com.elink.esua.epdc.activity.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +@Data +public class ActTopFormDTO implements Serializable { + private static final long serialVersionUID = 8832682452577223909L; + + /** + * 项目ID + */ + @NotBlank(message = "活动ID不能为空") + private String actId; + + /** + * 置顶标识:0-取消置顶,1-置顶 + */ + @NotBlank(message = "置顶标识不能为空") + private String topFlag; + + /** + * 置顶人ID + */ + private String topUserId; + + /** + * 置顶人 + */ + private String topUserName; +} diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoAppResultDTO.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoAppResultDTO.java index a3f99133..51ecbcbc 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoAppResultDTO.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoAppResultDTO.java @@ -101,5 +101,5 @@ public class ActInfoAppResultDTO implements Serializable { private String actQuotaCategory; - + private Integer topFlag; } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoResultDTO.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoResultDTO.java index 8623a50b..0cd90fad 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoResultDTO.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoResultDTO.java @@ -204,5 +204,25 @@ public class ActInfoResultDTO implements Serializable { */ private String cancelReason; + /** + * 置顶标识 + */ + private Integer topFlag; + + /** + * 置顶时间 + */ + private String topTime; + + /** + * 置顶人ID + */ + private String topUserId; + + /** + * 置顶人 + */ + private String topUserName; + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActInfoController.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActInfoController.java index ccda72d3..9050fea9 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActInfoController.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActInfoController.java @@ -19,6 +19,7 @@ package com.elink.esua.epdc.modules.activity.controller; import com.elink.esua.epdc.activity.ActInfoDTO; import com.elink.esua.epdc.activity.form.ActInfoFormDTO; +import com.elink.esua.epdc.activity.form.ActTopFormDTO; import com.elink.esua.epdc.activity.result.ActInfoResultDTO; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; @@ -30,6 +31,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.constant.ActStateConstant; +import com.elink.esua.epdc.dto.item.ItemTopFormDTO; import com.elink.esua.epdc.modules.activity.excel.ActInfoExcel; import com.elink.esua.epdc.modules.activity.service.ActInfoService; import org.springframework.beans.factory.annotation.Autowired; @@ -123,5 +125,16 @@ public class ActInfoController { List list = actInfoService.list(params); ExcelUtils.exportExcelToTarget(response, null, list, ActInfoExcel.class); } - + /** + * @Description 置顶或取消置顶 + * @Author songyunpeng + * @Date 2021/5/18 + * @Param [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @PostMapping("top") + public Result actTop(@RequestBody ActTopFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return actInfoService.modifyActTopFlag(formDto); + } } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java index bb153987..877159e4 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java @@ -20,6 +20,7 @@ package com.elink.esua.epdc.modules.activity.dao; import com.elink.esua.epdc.activity.ActInfoDTO; import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; import com.elink.esua.epdc.activity.form.ActSignInListFormDTO; +import com.elink.esua.epdc.activity.form.ActTopFormDTO; import com.elink.esua.epdc.activity.result.*; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.modules.activity.entity.ActInfoEntity; @@ -141,4 +142,12 @@ public interface ActInfoDao extends BaseDao { * @since 2021/2/24 14:07 */ List selectListSignInActs(ActSignInListFormDTO formDto); + /** + * @Description 置顶或取消置顶 + * @Author songyunpeng + * @Date 2021/5/18 + * @Param [formDto] + * @return void + **/ + void updateActTopFlagById(ActTopFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActInfoEntity.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActInfoEntity.java index f76f2b29..a7ae378e 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActInfoEntity.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActInfoEntity.java @@ -210,4 +210,23 @@ public class ActInfoEntity extends BaseEpdcEntity { * 公益时长 */ private Integer kindnessTime; + /** + * 置顶标识 + */ + private Integer topFlag; + + /** + * 置顶时间 + */ + private String topTime; + + /** + * 置顶人ID + */ + private String topUserId; + + /** + * 置顶人 + */ + private String topUserName; } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActInfoService.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActInfoService.java index 7d7ddfbf..ce95f05b 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActInfoService.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActInfoService.java @@ -21,6 +21,7 @@ import com.elink.esua.epdc.activity.ActInfoDTO; import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; import com.elink.esua.epdc.activity.form.ActInfoFormDTO; import com.elink.esua.epdc.activity.form.ActSignInListFormDTO; +import com.elink.esua.epdc.activity.form.ActTopFormDTO; import com.elink.esua.epdc.activity.result.ActInfoAppResultDTO; import com.elink.esua.epdc.activity.result.ActInfoDetailAppResultDTO; import com.elink.esua.epdc.activity.result.ActInfoResultDTO; @@ -236,4 +237,12 @@ public interface ActInfoService extends BaseService { * @since 2021/2/24 14:04 */ List listOfSignInActs(ActSignInListFormDTO formDto); + /** + * @Description 置顶或取消置顶 + * @Author songyunpeng + * @Date 2021/5/18 + * @Param [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + Result modifyActTopFlag(ActTopFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java index 1a62fd63..6de99ed6 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java @@ -26,11 +26,13 @@ import com.elink.esua.epdc.activity.ActUserRelationDTO; import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; import com.elink.esua.epdc.activity.form.ActInfoFormDTO; import com.elink.esua.epdc.activity.form.ActSignInListFormDTO; +import com.elink.esua.epdc.activity.form.ActTopFormDTO; import com.elink.esua.epdc.activity.result.*; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.constant.StrConstant; +import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.security.content.CheckDataUtils; import com.elink.esua.epdc.commons.tools.security.content.ModuleName; @@ -39,6 +41,7 @@ import com.elink.esua.epdc.commons.tools.security.content.dto.form.SaveCheckReco import com.elink.esua.epdc.commons.tools.security.content.dto.result.CheckResultDTO; import com.elink.esua.epdc.commons.tools.security.content.dto.result.CheckResultMessageDTO; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; +import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.DateUtils; import com.elink.esua.epdc.commons.tools.utils.LocalDateUtils; @@ -755,4 +758,18 @@ public class ActInfoServiceImpl extends BaseServiceImpl + + + + @@ -167,7 +176,8 @@ when #{timestamp} then '4' end as actCurrentState, - IF(relation.USER_ID = #{userId},'1','0') as signupFlag,actInfo.CREATED_TIME + IF(relation.USER_ID = #{userId},'1','0') as signupFlag,actInfo.CREATED_TIME, + actInfo.TOP_FLAG FROM epdc_act_info actInfo left join epdc_act_user_relation relation on relation.DEL_FLAG = '0' @@ -185,7 +195,7 @@ #{timestamp} ) temp - ORDER BY temp.actCurrentState ASC,temp.CREATED_TIME desc + ORDER BY temp.TOP_FLAG desc,temp.actCurrentState ASC,temp.CREATED_TIME desc ,temp.PUBLISH_TIME DESC ,temp.ACT_START_TIME ASC LIMIT #{pageIndex},#{pageSize} @@ -222,7 +232,8 @@ then '4' end as actCurrentState, IF(clock.clockCount is not null ,'1','0') as signupFlag, - relation.ID as actUserId + relation.ID as actUserId, + actInfo.TOP_FLAG FROM epdc_act_info actInfo left join epdc_act_user_relation relation on relation.DEL_FLAG = '0' @@ -252,6 +263,7 @@ and actInfo.ACT_STATUS = '1' ORDER BY + actInfo.TOP_FLAG, relation.SIGNUP_TIME DESC LIMIT #{pageIndex},#{pageSize} @@ -518,6 +530,16 @@ UPDATE epdc_act_info SET DEL_FLAG = 1,UPDATED_TIME=NOW() where id=#{relationId} + + UPDATE epdc_act_info SET TOP_FLAG = #{topFlag}, TOP_USER_ID = #{topUserId}, TOP_USER_NAME = #{topUserName} + + , TOP_TIME = NULL + + + , TOP_TIME = NOW() + + WHERE ID = #{actId} +