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 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 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 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 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.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<ActInfoDTO> 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);
}
}

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.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<ActInfoEntity> {
* @since 2021/2/24 14:07
*/
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 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.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<ActInfoEntity> {
* @since 2021/2/24 14:04
*/
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.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<ActInfoDao, ActInfoEntit
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="reward" column="REWARD"/>
<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>
<select id="getActInfoPageFromPC" resultMap="actResultMap">
SELECT
@ -113,7 +117,11 @@
actInfo.DEPT_ID,
actInfo.PUNISHMENT_POINTS,
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
epdc_act_info actInfo
WHERE
@ -128,6 +136,7 @@
AND actInfo.ACT_STATUS = #{actStatus}
</if>
ORDER BY
actInfo.TOP_FLAG desc,
actInfo.CREATED_TIME DESC
</select>
<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}
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 @@
<![CDATA[ AND DATE_FORMAT(actInfo.SIGNUP_END_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
</if>
) 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 == "1"'>,temp.ACT_START_TIME ASC</if>
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'
</if>
ORDER BY
actInfo.TOP_FLAG,
relation.SIGNUP_TIME DESC
LIMIT #{pageIndex},#{pageSize}
</select>
@ -518,6 +530,16 @@
UPDATE epdc_act_info SET DEL_FLAG = 1,UPDATED_TIME=NOW()
where id=#{relationId}
</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

Loading…
Cancel
Save