From d5fab95707f7421f7e42130cba73c48bbe4c747f Mon Sep 17 00:00:00 2001 From: lifenlong Date: Mon, 28 Jun 2021 18:18:23 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BC=98=E6=83=A0=E5=88=B8=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E7=94=B1=E5=AE=9A=E6=97=B6=E5=99=A8=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=BB=B6=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=89=A7=E8=A1=8C=E3=80=82?= =?UTF-8?q?=202.=E4=BF=AE=E6=94=B9shopEditDTO,=E4=B8=8D=E7=BB=A7=E6=89=BFS?= =?UTF-8?q?hopDetail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/coupon/CouponActivityExecute.java | 80 --------- .../CouponActivityServiceImpl.java | 28 +++- .../serviceimpl/PromotionServiceImpl.java | 20 ++- .../store/entity/dto/StoreEditDTO.java | 154 +++++++++++++++++- 4 files changed, 189 insertions(+), 93 deletions(-) delete mode 100644 consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponActivityExecute.java diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponActivityExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponActivityExecute.java deleted file mode 100644 index f960098f..00000000 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponActivityExecute.java +++ /dev/null @@ -1,80 +0,0 @@ -package cn.lili.timetask.handler.impl.coupon; - -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import cn.lili.modules.promotion.entity.dos.CouponActivity; -import cn.lili.modules.promotion.entity.enums.CouponActivityTypeEnum; -import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum; -import cn.lili.modules.promotion.service.CouponActivityService; -import cn.lili.timetask.handler.EveryMinuteExecute; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.List; - -/** - * 优惠券活动状态监测 - * - * @author Bulbasaur - * @date: 2021/5/24 10:08 上午 - */ -@Component -public class CouponActivityExecute implements EveryMinuteExecute { - - @Autowired - private CouponActivityService couponActivityService; - - @Override - public void execute() { - //精确发券活动 - specify(); - //注册赠券的活动 - registered(); - } - - /** - * 监测精确发券活动 - * 达到活动时间发送优惠券 - */ - private void specify(){ - DateTime dateTime=DateUtil.date(); - List couponActivities=couponActivityService.list(new LambdaQueryWrapper() - .eq(CouponActivity::getCouponActivityType, CouponActivityTypeEnum.SPECIFY.name()) - .le(CouponActivity::getStartTime, dateTime) - .eq(CouponActivity::getPromotionStatus,PromotionStatusEnum.NEW.name())); - //如果有符合要求的优惠券活动,发送优惠券 - if(couponActivities.size()>0){ - for (CouponActivity couponActivity:couponActivities) { - couponActivityService.specify(couponActivity.getId()); - - //修改精准发券优惠券活动状态 - couponActivityService.update(new LambdaUpdateWrapper() - .eq(CouponActivity::getId,couponActivity.getId()) - .set(CouponActivity::getPromotionStatus,PromotionStatusEnum.END.name())); - } - } - - } - /** - * 注册赠券活动状态监测 - */ - private void registered(){ - //开启注册赠券优惠券活动 - LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); - lambdaUpdateWrapper.eq(CouponActivity::getCouponActivityType, CouponActivityTypeEnum.REGISTERED.name()) - .eq(CouponActivity::getPromotionStatus, PromotionStatusEnum.NEW.name()) - .le(CouponActivity::getStartTime, DateUtil.date()) - .set(CouponActivity::getPromotionStatus,PromotionStatusEnum.START.name()); - couponActivityService.update(lambdaUpdateWrapper); - - //关闭注册赠券优惠券活动 - LambdaUpdateWrapper endWrapper = new LambdaUpdateWrapper<>(); - endWrapper.eq(CouponActivity::getCouponActivityType, CouponActivityTypeEnum.REGISTERED.name()) - .eq(CouponActivity::getPromotionStatus, PromotionStatusEnum.START.name()) - .le(CouponActivity::getEndTime, DateUtil.date()) - .set(CouponActivity::getPromotionStatus,PromotionStatusEnum.END.name()); - couponActivityService.update(endWrapper); - } -} diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java index 03f56f14..9fbd6e88 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java @@ -2,7 +2,14 @@ package cn.lili.modules.promotion.serviceimpl; import cn.hutool.json.JSONUtil; import cn.lili.common.exception.ServiceException; +import cn.lili.common.trigger.enums.DelayTypeEnums; +import cn.lili.common.trigger.interfaces.TimeTrigger; +import cn.lili.common.trigger.message.PromotionMessage; +import cn.lili.common.trigger.model.TimeExecuteConstant; +import cn.lili.common.trigger.model.TimeTriggerMsg; +import cn.lili.common.trigger.util.DelayQueueTools; import cn.lili.common.utils.DateUtil; +import cn.lili.config.rocketmq.RocketmqCustomProperties; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.service.MemberService; import cn.lili.modules.promotion.entity.dos.Coupon; @@ -10,9 +17,7 @@ import cn.lili.modules.promotion.entity.dos.CouponActivity; import cn.lili.modules.promotion.entity.dos.CouponActivityItem; import cn.lili.modules.promotion.entity.dos.MemberCoupon; import cn.lili.modules.promotion.entity.dto.CouponActivityDTO; -import cn.lili.modules.promotion.entity.enums.CouponActivitySendTypeEnum; -import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum; -import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum; +import cn.lili.modules.promotion.entity.enums.*; import cn.lili.modules.promotion.entity.vos.CouponActivityVO; import cn.lili.modules.promotion.mapper.CouponActivityMapper; import cn.lili.modules.promotion.service.CouponActivityItemService; @@ -47,6 +52,12 @@ public class CouponActivityServiceImpl extends ServiceImpl() + .eq(CouponActivity::getId,promotionMessage.getPromotionId()) + .set(CouponActivity::getPromotionStatus,promotionMessage.getPromotionStatus())); } /** diff --git a/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreEditDTO.java b/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreEditDTO.java index 6b6bfe50..3a814565 100644 --- a/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreEditDTO.java +++ b/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreEditDTO.java @@ -1,11 +1,23 @@ package cn.lili.modules.store.entity.dto; +import cn.lili.common.validation.Mobile; +import cn.lili.common.validation.Phone; import cn.lili.modules.store.entity.dos.StoreDetail; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; +import javax.persistence.Column; +import javax.persistence.Id; +import javax.validation.constraints.Email; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; +import java.util.Date; /** * 店铺修改DTO @@ -14,7 +26,147 @@ import javax.validation.constraints.Size; * @date 2020-08-22 15:10:51 */ @Data -public class StoreEditDTO extends StoreDetail { +public class StoreEditDTO { + + + @Id + @TableId + @TableField + @Column(columnDefinition = "bigint(20)") + @ApiModelProperty(value = "唯一标识", hidden = true) + private String id; + + @NotBlank(message = "店铺不能为空") + @ApiModelProperty(value = "店铺id") + private String storeId; + + @Size(min = 2, max = 200, message = "店铺名称长度为2-200位") + @NotBlank(message = "店铺名称不能为空") + @ApiModelProperty(value = "店铺名称") + private String storeName; + + @NotBlank(message = "公司名称不能为空") + @Size(min = 2, max = 100, message = "公司名称错误") + @ApiModelProperty(value = "公司名称") + private String companyName; + + @NotBlank(message = "公司地址不能为空") + @Size(min = 1, max = 200, message = "公司地址,长度为1-200字符") + @ApiModelProperty(value = "公司地址") + private String companyAddress; + + @ApiModelProperty(value = "公司地址地区Id") + private String companyAddressIdPath; + + @ApiModelProperty(value = "公司地址地区") + private String companyAddressPath; + + @Mobile + @ApiModelProperty(value = "公司电话") + private String companyPhone; + + @Email + @ApiModelProperty(value = "电子邮箱") + private String companyEmail; + + @Min(value = 1, message = "员工总数,至少一位") + @ApiModelProperty(value = "员工总数") + private Integer employeeNum; + + @Min(value = 1, message = "注册资金,至少一位") + @ApiModelProperty(value = "注册资金") + private Double registeredCapital; + + @NotBlank(message = "联系人姓名为空") + @Length(min = 2, max = 20, message = "联系人长度为:2-20位字符") + @ApiModelProperty(value = "联系人姓名") + private String linkName; + + @NotBlank(message = "手机号不能为空") + @Phone + @ApiModelProperty(value = "联系人电话") + private String linkPhone; + + @Size(min = 18, max = 18, message = "营业执照长度为18位字符") + @ApiModelProperty(value = "营业执照号") + private String licenseNum; + + @Size(min = 1, max = 200, message = "法定经营范围长度为1-200位字符") + @ApiModelProperty(value = "法定经营范围") + private String scope; + + @NotBlank(message = "营业执照电子版不能为空") + @ApiModelProperty(value = "营业执照电子版") + private String licencePhoto; + + @NotBlank(message = "法人姓名不能为空") + @Size(min = 2, max = 20, message = "法人姓名长度为2-20位字符") + @ApiModelProperty(value = "法人姓名") + private String legalName; + + @NotBlank(message = "法人身份证不能为空") + @Size(min = 18, max = 18, message = "法人身份证号长度为18位") + @ApiModelProperty(value = "法人身份证") + private String legalId; + + @NotBlank(message = "法人身份证不能为空") + @ApiModelProperty(value = "法人身份证照片") + private String legalPhoto; + + @Size(min = 1, max = 200, message = "结算银行开户行名称长度为1-200位") + @NotBlank(message = "结算银行开户行名称不能为空") + @ApiModelProperty(value = "结算银行开户行名称") + private String settlementBankAccountName; + + @Size(min = 1, max = 200, message = "结算银行开户账号长度为1-200位") + @NotBlank(message = "结算银行开户账号不能为空") + @ApiModelProperty(value = "结算银行开户账号") + private String settlementBankAccountNum; + + @Size(min = 1, max = 200, message = "结算银行开户支行名称长度为1-200位") + @NotBlank(message = "结算银行开户支行名称不能为空") + @ApiModelProperty(value = "结算银行开户支行名称") + private String settlementBankBranchName; + + @Size(min = 1, max = 50, message = "结算银行支行联行号长度为1-200位") + @NotBlank(message = "结算银行支行联行号不能为空") + @ApiModelProperty(value = "结算银行支行联行号") + private String settlementBankJointName; + + @NotBlank(message = "店铺经营类目不能为空") + @ApiModelProperty(value = "店铺经营类目") + @Column(columnDefinition = "TEXT") + private String goodsManagementCategory; + + @ApiModelProperty(value = "结算周期") + private String settlementCycle; + + + @ApiModelProperty(value = "库存预警数量") + private Integer stockWarning; + + /** + * 同城配送达达店铺编码 + */ + @ApiModelProperty(value = "同城配送达达店铺编码") + @TableField(value = "dd_code") + private String ddCode; + + //店铺退货收件地址 + @ApiModelProperty(value = "收货人姓名") + private String salesConsigneeName; + + @ApiModelProperty(value = "收件人手机") + private String salesConsigneeMobile; + + @ApiModelProperty(value = "地址Id, ','分割") + private String salesConsigneeAddressId; + + @ApiModelProperty(value = "地址名称, ','分割") + private String salesConsigneeAddressPath; + + @ApiModelProperty(value = "详细地址") + private String salesConsigneeDetail; @ApiModelProperty(value = "店铺状态") private String storeDisable;