diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/GroupBuyInfoDTO.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/GroupBuyInfoDTO.java index bb2bbb9c..972c386e 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/GroupBuyInfoDTO.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/GroupBuyInfoDTO.java @@ -182,6 +182,11 @@ public class GroupBuyInfoDTO implements Serializable { */ private String topUserId; + /** + * 截止时间 + */ + private Date groupBuyEndTime; + /** * 状态0:进行中 1:已取消 2:已结束 */ diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAddGroupBuyInfoFormDTO.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAddGroupBuyInfoFormDTO.java index 32af45cd..0dec3d14 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAddGroupBuyInfoFormDTO.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAddGroupBuyInfoFormDTO.java @@ -24,6 +24,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.io.Serializable; +import java.util.Date; import java.util.List; @@ -75,6 +76,12 @@ public class EpdcAddGroupBuyInfoFormDTO implements Serializable { */ List groupBuyImg; + /** + * 截止时间 + */ + @NotNull(message = "截止时间不能为空") + private Date groupBuyEndTime; + /** * 发布人姓名 diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcSelectGroupBuyDetailResultDTO.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcSelectGroupBuyDetailResultDTO.java index f2955cfc..7e14aa79 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcSelectGroupBuyDetailResultDTO.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcSelectGroupBuyDetailResultDTO.java @@ -84,6 +84,10 @@ public class EpdcSelectGroupBuyDetailResultDTO implements Serializable { * 状态 */ private Integer groupBuyStatus; + /** + * 团购结束时间 + */ + private Date groupBuyEndTime; /** * 人数价格 */ diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/groupbuy/entity/GroupBuyInfoEntity.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/groupbuy/entity/GroupBuyInfoEntity.java index 0ab93fa9..a10021f1 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/groupbuy/entity/GroupBuyInfoEntity.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/groupbuy/entity/GroupBuyInfoEntity.java @@ -150,6 +150,11 @@ public class GroupBuyInfoEntity extends BaseEpdcEntity { */ private String topUserId; + /** + * 截止时间 + */ + private Date groupBuyEndTime; + /** * 状态0:进行中 1:已取消 2:已结束 */ diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/groupbuy/service/impl/GroupBuyInfoServiceImpl.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/groupbuy/service/impl/GroupBuyInfoServiceImpl.java index 5b5ff335..85642796 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/groupbuy/service/impl/GroupBuyInfoServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/groupbuy/service/impl/GroupBuyInfoServiceImpl.java @@ -62,10 +62,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 拼团购 @@ -123,7 +120,16 @@ public class GroupBuyInfoServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); wrapper.like(StringUtils.isNotBlank(groupBuyTitle), "GROUP_BUY_TITLE", groupBuyTitle.trim()); if (StringUtils.isNotBlank(groupBuyStatus)) { - wrapper.eq("GROUP_BUY_STATUS", Integer.valueOf(groupBuyStatus)); + if("4".equals(groupBuyStatus)){ + wrapper.eq("GROUP_BUY_STATUS", 0); + wrapper.isNotNull("GROUP_BUY_END_TIME"); + wrapper.le("GROUP_BUY_END_TIME", new Date()); + } else if("0".equals(groupBuyStatus)){ + wrapper.eq("GROUP_BUY_STATUS", 0); + wrapper.and(QueryWrapper ->QueryWrapper.isNotNull("GROUP_BUY_END_TIME").ge("GROUP_BUY_END_TIME", new Date()).or().isNull("GROUP_BUY_END_TIME")); + } else { + wrapper.eq("GROUP_BUY_STATUS", Integer.valueOf(groupBuyStatus)); + } } wrapper.ge(StringUtils.isNotBlank(startTime), "DATE_FORMAT(CREATED_TIME, '%Y-%m-%d' )", startTime); wrapper.le(StringUtils.isNotBlank(endTime), "DATE_FORMAT(CREATED_TIME, '%Y-%m-%d' )", endTime); diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/groupBuy/GroupBuyInfoDao.xml b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/groupBuy/GroupBuyInfoDao.xml index 31880c1b..38155591 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/groupBuy/GroupBuyInfoDao.xml +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/groupBuy/GroupBuyInfoDao.xml @@ -5,7 +5,7 @@ - + @@ -14,11 +14,11 @@ @@ -41,7 +41,8 @@ - + + @@ -69,10 +70,11 @@ and egbsu.DEL_FLAG = '0' and egbsu.SIGN_UP_STATUS != 10), 0) signUpStatus, t.CANCEL_REASON, - t.GROUP_BUY_STATUS, + if(t.GROUP_BUY_STATUS = '0' and t.GROUP_BUY_END_TIME is not null and t.GROUP_BUY_END_TIME < now(),4,t.GROUP_BUY_STATUS) as groupBuyStatus, t2.GROUP_BUY_NUMBER, t2.GROUP_BUY_PRICE, - t1.IMG_URL + t1.IMG_URL, + t.GROUP_BUY_END_TIME from epdc_group_buy_info t left join epdc_custom_img t1 @@ -98,7 +100,7 @@ type="com.elink.esua.epdc.dto.result.EpdcSelectMyGroupBuyJoinInfoListResultDTO"> - + @@ -109,14 +111,14 @@ resultMap="getMyGroupBuyJoinMap"> select egbi.ID, egbi.GROUP_BUY_TITLE, - egbi.GROUP_BUY_STATUS, + egbi.groupBuyStatus, egbi.groupBuyPublishTime, egbi.isEvaluation, t1.IMG_URL from ( select t.ID, t.GROUP_BUY_TITLE, - t.GROUP_BUY_STATUS, + if(t.GROUP_BUY_STATUS = '0' and t.GROUP_BUY_END_TIME is not null and t.GROUP_BUY_END_TIME < now(),4,t.GROUP_BUY_STATUS) as groupBuyStatus, t.CREATED_TIME as groupBuyPublishTime, if((select count(1) from epdc_group_buy_evaluation egbe @@ -130,18 +132,18 @@ and t.SHIELD_FLAG = '0' and t2.USER_ID = #{userId} and t2.SIGN_UP_STATUS != 10 - order by t.GROUP_BUY_STATUS, t.CREATED_TIME desc + order by groupBuyStatus, t.CREATED_TIME desc limit #{pageIndex},#{pageSize}) egbi left join epdc_custom_img t1 on egbi.ID = t1.REFERENCE_ID and t1.IMG_TYPE = 'group_buy' and t1.DEL_FLAG = '0' - order by egbi.GROUP_BUY_STATUS, egbi.CREATED_TIME desc, t1.IMG_URL + order by egbi.groupBuyStatus, egbi.CREATED_TIME desc, t1.IMG_URL - + @@ -152,14 +154,14 @@ resultMap="getMyGroupBuyPublishMap"> select egbi.ID, egbi.GROUP_BUY_TITLE, - egbi.GROUP_BUY_STATUS, + egbi.groupBuyStatus, egbi.groupBuyPublishTime, egbi.isEdit, t1.IMG_URL from( select t.ID, t.GROUP_BUY_TITLE, - t.GROUP_BUY_STATUS, + if(t.GROUP_BUY_STATUS = '0' and t.GROUP_BUY_END_TIME is not null and t.GROUP_BUY_END_TIME < now(),4,t.GROUP_BUY_STATUS) as groupBuyStatus, t.CREATED_TIME as groupBuyPublishTime, if(t.GROUP_BUY_STATUS = 10 or t.GROUP_BUY_STATUS = 5 or t2.ID is not null,0,1)isEdit, t.CREATED_TIME @@ -171,12 +173,12 @@ t.DEL_FLAG = '0' and t.SHIELD_FLAG = '0' and t.USER_ID = #{userId} - order by t.GROUP_BUY_STATUS, t.CREATED_TIME desc + order by groupBuyStatus, t.CREATED_TIME desc limit #{pageIndex},#{pageSize})egbi left join epdc_custom_img t1 on egbi.ID = t1.REFERENCE_ID and t1.IMG_TYPE = 'group_buy' and t1.DEL_FLAG = '0' - order by egbi.GROUP_BUY_STATUS, egbi.CREATED_TIME desc, t1.IMG_URL; + order by egbi.groupBuyStatus, egbi.CREATED_TIME desc, t1.IMG_URL;