Browse Source

列表

master
yinzuomei 3 years ago
parent
commit
607958e1cc
  1. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/ActContentDTO.java
  2. 5
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/ActInfoDTO.java
  3. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/LatestActContentDTO.java
  4. 5
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/LatestActInfoDTO.java
  5. 36
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/ActPageFormDTO.java
  6. 5
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/PublishActInfoFormDTO.java
  7. 5
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/RePublishFormDTO.java
  8. 88
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/ActPageResDTO.java
  9. 30
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActController.java
  10. 8
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActInfoDao.java
  11. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/ActContentEntity.java
  12. 5
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/ActInfoEntity.java
  13. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/LatestActContentEntity.java
  14. 6
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/LatestActInfoEntity.java
  15. 8
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActService.java
  16. 68
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java
  17. 6
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.22__act_addcol.sql
  18. 50
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActInfoDao.xml

2
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/ActContentDTO.java

@ -50,7 +50,7 @@ public class ActContentDTO implements Serializable {
private String content;
/**
* 内容类型 图片img文字text
* 内容类型 图片img文字text;富文本rich_text
*/
private String contentType;

5
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/ActInfoDTO.java

@ -238,6 +238,11 @@ public class ActInfoDTO implements Serializable {
*/
private Boolean summaryFlag;
/**
* true:富文本false: 原来小程序那种发布内容
*/
private Boolean richTextFlag;
/**
* 乐观锁
*/

2
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/LatestActContentDTO.java

@ -50,7 +50,7 @@ public class LatestActContentDTO implements Serializable {
private String content;
/**
* 内容类型 图片img文字text
* 内容类型 图片img文字text;富文本rich_text
*/
private String contentType;

5
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/LatestActInfoDTO.java

@ -179,6 +179,11 @@ public class LatestActInfoDTO implements Serializable {
*/
private Boolean auditSwitch;
/**
* true:富文本false: 原来小程序那种发布内容
*/
private Boolean richTextFlag;
/**
* 活动类型爱心活动heart 联建活动party
*/

36
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/ActPageFormDTO.java

@ -0,0 +1,36 @@
package com.epmet.dto.form.work;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import java.io.Serializable;
/**
* 爱心互助列表入参DTO
*/
@Data
public class ActPageFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = 6473824879249274683L;
/**
* 活动标题
*/
private String title;
/**
* 活动预计开始时间
*/
private String actStartTime;
/**
* 活动预计结束时间
*/
private String actEndTime;
/**
* 状态 已发布/报名中published 已取消canceled; 已结束finished
*/
private String status;
/**
* tokenDto获取
*/
private String customerId;
private String userId;
}

5
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/PublishActInfoFormDTO.java

@ -212,4 +212,9 @@ public class PublishActInfoFormDTO implements Serializable {
private String serviceMatter;
@NotEmpty(message = "服务事项不能为空", groups = {AddPartyActivityGroup.class})
private List<String> serviceMatterList;
/**
* true:富文本false: 原来小程序那种发布内容
*/
private Boolean richTextFlag;
}

5
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/RePublishFormDTO.java

@ -221,4 +221,9 @@ public class RePublishFormDTO implements Serializable {
private String serviceMatter;
@NotEmpty(message = "服务事项不能为空", groups = {PublishActInfoFormDTO.AddPartyActivityGroup.class})
private List<String> serviceMatterList;
/**
* true:富文本false: 原来小程序那种发布内容
*/
private Boolean richTextFlag;
}

88
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/ActPageResDTO.java

@ -0,0 +1,88 @@
package com.epmet.dto.result.work;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description
* @Author yzm
* @Date 2022/6/30 14:15
*/
@Data
public class ActPageResDTO implements Serializable {
private static final long serialVersionUID = 5330377961022020364L;
/**
*活动id
*/
private String actId;
/**
*活动标题
*/
private String title;
/**
* 活动地点
*/
private String actAddress;
/**
* 活动预计开始时间yyyy-MM-dd HH:mm
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date actStartTime;
/**
* 活动预计结束时间yyyy-MM-dd HH:mm
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date actEndTime;
/**
* 报名截止时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date signUpEndTime;
/**
* 报名开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date signUpStartTime;
/**
* 活动状态报名中signing_up截止报名: end_sign_up; 已开始 in_progress; 已报满 enough
*/
private String status="";
/**
* true:富文本false: 原来小程序那种发布内容
*/
private Boolean richTextFlag;
/**
* true我发布的false,其他人发布的
*/
private Boolean isMyPublish;
/**
* true:固定名额 false 不限制名额
*/
@JsonIgnore
private Boolean actQuotaCategory;
/**
* 活动名额人数
*/
@JsonIgnore
private Integer actQuota;
/**
* 已报名人数
*/
@JsonIgnore
private Integer signedUp;
}

30
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActController.java

@ -1,6 +1,8 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
@ -73,7 +75,12 @@ public class WorkActController {
}
@PostMapping("publishV2")
public Result<PublishActResultDTO> publishActV2(@RequestBody PublishActInfoFormDTO formDTO) {
public Result<PublishActResultDTO> publishActV2(@LoginUser TokenDto tokenDto ,@RequestBody PublishActInfoFormDTO formDTO) {
if (AppClientConstant.CLIENT_WEB.equals(tokenDto.getClient())) {
formDTO.setRichTextFlag(true);
} else {
formDTO.setRichTextFlag(false);
}
if (ActConstant.HEART.equals(formDTO.getActType())) {
ValidatorUtils.validateEntity(formDTO, PublishActInfoFormDTO.AddUserShowGroup.class, PublishActInfoFormDTO.AddUserInternalGroup.class);
} else {
@ -276,7 +283,12 @@ public class WorkActController {
}
@PostMapping("republishV2")
public Result<PublishActResultDTO> rePublishV2(@RequestBody RePublishFormDTO rePublishFormDTO) {
public Result<PublishActResultDTO> rePublishV2(@LoginUser TokenDto tokenDto,@RequestBody RePublishFormDTO rePublishFormDTO) {
if (AppClientConstant.CLIENT_WEB.equals(tokenDto.getClient())) {
rePublishFormDTO.setRichTextFlag(true);
} else {
rePublishFormDTO.setRichTextFlag(false);
}
if (ActConstant.HEART.equals(rePublishFormDTO.getActType())) {
ValidatorUtils.validateEntity(rePublishFormDTO, PublishActInfoFormDTO.AddUserShowGroup.class, PublishActInfoFormDTO.AddUserInternalGroup.class);
} else {
@ -291,5 +303,17 @@ public class WorkActController {
return new Result<PublishActResultDTO>().ok(workActService.rePublishV2(rePublishFormDTO));
}
/**
* 数字社区-爱心互助活动列表查询当前客户下的所有活动限制活动类型是爱心活动
* @param tokenDto
* @param formDTO
* @return
*/
@PostMapping("pagelist")
public Result<PageData<ActPageResDTO>> pageList(@LoginUser TokenDto tokenDto, @RequestBody ActPageFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
PageData<ActPageResDTO> page = workActService.pageList(formDTO);
return new Result<PageData<ActPageResDTO>>().ok(page);
}
}

8
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActInfoDao.java

@ -24,6 +24,7 @@ import com.epmet.dto.form.resi.ResiActDetailFormDTO;
import com.epmet.dto.form.resi.ResiLatestActFormDTO;
import com.epmet.dto.form.resi.ResiMyActFormDTO;
import com.epmet.dto.form.work.ActListCommonFormDTO;
import com.epmet.dto.form.work.ActPageFormDTO;
import com.epmet.dto.result.resi.*;
import com.epmet.dto.result.work.*;
import com.epmet.entity.ActInfoEntity;
@ -319,4 +320,11 @@ public interface ActInfoDao extends BaseDao<ActInfoEntity> {
* @return java.util.List<com.epmet.dto.ActInfoDTO>
*/
List<ActInfoDTO> selectPublishedAct(@Param("staffId") String staffId);
/**
* 数字社区-爱心互助活动列表查询当前客户下的所有活动限制活动类型是爱心活动
* @param formDTO
* @return
*/
List<ActPageResDTO> pageList(ActPageFormDTO formDTO);
}

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/ActContentEntity.java

@ -48,7 +48,7 @@ public class ActContentEntity extends BaseEpmetEntity {
private String content;
/**
* 内容类型 图片img文字text
* 内容类型 图片img文字text;富文本rich_text
*/
private String contentType;

5
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/ActInfoEntity.java

@ -216,6 +216,11 @@ public class ActInfoEntity extends BaseEpmetEntity {
*/
private Boolean summaryFlag;
/**
* true:富文本false: 原来小程序那种发布内容
*/
private Boolean richTextFlag;
/**
* 活动类型爱心活动heart 联建活动party
*/

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/LatestActContentEntity.java

@ -48,7 +48,7 @@ public class LatestActContentEntity extends BaseEpmetEntity {
private String content;
/**
* 内容类型 图片img文字text
* 内容类型 图片img文字text;富文本rich_text
*/
private String contentType;

6
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/LatestActInfoEntity.java

@ -177,6 +177,12 @@ public class LatestActInfoEntity extends BaseEpmetEntity {
* 审核开关1报名人员需要人工审核0不需要
*/
private Boolean auditSwitch;
/**
* true:富文本false: 原来小程序那种发布内容
*/
private Boolean richTextFlag;
/**
* 数据库新增ACT_INFO_ID字段act_info.id
*/

8
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActService.java

@ -1,5 +1,6 @@
package com.epmet.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.form.work.*;
import com.epmet.dto.result.work.*;
@ -148,4 +149,11 @@ public interface WorkActService {
PublishActResultDTO rePublish(RePublishFormDTO rePublishFormDTO);
PublishActResultDTO rePublishV2(RePublishFormDTO rePublishFormDTO);
void testGrantPoint(TestGrantFormDTO formDTO);
/**
* 数字社区-爱心互助活动列表查询当前客户下的所有活动限制活动类型是爱心活动
* @param formDTO
* @return
*/
PageData<ActPageResDTO> pageList(ActPageFormDTO formDTO);
}

68
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java

@ -9,6 +9,7 @@ import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.scan.param.ImgScanParamDTO;
@ -35,6 +36,9 @@ import com.epmet.entity.*;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.*;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ -1621,4 +1625,68 @@ public class WorkActServiceImpl implements WorkActService {
});
return content.get();
}
/**
* @param formDTO
* @return 数字社区-爱心互助活动列表查询当前客户下的所有活动限制活动类型是爱心活动
*/
@Override
public PageData<ActPageResDTO> pageList(ActPageFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage());
List<ActPageResDTO> list = actInfoDao.pageList(formDTO);
if (CollectionUtils.isNotEmpty(list)) {
Date nowDate = new Date();
for (ActPageResDTO actPageResDTO : list) {
// 进行中的重新设置状态
if (ActConstant.ACT_STATUS_PUBLISHED.equals(actPageResDTO.getStatus())) {
// 活动状态:报名中:signing_up;截止报名: end_sign_up; 已开始: in_progress; 已报满: enough
if (!NumConstant.ONE_STR.equals(DateUtils.comparteDate(nowDate, actPageResDTO.getSignUpEndTime()))) {
logger.info(String.format("当前时间%s报名截止时间%s处于报名中",
DateUtils.format(nowDate, DateUtils.DATE_TIME_PATTERN),
DateUtils.format(actPageResDTO.getSignUpEndTime(), DateUtils.DATE_TIME_PATTERN)));
// 截止报名时间之前(包含报名时间截止时间点)
if (!actPageResDTO.getActQuotaCategory()) {
// 如果是不限制名额,则显示报名中
actPageResDTO.setStatus("signing_up");
logger.info("活动不限制名额,界面显示 报名中");
continue;
} else {
// 固定名额,且已报名人数<活动需要人数显示报名中
if (actPageResDTO.getActQuota() > actPageResDTO.getSignedUp()) {
logger.info("活动限制名额,未报满,界面显示报名中");
actPageResDTO.setStatus("signing_up");
continue;
} else if (actPageResDTO.getActQuota().equals(actPageResDTO.getSignedUp())) {
actPageResDTO.setStatus("enough");
logger.info("活动限制名额,且已报满,界面显示已报满");
continue;
}
}
} else if (NumConstant.ONE_STR.equals(DateUtils.comparteDate(nowDate, actPageResDTO.getSignUpEndTime()))
&& NumConstant.ONE_NEG_STR.equals(DateUtils.comparteDate(nowDate, actPageResDTO.getActStartTime()))) {
logger.info(String.format("当前时间%s报名截止时间%s活动预计开始时间%s界面显示截止报名",
DateUtils.format(nowDate, DateUtils.DATE_TIME_PATTERN),
DateUtils.format(actPageResDTO.getSignUpEndTime(), DateUtils.DATE_TIME_PATTERN),
DateUtils.format(actPageResDTO.getActStartTime(), DateUtils.DATE_TIME_PATTERN)));
// 活动报名截止-活动预计开始之间显示截止报名
actPageResDTO.setStatus("end_sign_up");
continue;
} else if (!NumConstant.ONE_NEG_STR.equals(DateUtils.comparteDate(nowDate, actPageResDTO.getActStartTime()))) {
logger.info(String.format("当前时间%s活动预计开始时间%s界面显示已开始",
DateUtils.format(nowDate, DateUtils.DATE_TIME_PATTERN),
DateUtils.format(actPageResDTO.getActStartTime(), DateUtils.DATE_TIME_PATTERN)));
// 活动预计开始时间点之后,包含活动预计开始时间点,显示 已开始
actPageResDTO.setStatus("in_progress");
continue;
}
}
}
}
PageInfo<ActPageResDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
}

6
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.22__act_addcol.sql

@ -0,0 +1,6 @@
alter table act_content MODIFY COLUMN CONTENT_TYPE varchar(32) NOT NULL COMMENT '内容类型 图片:img;文字:text;富文本:rich_text';
alter table act_content MODIFY COLUMN CONTENT LONGTEXT not null COMMENT '内容';
alter table act_info add COLUMN RICH_TEXT_FLAG TINYINT(1) not null DEFAULT '0' COMMENT '1:富文本;0:不是' AFTER SUMMARY_FLAG;
alter table latest_act_info add COLUMN RICH_TEXT_FLAG TINYINT(1) not null DEFAULT '0' COMMENT '1:富文本;0:不是' AFTER AUDIT_SWITCH;
alter table latest_act_content MODIFY COLUMN CONTENT_TYPE varchar(32) NOT NULL COMMENT '内容类型 图片:img;文字:text;富文本:rich_text';
alter table latest_act_content MODIFY COLUMN CONTENT LONGTEXT not null COMMENT '内容';

50
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActInfoDao.xml

@ -798,4 +798,54 @@
AND ACT_STATUS = 'published'
AND CREATED_BY = #{staffId}
</select>
<!-- 分页查询爱心活动-->
<select id="pageList" parameterType="com.epmet.dto.form.work.ActPageFormDTO" resultType="com.epmet.dto.result.work.ActPageResDTO">
SELECT
ai.id AS actId,
ai.TITLE AS title,
ai.ACT_ADDRESS as actAddress,
ai.ACT_START_TIME AS actStartTime,
ai.ACT_END_TIME AS actEndTime,
ai.SIGN_UP_END_TIME as signUpEndTime,
ai.SIGN_UP_START_TIME as signUpStartTime,
ai.ACT_STATUS as status,
ai.RICH_TEXT_FLAG as richTextFlag,
(
case when ai.CREATED_BY =#{userId} then 1
else 0
end
)as isMyPublish,
ai.ACT_QUOTA_CATEGORY AS actQuotaCategory,
ai.ACT_QUOTA AS actQuota,
(
SELECT
count( aur.id )
FROM
act_user_relation aur
WHERE
aur.ACT_ID = ai.ID
AND aur.DEL_FLAG = '0'
AND ( aur.`STATUS` = 'auditing' OR aur.`STATUS` = 'passed' )
) AS signedUp
FROM
act_info ai
WHERE
ai.DEL_FLAG = '0'
<if test='null != status and "" != status'>
AND ai.ACT_STATUS = #{status}
</if>
<if test='null != title and "" != title'>
AND ai.TITLE like concat('%',#{title},'%')
</if>
<if test='null != actStartTime and "" != actStartTime'>
AND DATE_FORMAT(ai.ACT_START_TIME,'%Y-%m-%d %H:%i') &gt;= #{actStartTime}
</if>
<if test='null != actEndTime and "" != actEndTime'>
AND DATE_FORMAT(ai.ACT_END_TIME,'%Y-%m-%d %H:%i') &lt;= #{actEndTime}
</if>
and ai.CUSTOMER_ID= #{customerId}
and ai.act_type = 'heart'
order by ai.CREATED_TIME desc
</select>
</mapper>

Loading…
Cancel
Save