From 4939e31e7156308800f6cfb540001a4d7814123d Mon Sep 17 00:00:00 2001 From: lifenlong Date: Sat, 26 Jun 2021 11:02:42 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=B5=E8=AF=9D?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/lili/common/validation/{Mobile.java => Phone.java} | 6 +++--- .../impl/{MobileValidator.java => PhoneValidator.java} | 6 +++--- .../lili/modules/broadcast/util/WechatLivePlayerUtil.java | 2 +- .../cn/lili/modules/member/entity/dos/MemberAddress.java | 4 ++-- .../cn/lili/modules/member/entity/dto/MemberAddressDTO.java | 4 ++-- .../java/cn/lili/modules/store/entity/dos/StoreDetail.java | 3 ++- .../lili/modules/store/entity/dto/AdminStoreApplyDTO.java | 2 ++ 7 files changed, 15 insertions(+), 12 deletions(-) rename framework/src/main/java/cn/lili/common/validation/{Mobile.java => Phone.java} (83%) rename framework/src/main/java/cn/lili/common/validation/impl/{MobileValidator.java => PhoneValidator.java} (75%) diff --git a/framework/src/main/java/cn/lili/common/validation/Mobile.java b/framework/src/main/java/cn/lili/common/validation/Phone.java similarity index 83% rename from framework/src/main/java/cn/lili/common/validation/Mobile.java rename to framework/src/main/java/cn/lili/common/validation/Phone.java index 374b37f0..9acdd3b9 100644 --- a/framework/src/main/java/cn/lili/common/validation/Mobile.java +++ b/framework/src/main/java/cn/lili/common/validation/Phone.java @@ -1,6 +1,6 @@ package cn.lili.common.validation; -import cn.lili.common.validation.impl.MobileValidator; +import cn.lili.common.validation.impl.PhoneValidator; import javax.validation.Constraint; import javax.validation.Payload; @@ -19,8 +19,8 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; @Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER}) @Retention(RUNTIME) @Documented -@Constraint(validatedBy = {MobileValidator.class}) -public @interface Mobile { +@Constraint(validatedBy = {PhoneValidator.class}) +public @interface Phone { String regexp() default "1[3|4|5|7|8]\\d{9}"; diff --git a/framework/src/main/java/cn/lili/common/validation/impl/MobileValidator.java b/framework/src/main/java/cn/lili/common/validation/impl/PhoneValidator.java similarity index 75% rename from framework/src/main/java/cn/lili/common/validation/impl/MobileValidator.java rename to framework/src/main/java/cn/lili/common/validation/impl/PhoneValidator.java index add99847..731e9fe2 100644 --- a/framework/src/main/java/cn/lili/common/validation/impl/MobileValidator.java +++ b/framework/src/main/java/cn/lili/common/validation/impl/PhoneValidator.java @@ -1,6 +1,6 @@ package cn.lili.common.validation.impl; -import cn.lili.common.validation.Mobile; +import cn.lili.common.validation.Phone; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; @@ -8,7 +8,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -public class MobileValidator implements ConstraintValidator { +public class PhoneValidator implements ConstraintValidator { private static Pattern pattern = Pattern.compile("^0?(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])[0-9]{8}$"); @@ -19,7 +19,7 @@ public class MobileValidator implements ConstraintValidator { } @Override - public void initialize(Mobile constraintAnnotation) { + public void initialize(Phone constraintAnnotation) { } } diff --git a/framework/src/main/java/cn/lili/modules/broadcast/util/WechatLivePlayerUtil.java b/framework/src/main/java/cn/lili/modules/broadcast/util/WechatLivePlayerUtil.java index 0c0ac9fd..776f85a9 100644 --- a/framework/src/main/java/cn/lili/modules/broadcast/util/WechatLivePlayerUtil.java +++ b/framework/src/main/java/cn/lili/modules/broadcast/util/WechatLivePlayerUtil.java @@ -201,7 +201,7 @@ public class WechatLivePlayerUtil { log.info("微信小程序请求结果:" + content); //获取请求内容,如果token过期则重新获取,如果出错则抛出错误 JSONObject jsonObject = new JSONObject(content); - if (jsonObject.get("errcode").equals("0")) { + if (jsonObject.get("errcode").toString().equals("0")) { return jsonObject; } else if (jsonObject.get("errcode").equals("40001")) { wechatAccessTokenUtil.removeAccessToken(ClientTypeEnum.WECHAT_MP); diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dos/MemberAddress.java b/framework/src/main/java/cn/lili/modules/member/entity/dos/MemberAddress.java index 84d436d4..ad78c35b 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dos/MemberAddress.java +++ b/framework/src/main/java/cn/lili/modules/member/entity/dos/MemberAddress.java @@ -1,7 +1,7 @@ package cn.lili.modules.member.entity.dos; import cn.lili.base.BaseEntity; -import cn.lili.common.validation.Mobile; +import cn.lili.common.validation.Phone; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -34,7 +34,7 @@ public class MemberAddress extends BaseEntity { @ApiModelProperty(value = "收货人姓名") private String name; - @Mobile + @Phone @ApiModelProperty(value = "手机号码") private String mobile; diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/MemberAddressDTO.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/MemberAddressDTO.java index 3fe583f9..ad07b84b 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dto/MemberAddressDTO.java +++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/MemberAddressDTO.java @@ -1,6 +1,6 @@ package cn.lili.modules.member.entity.dto; -import cn.lili.common.validation.Mobile; +import cn.lili.common.validation.Phone; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -20,7 +20,7 @@ public class MemberAddressDTO { @ApiModelProperty(value = "收货人姓名") private String consigneeName; - @Mobile + @Phone @ApiModelProperty(value = "手机号码") private String consigneeMobile; diff --git a/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreDetail.java b/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreDetail.java index e1ac24c8..df4deef9 100644 --- a/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreDetail.java +++ b/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreDetail.java @@ -4,6 +4,7 @@ package cn.lili.modules.store.entity.dos; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.lili.common.validation.Mobile; +import cn.lili.common.validation.Phone; import cn.lili.modules.store.entity.dto.AdminStoreApplyDTO; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -93,7 +94,7 @@ public class StoreDetail { private String linkName; @NotBlank(message = "手机号不能为空") - @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误") + @Phone @ApiModelProperty(value = "联系人电话") private String linkPhone; diff --git a/framework/src/main/java/cn/lili/modules/store/entity/dto/AdminStoreApplyDTO.java b/framework/src/main/java/cn/lili/modules/store/entity/dto/AdminStoreApplyDTO.java index a8d63597..3c43d7e3 100644 --- a/framework/src/main/java/cn/lili/modules/store/entity/dto/AdminStoreApplyDTO.java +++ b/framework/src/main/java/cn/lili/modules/store/entity/dto/AdminStoreApplyDTO.java @@ -1,5 +1,6 @@ package cn.lili.modules.store.entity.dto; +import cn.lili.common.validation.Mobile; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -57,6 +58,7 @@ public class AdminStoreApplyDTO { @ApiModelProperty(value = "公司名称") private String companyName; + @Mobile @ApiModelProperty(value = "公司电话") private String companyPhone; From 788e9ca2397e591288368935924bb6dc39c4bb1e Mon Sep 17 00:00:00 2001 From: lifenlong Date: Sat, 26 Jun 2021 11:04:20 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=B5=E8=AF=9D?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/lili/common/validation/Mobile.java | 33 +++++++++++++++++ .../validation/impl/MobileValidator.java | 35 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 framework/src/main/java/cn/lili/common/validation/Mobile.java create mode 100644 framework/src/main/java/cn/lili/common/validation/impl/MobileValidator.java diff --git a/framework/src/main/java/cn/lili/common/validation/Mobile.java b/framework/src/main/java/cn/lili/common/validation/Mobile.java new file mode 100644 index 00000000..578888bc --- /dev/null +++ b/framework/src/main/java/cn/lili/common/validation/Mobile.java @@ -0,0 +1,33 @@ +package cn.lili.common.validation; + +import cn.lili.common.validation.impl.MobileValidator; +import cn.lili.common.validation.impl.PhoneValidator; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * 电话号码校验注解 + * + * @author Bulbasaur + */ +@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER}) +@Retention(RUNTIME) +@Documented +@Constraint(validatedBy = {MobileValidator.class}) +public @interface Mobile { + + String regexp() default ""; + + String message() default "电话号码格式不正确"; + + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/framework/src/main/java/cn/lili/common/validation/impl/MobileValidator.java b/framework/src/main/java/cn/lili/common/validation/impl/MobileValidator.java new file mode 100644 index 00000000..2b21b32c --- /dev/null +++ b/framework/src/main/java/cn/lili/common/validation/impl/MobileValidator.java @@ -0,0 +1,35 @@ +package cn.lili.common.validation.impl; + +import cn.lili.common.validation.Mobile; +import cn.lili.common.validation.Phone; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + + +public class MobileValidator implements ConstraintValidator { + + @Override + public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) { + Pattern p1 = null,p2 = null; + Matcher m = null; + boolean b = false; + p1 = Pattern.compile("^[0][1-9]{2,3}-[0-9]{5,10}$"); // 验证带区号的 + p2 = Pattern.compile("^[1-9]{1}[0-9]{5,8}$"); // 验证没有区号的 + if(value.length() >9) + { m = p1.matcher(value); + b = m.matches(); + }else{ + m = p2.matcher(value); + b = m.matches(); + } + return b; + } + + @Override + public void initialize(Mobile constraintAnnotation) { + + } +} From d0475463742f52dda25ed70a33dd49f4dd63e8ee Mon Sep 17 00:00:00 2001 From: lifenlong Date: Sat, 26 Jun 2021 11:18:14 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E7=9B=B4=E6=92=AD=E9=97=B4=E5=8E=BB?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E5=95=86=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/lili/common/enums/ResultCode.java | 5 +++++ .../modules/broadcast/serviceimpl/StudioServiceImpl.java | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/framework/src/main/java/cn/lili/common/enums/ResultCode.java b/framework/src/main/java/cn/lili/common/enums/ResultCode.java index bb92dd6f..26490d88 100644 --- a/framework/src/main/java/cn/lili/common/enums/ResultCode.java +++ b/framework/src/main/java/cn/lili/common/enums/ResultCode.java @@ -320,6 +320,11 @@ public enum ResultCode { FULL_DISCOUNT_EDIT_DELETE(43002, "删除满优惠活动成功"), + /** + * 直播 + */ + STODIO_GOODS_EXIST_ERROR(44001,"直播商品已存在"), + /** * 店铺 */ diff --git a/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java b/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java index 18f9d74c..7d81c7a4 100644 --- a/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java @@ -152,6 +152,14 @@ public class StudioServiceImpl extends ServiceImpl impleme @Override public Boolean push(Integer roomId, Integer goodsId) { + + //判断直播间是否已添加商品 + if(studioCommodityService.getOne( + new LambdaQueryWrapper().eq(StudioCommodity::getRoomId,roomId) + .eq(StudioCommodity::getGoodsId,goodsId))!=null){ + throw new ServiceException(ResultCode.STODIO_GOODS_EXIST_ERROR); + } + //调用微信接口添加直播间商品并进行记录 if (wechatLivePlayerUtil.pushGoods(roomId, goodsId)) { studioCommodityService.save(new StudioCommodity(roomId, goodsId)); From 2d5c0d6a1fd7d5bd06685227b79303cbd3b88aa5 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Sat, 26 Jun 2021 14:07:21 +0800 Subject: [PATCH 04/14] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=BC=98=E6=83=A0?= =?UTF-8?q?=E5=88=B8=EF=BC=8C=E5=88=A0=E9=99=A4=E4=BC=98=E6=83=A0=E5=88=B8?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=85=B3=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/CouponServiceImpl.java | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java index de3683db..14444691 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java @@ -15,18 +15,12 @@ import cn.lili.common.vo.PageVO; import cn.lili.config.rocketmq.RocketmqCustomProperties; import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.service.GoodsSkuService; -import cn.lili.modules.promotion.entity.dos.Coupon; -import cn.lili.modules.promotion.entity.dos.FullDiscount; -import cn.lili.modules.promotion.entity.dos.MemberCoupon; -import cn.lili.modules.promotion.entity.dos.PromotionGoods; +import cn.lili.modules.promotion.entity.dos.*; import cn.lili.modules.promotion.entity.enums.*; import cn.lili.modules.promotion.entity.vos.CouponSearchParams; import cn.lili.modules.promotion.entity.vos.CouponVO; import cn.lili.modules.promotion.mapper.CouponMapper; -import cn.lili.modules.promotion.service.CouponService; -import cn.lili.modules.promotion.service.FullDiscountService; -import cn.lili.modules.promotion.service.MemberCouponService; -import cn.lili.modules.promotion.service.PromotionGoodsService; +import cn.lili.modules.promotion.service.*; import cn.lili.modules.promotion.tools.PromotionTools; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -76,6 +70,9 @@ public class CouponServiceImpl extends ServiceImpl impleme //满额活动 @Autowired private FullDiscountService fullDiscountService; + //优惠券活动-优惠券关联 + @Autowired + private CouponActivityItemService couponActivityItemService; @Override public CouponVO add(CouponVO coupon) { @@ -159,15 +156,31 @@ public class CouponServiceImpl extends ServiceImpl impleme @Override public boolean deleteCoupon(String id) { CouponVO couponVO = checkStatus(id); - LambdaUpdateWrapper couponUpdateWrapper = new LambdaUpdateWrapper().eq(Coupon::getId, id).set(Coupon::getPromotionStatus, PromotionStatusEnum.CLOSE.name()).set(Coupon::getDeleteFlag, true); + //更新优惠券状态为关闭,标示删除标志 + LambdaUpdateWrapper couponUpdateWrapper = new LambdaUpdateWrapper().eq(Coupon::getId, id) + .set(Coupon::getPromotionStatus, PromotionStatusEnum.CLOSE.name()).set(Coupon::getDeleteFlag, true); boolean result = this.update(couponUpdateWrapper); - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper().eq(PromotionGoods::getPromotionId, id).set(PromotionGoods::getPromotionStatus, PromotionStatusEnum.CLOSE.name()).set(PromotionGoods::getDeleteFlag, true); + //更新促销商品记录信息为删除 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() + .eq(PromotionGoods::getPromotionId, id) + .set(PromotionGoods::getPromotionStatus, PromotionStatusEnum.CLOSE.name()) + .set(PromotionGoods::getDeleteFlag, true); this.promotionGoodsService.update(updateWrapper); - LambdaUpdateWrapper memberCouponLambdaUpdateWrapper = new LambdaUpdateWrapper().eq(MemberCoupon::getCouponId, id).set(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.CLOSED.name()); + + //删除mongo优惠券信息 + LambdaUpdateWrapper memberCouponLambdaUpdateWrapper = new LambdaUpdateWrapper() + .eq(MemberCoupon::getCouponId, id) + .set(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.CLOSED.name()); memberCouponService.update(memberCouponLambdaUpdateWrapper); this.mongoTemplate.remove(new Query().addCriteria(Criteria.where("id").is(id)), CouponVO.class); + + //删除优惠券活动关联优惠券 + couponActivityItemService.remove(new LambdaQueryWrapper() + .eq(CouponActivityItem::getCouponId,id)); + + //删除延时任务 this.timeTrigger.delete(TimeExecuteConstant.PROMOTION_EXECUTOR, couponVO.getStartTime().getTime(), DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.PROMOTION, (PromotionTypeEnum.COUPON.name() + couponVO.getId())), From 467e9887d01ad7dcb0c83497c726f6a9b5131994 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Sat, 26 Jun 2021 14:38:27 +0800 Subject: [PATCH 05/14] =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E7=9B=B4=E6=92=AD=E9=97=B4=E5=BC=80=E5=A7=8B=E3=80=81=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../broadcast/serviceimpl/StudioServiceImpl.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java b/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java index 7d81c7a4..c751a61a 100644 --- a/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java @@ -61,9 +61,9 @@ public class StudioServiceImpl extends ServiceImpl impleme public Boolean create(Studio studio) { try { //创建小程序直播 - Map roomMap = wechatLivePlayerUtil.create(studio); - studio.setRoomId(Integer.parseInt(roomMap.get("roomId"))); - studio.setQrCodeUrl(roomMap.get("qrcodeUrl")); +// Map roomMap = wechatLivePlayerUtil.create(studio); +// studio.setRoomId(Integer.parseInt(roomMap.get("roomId"))); +// studio.setQrCodeUrl(roomMap.get("qrcodeUrl")); studio.setStoreId(UserContext.getCurrentUser().getStoreId()); studio.setStatus(StudioStatusEnum.NEW.name()); //直播间添加成功发送直播间开启、关闭延时任务 @@ -71,7 +71,8 @@ public class StudioServiceImpl extends ServiceImpl impleme //直播开启延时任务 BroadcastMessage broadcastMessage = new BroadcastMessage(studio.getId(), StudioStatusEnum.START.name()); TimeTriggerMsg timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.BROADCAST_EXECUTOR, - Long.parseLong(studio.getStartTime()) * 1000L, broadcastMessage, + Long.parseLong(studio.getStartTime()), + broadcastMessage, DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.BROADCAST, studio.getId()), rocketmqCustomProperties.getPromotionTopic()); @@ -81,7 +82,7 @@ public class StudioServiceImpl extends ServiceImpl impleme //直播结束延时任务 broadcastMessage = new BroadcastMessage(studio.getId(), StudioStatusEnum.END.name()); timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.BROADCAST_EXECUTOR, - Long.parseLong(studio.getEndTime()) * 1000L, broadcastMessage, + Long.parseLong(studio.getEndTime()), broadcastMessage, DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.BROADCAST, studio.getId()), rocketmqCustomProperties.getPromotionTopic()); //发送促销活动开始的延时任务 From 80007a6b8629078241062c44ba4fedffe2a5c95b Mon Sep 17 00:00:00 2001 From: lifenlong Date: Sat, 26 Jun 2021 14:44:55 +0800 Subject: [PATCH 06/14] =?UTF-8?q?=E8=AE=BE=E5=AE=9A=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=95=86=E5=AE=B6=E7=BB=93=E7=AE=97=E6=97=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/lili/modules/store/serviceimpl/StoreServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java index 687b9eb5..c6706df1 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java @@ -177,7 +177,10 @@ public class StoreServiceImpl extends ServiceImpl implements member.setHaveStore(true); member.setStoreId(id); memberService.updateById(member); - + //设定商家的结算日 + storeDetailService.update(new LambdaUpdateWrapper() + .eq(StoreDetail::getStoreId,id) + .set(StoreDetail::getSettlementDay,new DateTime())); } else { store.setStoreDisable(StoreStatusEnum.REFUSED.value()); } From 873a960d3a1eb9905ca9e714122db6da629c2b3c Mon Sep 17 00:00:00 2001 From: lifenlong Date: Sat, 26 Jun 2021 15:23:00 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E5=BA=97=E9=93=BA=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E5=88=97=E8=A1=A8=EF=BC=8C=E5=B1=95=E7=A4=BA=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E5=BA=97=E9=93=BA=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../broadcast/serviceimpl/StudioServiceImpl.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java b/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java index c751a61a..990dd0cd 100644 --- a/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/broadcast/serviceimpl/StudioServiceImpl.java @@ -5,6 +5,7 @@ import cn.lili.common.delayqueue.BroadcastMessage; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.context.UserContext; +import cn.lili.common.security.enums.UserEnums; import cn.lili.common.trigger.enums.DelayTypeEnums; import cn.lili.common.trigger.interfaces.TimeTrigger; import cn.lili.common.trigger.model.TimeExecuteConstant; @@ -155,9 +156,9 @@ public class StudioServiceImpl extends ServiceImpl impleme public Boolean push(Integer roomId, Integer goodsId) { //判断直播间是否已添加商品 - if(studioCommodityService.getOne( - new LambdaQueryWrapper().eq(StudioCommodity::getRoomId,roomId) - .eq(StudioCommodity::getGoodsId,goodsId))!=null){ + if (studioCommodityService.getOne( + new LambdaQueryWrapper().eq(StudioCommodity::getRoomId, roomId) + .eq(StudioCommodity::getGoodsId, goodsId)) != null) { throw new ServiceException(ResultCode.STODIO_GOODS_EXIST_ERROR); } @@ -195,10 +196,14 @@ public class StudioServiceImpl extends ServiceImpl impleme @Override public IPage studioList(PageVO pageVO, Integer recommend, String status) { - return this.page(PageUtil.initPage(pageVO), new QueryWrapper() + QueryWrapper queryWrapper = new QueryWrapper() .eq(recommend != null, "recommend", true) .eq(status != null, "status", status) - .orderByDesc("create_time")); + .orderByDesc("create_time"); + if (UserContext.getCurrentUser().getRole().equals(UserEnums.STORE)) { + queryWrapper.eq("store_id", UserContext.getCurrentUser().getStoreId()); + } + return this.page(PageUtil.initPage(pageVO), queryWrapper); } From 1cbab4a219801fd87b857f02f5e97e895ab5b76b Mon Sep 17 00:00:00 2001 From: lifenlong Date: Sat, 26 Jun 2021 15:24:59 +0800 Subject: [PATCH 08/14] =?UTF-8?q?=E5=BA=97=E9=93=BA=E8=AF=84=E4=BB=B7?= =?UTF-8?q?=E5=88=97=E8=A1=A8=EF=BC=8C=E5=B1=95=E7=A4=BA=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E5=BA=97=E9=93=BA=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/member/entity/dto/EvaluationQueryParams.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java index 63881cd3..0e8f093a 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java +++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java @@ -1,5 +1,7 @@ package cn.lili.modules.member.entity.dto; +import cn.lili.common.security.context.UserContext; +import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.PageVO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -85,6 +87,9 @@ public class EvaluationQueryParams extends PageVO { if (StringUtils.isNotEmpty(status)) { queryWrapper.eq("status", status); } + if (UserContext.getCurrentUser().getRole().equals(UserEnums.STORE)) { + queryWrapper.eq("store_id", UserContext.getCurrentUser().getStoreId()); + } queryWrapper.eq("delete_flag", false); queryWrapper.orderByDesc("create_time"); return queryWrapper; From 84f6f0e7ee00c1d0724a1a7cb7425f7715493d9d Mon Sep 17 00:00:00 2001 From: Chopper Date: Mon, 28 Jun 2021 11:28:09 +0800 Subject: [PATCH 09/14] =?UTF-8?q?=E8=AF=84=E4=BB=B7=E5=88=A4=E5=AE=9A?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lili/modules/member/entity/dto/EvaluationQueryParams.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java index 0e8f093a..d132d7c7 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java +++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java @@ -87,7 +87,7 @@ public class EvaluationQueryParams extends PageVO { if (StringUtils.isNotEmpty(status)) { queryWrapper.eq("status", status); } - if (UserContext.getCurrentUser().getRole().equals(UserEnums.STORE)) { + if (UserContext.getCurrentUser() != null && UserContext.getCurrentUser().getRole().equals(UserEnums.STORE)) { queryWrapper.eq("store_id", UserContext.getCurrentUser().getStoreId()); } queryWrapper.eq("delete_flag", false); From 63802a596b6570e95a4dcda1a630f6b0da3e8b4c Mon Sep 17 00:00:00 2001 From: lifenlong Date: Mon, 28 Jun 2021 11:30:37 +0800 Subject: [PATCH 10/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A7=92=E6=9D=80?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/member/entity/dto/EvaluationQueryParams.java | 3 --- .../cn/lili/modules/store/entity/dto/StoreCompanyDTO.java | 5 +++++ .../controller/trade/MemberEvaluationStoreController.java | 3 +++ update-sql/version4.0to4.1.sql | 4 +++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java index 0e8f093a..5ff36340 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java +++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/EvaluationQueryParams.java @@ -87,9 +87,6 @@ public class EvaluationQueryParams extends PageVO { if (StringUtils.isNotEmpty(status)) { queryWrapper.eq("status", status); } - if (UserContext.getCurrentUser().getRole().equals(UserEnums.STORE)) { - queryWrapper.eq("store_id", UserContext.getCurrentUser().getStoreId()); - } queryWrapper.eq("delete_flag", false); queryWrapper.orderByDesc("create_time"); return queryWrapper; diff --git a/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreCompanyDTO.java b/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreCompanyDTO.java index 90b62404..3219f465 100644 --- a/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreCompanyDTO.java +++ b/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreCompanyDTO.java @@ -1,5 +1,6 @@ package cn.lili.modules.store.entity.dto; +import cn.lili.common.validation.Mobile; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -38,6 +39,10 @@ public class StoreCompanyDTO { @ApiModelProperty(value = "公司地址") private String companyAddress; + @Mobile + @ApiModelProperty(value = "公司电话") + private String companyPhone; + @Email @ApiModelProperty(value = "电子邮箱") private String companyEmail; diff --git a/seller-api/src/main/java/cn/lili/controller/trade/MemberEvaluationStoreController.java b/seller-api/src/main/java/cn/lili/controller/trade/MemberEvaluationStoreController.java index 71b77c08..79279fc3 100644 --- a/seller-api/src/main/java/cn/lili/controller/trade/MemberEvaluationStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/trade/MemberEvaluationStoreController.java @@ -1,6 +1,8 @@ package cn.lili.controller.trade; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.context.UserContext; +import cn.lili.common.security.enums.UserEnums; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dto.EvaluationQueryParams; import cn.lili.modules.member.entity.vo.MemberEvaluationListVO; @@ -31,6 +33,7 @@ public class MemberEvaluationStoreController { @ApiOperation(value = "分页获取会员评论列表") @GetMapping public ResultMessage> getByPage(EvaluationQueryParams evaluationQueryParams) { + evaluationQueryParams.setStoreId(UserContext.getCurrentUser().getStoreId()); return ResultUtil.data(memberEvaluationService.queryPage(evaluationQueryParams)); } diff --git a/update-sql/version4.0to4.1.sql b/update-sql/version4.0to4.1.sql index 3bb510a4..a9a48e72 100644 --- a/update-sql/version4.0to4.1.sql +++ b/update-sql/version4.0to4.1.sql @@ -116,4 +116,6 @@ CREATE TABLE `li_coupon_activity_item` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; /** 修改商品模板详情字段类型**/ -ALTER TABLE `li_draft_goods` MODIFY COLUMN `intro` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL; \ No newline at end of file +ALTER TABLE `li_draft_goods` MODIFY COLUMN `intro` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL; +/** 添加秒杀设置**/ +INSERT INTO `li_setting` ( `id`, `create_by`, `create_time`, `delete_flag`, `update_by`, `update_time`, `setting_value` ) VALUES ( 'SECKILL_SETTING', NULL, NULL, NULL, 'admin', '2021-06-04 09:58:39.384000', '{\"seckillRule\":\"秒杀规则\",\"hours\":\"9,10,11,12,13,14,15,21,22,23\"}' ); \ No newline at end of file From c628c0ebb26fe0c1bf8f9d87b8e0cab9ba71a714 Mon Sep 17 00:00:00 2001 From: Chopper Date: Mon, 28 Jun 2021 14:56:34 +0800 Subject: [PATCH 11/14] =?UTF-8?q?=E5=BA=97=E9=93=BA=E5=85=A5=E9=A9=BB?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=BC=BA=E5=A4=B1=E9=97=AE=E9=A2=98=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lili/modules/store/mapper/StoreDetailMapper.java | 2 +- .../modules/store/serviceimpl/StoreServiceImpl.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java b/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java index 0c33996b..4253411e 100644 --- a/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java +++ b/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java @@ -24,7 +24,7 @@ public interface StoreDetailMapper extends BaseMapper { "d.* from li_store s inner join li_store_detail d on s.id=d.store_id where s.id=#{storeId}") StoreDetailVO getStoreDetail(String storeId); - @Select("select s.member_name,s.store_name,s.store_disable,s.self_operated,s.store_center,s.store_logo,s.store_desc,d.* " + + @Select("select s.member_name,s.store_name,s.store_disable,s.self_operated,s.store_center,s.store_logo,s.store_desc,s.store_address_detail,s.store_address_path,s.store_address_id_path,d.* " + "from li_store s inner join li_store_detail d on s.id=d.store_id where s.member_id=#{memberId}") StoreDetailVO getStoreDetailByMemberId(String memberId); diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java index c6706df1..3900662a 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java @@ -179,8 +179,8 @@ public class StoreServiceImpl extends ServiceImpl implements memberService.updateById(member); //设定商家的结算日 storeDetailService.update(new LambdaUpdateWrapper() - .eq(StoreDetail::getStoreId,id) - .set(StoreDetail::getSettlementDay,new DateTime())); + .eq(StoreDetail::getStoreId, id) + .set(StoreDetail::getSettlementDay, new DateTime())); } else { store.setStoreDisable(StoreStatusEnum.REFUSED.value()); } @@ -220,11 +220,17 @@ public class StoreServiceImpl extends ServiceImpl implements if (!Optional.ofNullable(store).isPresent()) { Member member = memberService.getById(UserContext.getCurrentUser().getId()); store = new Store(member); + BeanUtil.copyProperties(storeCompanyDTO, store); this.save(store); StoreDetail storeDetail = new StoreDetail(); storeDetail.setStoreId(store.getId()); BeanUtil.copyProperties(storeCompanyDTO, storeDetail); return storeDetailService.save(storeDetail); + } else { + store.setStoreAddressDetail(storeCompanyDTO.getStoreAddressDetail()); + store.setStoreAddressIdPath(storeCompanyDTO.getStoreAddressIdPath()); + store.setStoreAddressPath(storeCompanyDTO.getStoreAddressPath()); + this.saveOrUpdate(store); } //判断是否存在店铺详情,如果没有则进行新建,如果存在则进行修改 StoreDetail storeDetail = storeDetailService.getStoreDetail(store.getId()); From cf9e6a659a371a9812a9b392eb2ba973fa73ef3c Mon Sep 17 00:00:00 2001 From: Chopper Date: Mon, 28 Jun 2021 15:16:32 +0800 Subject: [PATCH 12/14] =?UTF-8?q?qq=E8=81=94=E5=90=88=E7=99=BB=E5=BD=95ope?= =?UTF-8?q?nid=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/lili/modules/connect/util/ConnectUtil.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/framework/src/main/java/cn/lili/modules/connect/util/ConnectUtil.java b/framework/src/main/java/cn/lili/modules/connect/util/ConnectUtil.java index cf28840a..acf388a3 100644 --- a/framework/src/main/java/cn/lili/modules/connect/util/ConnectUtil.java +++ b/framework/src/main/java/cn/lili/modules/connect/util/ConnectUtil.java @@ -184,6 +184,8 @@ public class ConnectUtil { .clientId(qqConnectSettingItem.getAppId()) .clientSecret(qqConnectSettingItem.getAppKey()) .redirectUri(getRedirectUri(authInterface)) + //这里qq获取unionid 需要配置为true,详情可以查阅属性说明,内部有帮助文档 + .unionId(true) .build(), cache); } } From fe06555a0b405793ac554dadf329566a42888065 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Mon, 28 Jun 2021 16:09:03 +0800 Subject: [PATCH 13/14] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=9630=E5=A4=A9?= =?UTF-8?q?=E7=9A=84=E7=A7=92=E6=9D=80=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../promotion/serviceimpl/SeckillApplyServiceImpl.java | 2 +- .../modules/promotion/serviceimpl/SeckillServiceImpl.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java index 7cec4571..64aa1db9 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java @@ -185,7 +185,7 @@ public class SeckillApplyServiceImpl extends ServiceImpl impl //检查秒杀活动参数 checkSeckillParam(seckillVO, seckill.getStoreId()); //保存到MYSQL中 - boolean result = this.save(seckill); + boolean result = this.save(seckillVO); //保存到MONGO中 this.mongoTemplate.save(seckillVO); //添加秒杀延时任务 @@ -245,7 +245,7 @@ public class SeckillServiceImpl extends ServiceImpl impl public Integer getApplyNum() { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); //秒杀申请时间未超过当前时间 - queryWrapper.le(Seckill::getApplyEndTime, cn.hutool.core.date.DateUtil.date()); + queryWrapper.ge(Seckill::getApplyEndTime, cn.hutool.core.date.DateUtil.date()); queryWrapper.eq(Seckill::getPromotionStatus, PromotionStatusEnum.NEW.name()); return this.count(queryWrapper); } @@ -296,7 +296,7 @@ public class SeckillServiceImpl extends ServiceImpl impl int sameNum = this.count(queryWrapper); //当前时间段是否存在同类活动 if (sameNum > 0) { - throw new ServiceException("当前时间内已存在同类活动"); + throw new ServiceException("当前时间内已存在同类活动:"+seckill.getStartTime()); } } } \ No newline at end of file From d5fab95707f7421f7e42130cba73c48bbe4c747f Mon Sep 17 00:00:00 2001 From: lifenlong Date: Mon, 28 Jun 2021 18:18:23 +0800 Subject: [PATCH 14/14] =?UTF-8?q?1.=E4=BC=98=E6=83=A0=E5=88=B8=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E7=94=B1=E5=AE=9A=E6=97=B6=E5=99=A8=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E5=BB=B6=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E3=80=82=202.=E4=BF=AE=E6=94=B9shopEditDTO,=E4=B8=8D=E7=BB=A7?= =?UTF-8?q?=E6=89=BFShopDetail?= 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;