Browse Source

活动置顶

feature/screenDataPush
songyunpeng 5 years ago
parent
commit
4cf5eb53df
  1. 4
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcImgConfigResultDTO.java
  2. 20
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActInfoDTO.java
  3. 33
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/ActTopFormDTO.java
  4. 2
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoAppResultDTO.java
  5. 20
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoResultDTO.java
  6. 15
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActInfoController.java
  7. 9
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java
  8. 19
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActInfoEntity.java
  9. 9
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActInfoService.java
  10. 17
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java
  11. 30
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml

4
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 String remark;
/**
* 排序
*/
private Integer sort;
} }

20
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 kindnessTime;
/**
* 置顶标识
*/
private Integer topFlag;
/**
* 置顶时间
*/
private String topTime;
/**
* 置顶人ID
*/
private String topUserId;
/**
* 置顶人
*/
private String topUserName;
} }

33
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;
}

2
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 String actQuotaCategory;
private Integer topFlag;
} }

20
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 String cancelReason;
/**
* 置顶标识
*/
private Integer topFlag;
/**
* 置顶时间
*/
private String topTime;
/**
* 置顶人ID
*/
private String topUserId;
/**
* 置顶人
*/
private String topUserName;
} }

15
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.ActInfoDTO;
import com.elink.esua.epdc.activity.form.ActInfoFormDTO; 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.activity.result.ActInfoResultDTO;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; 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.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.constant.ActStateConstant; 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.excel.ActInfoExcel;
import com.elink.esua.epdc.modules.activity.service.ActInfoService; import com.elink.esua.epdc.modules.activity.service.ActInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -123,5 +125,16 @@ public class ActInfoController {
List<ActInfoDTO> list = actInfoService.list(params); List<ActInfoDTO> list = actInfoService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, ActInfoExcel.class); 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);
}
} }

9
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.ActInfoDTO;
import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO;
import com.elink.esua.epdc.activity.form.ActSignInListFormDTO; 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.activity.result.*;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.activity.entity.ActInfoEntity; import com.elink.esua.epdc.modules.activity.entity.ActInfoEntity;
@ -141,4 +142,12 @@ public interface ActInfoDao extends BaseDao<ActInfoEntity> {
* @since 2021/2/24 14:07 * @since 2021/2/24 14:07
*/ */
List<ActSignInListResultDTO> selectListSignInActs(ActSignInListFormDTO formDto); List<ActSignInListResultDTO> selectListSignInActs(ActSignInListFormDTO formDto);
/**
* @Description 置顶或取消置顶
* @Author songyunpeng
* @Date 2021/5/18
* @Param [formDto]
* @return void
**/
void updateActTopFlagById(ActTopFormDTO formDto);
} }

19
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 kindnessTime;
/**
* 置顶标识
*/
private Integer topFlag;
/**
* 置顶时间
*/
private String topTime;
/**
* 置顶人ID
*/
private String topUserId;
/**
* 置顶人
*/
private String topUserName;
} }

9
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.ActInfoAppFormDTO;
import com.elink.esua.epdc.activity.form.ActInfoFormDTO; import com.elink.esua.epdc.activity.form.ActInfoFormDTO;
import com.elink.esua.epdc.activity.form.ActSignInListFormDTO; 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.ActInfoAppResultDTO;
import com.elink.esua.epdc.activity.result.ActInfoDetailAppResultDTO; import com.elink.esua.epdc.activity.result.ActInfoDetailAppResultDTO;
import com.elink.esua.epdc.activity.result.ActInfoResultDTO; import com.elink.esua.epdc.activity.result.ActInfoResultDTO;
@ -236,4 +237,12 @@ public interface ActInfoService extends BaseService<ActInfoEntity> {
* @since 2021/2/24 14:04 * @since 2021/2/24 14:04
*/ */
List<ActSignInListResultDTO> listOfSignInActs(ActSignInListFormDTO formDto); List<ActSignInListResultDTO> 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);
} }

17
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.ActInfoAppFormDTO;
import com.elink.esua.epdc.activity.form.ActInfoFormDTO; import com.elink.esua.epdc.activity.form.ActInfoFormDTO;
import com.elink.esua.epdc.activity.form.ActSignInListFormDTO; 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.activity.result.*;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; 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.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant; 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.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.page.PageData;
import com.elink.esua.epdc.commons.tools.security.content.CheckDataUtils; import com.elink.esua.epdc.commons.tools.security.content.CheckDataUtils;
import com.elink.esua.epdc.commons.tools.security.content.ModuleName; 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.CheckResultDTO;
import com.elink.esua.epdc.commons.tools.security.content.dto.result.CheckResultMessageDTO; 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.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.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.DateUtils; import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.LocalDateUtils; import com.elink.esua.epdc.commons.tools.utils.LocalDateUtils;
@ -755,4 +758,18 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
return baseDao.selectListSignInActs(formDto); return baseDao.selectListSignInActs(formDto);
} }
@Override
public Result modifyActTopFlag(ActTopFormDTO formDto) {
UserDetail user = SecurityUser.getUser();
if (null == user) {
throw new RenException("登陆信息已过期,请退出重新登陆");
}
formDto.setTopUserId(user.getId() == null ? "":user.getId().toString());
formDto.setTopUserName(user.getUsername());
// 更新项目置顶状态
baseDao.updateActTopFlagById(formDto);
return new Result();
}
} }

30
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml

@ -77,6 +77,10 @@
<result property="punishmentPoints" column="PUNISHMENT_POINTS"/> <result property="punishmentPoints" column="PUNISHMENT_POINTS"/>
<result property="reward" column="REWARD"/> <result property="reward" column="REWARD"/>
<result property="actUserDefaultState" column="ACT_USER_DEFAULT_STATE"/> <result property="actUserDefaultState" column="ACT_USER_DEFAULT_STATE"/>
<result property="topFlag" column="TOP_FLAG"/>
<result property="topTime" column="TOP_TIME"/>
<result property="topUserId" column="TOP_USER_ID"/>
<result property="topUserName" column="TOP_USER_NAME"/>
</resultMap> </resultMap>
<select id="getActInfoPageFromPC" resultMap="actResultMap"> <select id="getActInfoPageFromPC" resultMap="actResultMap">
SELECT SELECT
@ -113,7 +117,11 @@
actInfo.DEPT_ID, actInfo.DEPT_ID,
actInfo.PUNISHMENT_POINTS, actInfo.PUNISHMENT_POINTS,
actInfo.REWARD, actInfo.REWARD,
actInfo.ACT_USER_DEFAULT_STATE actInfo.ACT_USER_DEFAULT_STATE,
actInfo.TOP_FLAG,
actInfo.TOP_TIME,
actInfo.TOP_USER_ID,
actInfo.TOP_USER_NAME
FROM FROM
epdc_act_info actInfo epdc_act_info actInfo
WHERE WHERE
@ -128,6 +136,7 @@
AND actInfo.ACT_STATUS = #{actStatus} AND actInfo.ACT_STATUS = #{actStatus}
</if> </if>
ORDER BY ORDER BY
actInfo.TOP_FLAG desc,
actInfo.CREATED_TIME DESC actInfo.CREATED_TIME DESC
</select> </select>
<resultMap type="com.elink.esua.epdc.activity.result.ActInfoAppResultDTO" id="actAppResultMap"> <resultMap type="com.elink.esua.epdc.activity.result.ActInfoAppResultDTO" id="actAppResultMap">
@ -167,7 +176,8 @@
when <![CDATA[ DATE_FORMAT(actInfo.ACT_END_TIME,'%Y-%m-%d %H:%i:%s') < ]]> #{timestamp} when <![CDATA[ DATE_FORMAT(actInfo.ACT_END_TIME,'%Y-%m-%d %H:%i:%s') < ]]> #{timestamp}
then '4' then '4'
end as actCurrentState, 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 FROM
epdc_act_info actInfo epdc_act_info actInfo
left join epdc_act_user_relation relation on relation.DEL_FLAG = '0' left join epdc_act_user_relation relation on relation.DEL_FLAG = '0'
@ -185,7 +195,7 @@
<![CDATA[ AND DATE_FORMAT(actInfo.SIGNUP_END_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp} <![CDATA[ AND DATE_FORMAT(actInfo.SIGNUP_END_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
</if> </if>
) temp ) temp
ORDER BY temp.actCurrentState ASC,temp.CREATED_TIME desc ORDER BY temp.TOP_FLAG desc,temp.actCurrentState ASC,temp.CREATED_TIME desc
<if test='actType != null and actType != "" and actType == "0"'>,temp.PUBLISH_TIME DESC</if> <if test='actType != null and actType != "" and actType == "0"'>,temp.PUBLISH_TIME DESC</if>
<if test='actType != null and actType != "" and actType == "1"'>,temp.ACT_START_TIME ASC</if> <if test='actType != null and actType != "" and actType == "1"'>,temp.ACT_START_TIME ASC</if>
LIMIT #{pageIndex},#{pageSize} LIMIT #{pageIndex},#{pageSize}
@ -222,7 +232,8 @@
then '4' then '4'
end as actCurrentState, end as actCurrentState,
IF(clock.clockCount is not null ,'1','0') as signupFlag, IF(clock.clockCount is not null ,'1','0') as signupFlag,
relation.ID as actUserId relation.ID as actUserId,
actInfo.TOP_FLAG
FROM FROM
epdc_act_info actInfo epdc_act_info actInfo
left join epdc_act_user_relation relation on relation.DEL_FLAG = '0' left join epdc_act_user_relation relation on relation.DEL_FLAG = '0'
@ -252,6 +263,7 @@
and actInfo.ACT_STATUS = '1' and actInfo.ACT_STATUS = '1'
</if> </if>
ORDER BY ORDER BY
actInfo.TOP_FLAG,
relation.SIGNUP_TIME DESC relation.SIGNUP_TIME DESC
LIMIT #{pageIndex},#{pageSize} LIMIT #{pageIndex},#{pageSize}
</select> </select>
@ -518,6 +530,16 @@
UPDATE epdc_act_info SET DEL_FLAG = 1,UPDATED_TIME=NOW() UPDATE epdc_act_info SET DEL_FLAG = 1,UPDATED_TIME=NOW()
where id=#{relationId} where id=#{relationId}
</update> </update>
<update id="updateActTopFlagById">
UPDATE epdc_act_info SET TOP_FLAG = #{topFlag}, TOP_USER_ID = #{topUserId}, TOP_USER_NAME = #{topUserName}
<if test='topFlag == "0"'>
, TOP_TIME = NULL
</if>
<if test='topFlag == "1"'>
, TOP_TIME = NOW()
</if>
WHERE ID = #{actId}
</update>
<select id="selectCountUserUnreadSignUpAct" resultType="integer"> <select id="selectCountUserUnreadSignUpAct" resultType="integer">
SELECT SELECT

Loading…
Cancel
Save