Просмотр исходного кода

[疲劳度][修改]:新增疲劳度时间是否启用

release_toaliyun_real
Stormeye Wu 6 лет назад
Родитель
Сommit
2cddeb206c
5 измененных файлов: 31 добавлений и 1 удалений
  1. +4
    -0
      mallinkAdmin/src/main/resources/db/migration/V201907221045__CHANGE_PUSH_LIMIT.sql
  2. +4
    -0
      mallinkService/src/main/java/com/iformall/domain/po/PushLimit.java
  3. +13
    -0
      mallinkService/src/main/java/com/iformall/service/impl/PushLimitServiceImpl.java
  4. +4
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java
  5. +6
    -1
      mallinkService/src/main/resources/mapper/PushLimitMapper.xml

+ 4
- 0
mallinkAdmin/src/main/resources/db/migration/V201907221045__CHANGE_PUSH_LIMIT.sql Просмотреть файл

@@ -0,0 +1,4 @@
ALTER TABLE `push_limit`
ADD COLUMN `time_enable` TINYINT(2) NULL DEFAULT 0 COMMENT '是否启用,0:Enable,1:Disable' after `coupon_day`;

Update `push_limit` set `time_enable` = 0;

+ 4
- 0
mallinkService/src/main/java/com/iformall/domain/po/PushLimit.java Просмотреть файл

@@ -30,6 +30,8 @@ public class PushLimit implements Serializable {
private Integer couponAmount; private Integer couponAmount;
@io.swagger.annotations.ApiModelProperty(value="每人几天内,不会收到同一个券",name="couponDay") @io.swagger.annotations.ApiModelProperty(value="每人几天内,不会收到同一个券",name="couponDay")
private Integer couponDay; private Integer couponDay;
@io.swagger.annotations.ApiModelProperty(value="是否启用,0:Enable,1:Disable",name="timeEnable")
private Integer timeEnable;
@io.swagger.annotations.ApiModelProperty(value="发券,发短信开始时间",name="timeStart") @io.swagger.annotations.ApiModelProperty(value="发券,发短信开始时间",name="timeStart")
private String timeStart; private String timeStart;
@io.swagger.annotations.ApiModelProperty(value="发券,发短信结束时间",name="timeEnd") @io.swagger.annotations.ApiModelProperty(value="发券,发短信结束时间",name="timeEnd")
@@ -48,10 +50,12 @@ public class PushLimit implements Serializable {
,MsgAmount_ASC("`msg_amount` ASC"),MsgAmount_DESC("`msg_amount` DESC") ,MsgAmount_ASC("`msg_amount` ASC"),MsgAmount_DESC("`msg_amount` DESC")
,CouponAmount_ASC("`coupon_amount` ASC"),CouponAmount_DESC("`coupon_amount` DESC") ,CouponAmount_ASC("`coupon_amount` ASC"),CouponAmount_DESC("`coupon_amount` DESC")
,CouponDay_ASC("`coupon_day` ASC"),CouponDay_DESC("`coupon_day` DESC") ,CouponDay_ASC("`coupon_day` ASC"),CouponDay_DESC("`coupon_day` DESC")
,TimeEnable_ASC("`time_enable` ASC"),TimeEnable_DESC("`time_enable` DESC")
,TimeStart_ASC("`time_start` ASC"),TimeStart_DESC("`time_start` DESC") ,TimeStart_ASC("`time_start` ASC"),TimeStart_DESC("`time_start` DESC")
,TimeEnd_ASC("`time_end` ASC"),TimeEnd_DESC("`time_end` DESC") ,TimeEnd_ASC("`time_end` ASC"),TimeEnd_DESC("`time_end` DESC")
,CreateTime_ASC("`create_time` ASC"),CreateTime_DESC("`create_time` DESC") ,CreateTime_ASC("`create_time` ASC"),CreateTime_DESC("`create_time` DESC")
,UpdateTime_ASC("`update_time` ASC"),UpdateTime_DESC("`update_time` DESC") ,UpdateTime_ASC("`update_time` ASC"),UpdateTime_DESC("`update_time` DESC")
,Enable_ASC("`enable` ASC"),Enable_DESC("`enable` DESC")
; ;
private String value; private String value;
Field(String value){ Field(String value){


+ 13
- 0
mallinkService/src/main/java/com/iformall/service/impl/PushLimitServiceImpl.java Просмотреть файл

@@ -61,6 +61,7 @@ public class PushLimitServiceImpl implements PushLimitService {
pushLimit.setMsgAmount(3); pushLimit.setMsgAmount(3);
pushLimit.setCouponAmount(10); pushLimit.setCouponAmount(10);
pushLimit.setCouponDay(10); pushLimit.setCouponDay(10);
pushLimit.setTimeEnable(EnumEnableType.Enable.getCode());
pushLimit.setTimeStart("8:00"); pushLimit.setTimeStart("8:00");
pushLimit.setTimeEnd("23:00"); pushLimit.setTimeEnd("23:00");
pushLimit.setEnable(EnumEnableType.Enable.getCode()); pushLimit.setEnable(EnumEnableType.Enable.getCode());
@@ -98,6 +99,10 @@ public class PushLimitServiceImpl implements PushLimitService {
if(pushLimit.getEnable().equals(EnumEnableType.Disable.getCode())) { if(pushLimit.getEnable().equals(EnumEnableType.Disable.getCode())) {
return true; return true;
} }
// 1.2 疲劳度时间是否启用
if(pushLimit.getTimeEnable().equals(EnumEnableType.Disable.getCode())) {
return true;
}
// 2. check time // 2. check time
boolean isInDate = DateUtils.isInDate(curDate, pushLimit.getTimeStart(), pushLimit.getTimeEnd()); boolean isInDate = DateUtils.isInDate(curDate, pushLimit.getTimeStart(), pushLimit.getTimeEnd());
if (!isInDate) { if (!isInDate) {
@@ -117,6 +122,10 @@ public class PushLimitServiceImpl implements PushLimitService {
return true; return true;
} }
// 2. check time // 2. check time
// 2.1 疲劳度时间是否启用
if(pushLimit.getTimeEnable().equals(EnumEnableType.Disable.getCode())) {
return true;
}
boolean isInDate = DateUtils.isInDate(curDate, pushLimit.getTimeStart(), pushLimit.getTimeEnd()); boolean isInDate = DateUtils.isInDate(curDate, pushLimit.getTimeStart(), pushLimit.getTimeEnd());
if (!isInDate) { if (!isInDate) {
logger.error("不在疲劳度允许的时间段"); logger.error("不在疲劳度允许的时间段");
@@ -136,6 +145,10 @@ public class PushLimitServiceImpl implements PushLimitService {
return true; return true;
} }
// 2. check time 是否在给定的时间段内 // 2. check time 是否在给定的时间段内
// 2.1 疲劳度时间是否启用
if(pushLimit.getTimeEnable().equals(EnumEnableType.Disable.getCode())) {
return true;
}
boolean isInDate = DateUtils.isInDate(curDate, pushLimit.getTimeStart(), pushLimit.getTimeEnd()); boolean isInDate = DateUtils.isInDate(curDate, pushLimit.getTimeStart(), pushLimit.getTimeEnd());
if (!isInDate) { if (!isInDate) {
throw new MallinkException(ErrorCode.PUSH_LIMIT_NOT_INRANG); throw new MallinkException(ErrorCode.PUSH_LIMIT_NOT_INRANG);


+ 4
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java Просмотреть файл

@@ -187,6 +187,10 @@ public class WxMsgServiceImpl implements WxMsgService {
} else { } else {
PushLimit pushLimit = pushLimitService.getPushLimit(wxMsg.getTenantId()); PushLimit pushLimit = pushLimitService.getPushLimit(wxMsg.getTenantId());
if(pushLimit.getEnable().equals(EnumEnableType.Enable.getCode())) { if(pushLimit.getEnable().equals(EnumEnableType.Enable.getCode())) {
// 1.2 疲劳度时间是否启用
if(pushLimit.getTimeEnable().equals(EnumEnableType.Disable.getCode())) {
return new ResultData();
}
String sendtime = wxMsg.getSendtime(); String sendtime = wxMsg.getSendtime();
Date date = DateUtils.stringToDate(sendtime, "yyyy-MM-dd HH:mm:ss"); Date date = DateUtils.stringToDate(sendtime, "yyyy-MM-dd HH:mm:ss");
boolean isInDate = DateUtils.isInDate(date, pushLimit.getTimeStart(), pushLimit.getTimeEnd()); boolean isInDate = DateUtils.isInDate(date, pushLimit.getTimeStart(), pushLimit.getTimeEnd());


+ 6
- 1
mallinkService/src/main/resources/mapper/PushLimitMapper.xml Просмотреть файл

@@ -7,6 +7,7 @@
<result column="msg_amount" jdbcType="INTEGER" property="msgAmount"/> <result column="msg_amount" jdbcType="INTEGER" property="msgAmount"/>
<result column="coupon_amount" jdbcType="INTEGER" property="couponAmount"/> <result column="coupon_amount" jdbcType="INTEGER" property="couponAmount"/>
<result column="coupon_day" jdbcType="INTEGER" property="couponDay"/> <result column="coupon_day" jdbcType="INTEGER" property="couponDay"/>
<result column="time_enable" jdbcType="TINYINT" property="timeEnable"/>
<result column="time_start" jdbcType="VARCHAR" property="timeStart"/> <result column="time_start" jdbcType="VARCHAR" property="timeStart"/>
<result column="time_end" jdbcType="VARCHAR" property="timeEnd"/> <result column="time_end" jdbcType="VARCHAR" property="timeEnd"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
@@ -15,7 +16,7 @@
</resultMap> </resultMap>


<sql id="allColumns"> <sql id="allColumns">
`id`,`tenant_id`,`msg_amount`,`coupon_amount`,`coupon_day`,`time_start`,`time_end`,`create_time`,`update_time`,`enable`
`id`,`tenant_id`,`msg_amount`,`coupon_amount`,`coupon_day`,`time_enable`,`time_start`,`time_end`,`create_time`,`update_time`,`enable`
</sql> </sql>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">
@@ -41,6 +42,10 @@
and `coupon_day` = #{couponDay} and `coupon_day` = #{couponDay}
</if> </if>


<if test=" null != timeEnable ">
and `time_enable` = #{timeEnable}
</if>

<if test=" null != timeStart "> <if test=" null != timeStart ">
and `time_start` like concat('%', #{timeStart},'%') and `time_start` like concat('%', #{timeStart},'%')
</if> </if>


Загрузка…
Отмена
Сохранить