Merge pull request #35

feature/pg
This commit is contained in:
Hacker_Lei 2022-01-21 19:05:22 +08:00 committed by GitHub
commit 6d0dd09b5b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 65 additions and 37 deletions

View File

@ -20,6 +20,6 @@ public class MemberExecute implements MemberLoginEvent {
@Override
public void memberLogin(Member member) {
memberService.updateById(member);
memberService.updateMemberLoginTime(member.getId());
}
}

View File

@ -72,7 +72,7 @@ public class SensitiveJsonSerializer extends JsonSerializer<String>
AuthUser authUser = UserContext.getCurrentUser();
//默认脱敏
if (authUser == null) {
return true;
return false;
}
//如果是店铺

View File

@ -227,4 +227,12 @@ public interface MemberService extends IService<Member> {
* @return 所有会员的手机号
*/
List<String> getAllMemberMobile();
/**
* 更新会员登录时间为最新时间
*
* @param memberId 会员id
* @return 是否更新成功
*/
boolean updateMemberLoginTime(String memberId);
}

View File

@ -50,8 +50,8 @@ import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@ -595,6 +595,20 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
return this.baseMapper.getAllMemberMobile();
}
/**
* 更新会员登录时间为最新时间
*
* @param memberId 会员id
* @return 是否更新成功
*/
@Override
public boolean updateMemberLoginTime(String memberId) {
LambdaUpdateWrapper<Member> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(Member::getId, memberId);
updateWrapper.set(Member::getLastLoginDate, new Date());
return this.update(updateWrapper);
}
/**
* 检测会员
*

View File

@ -43,6 +43,19 @@ public class BasePromotionsSearchParams {
private String storeId;
public <T> QueryWrapper<T> queryWrapper() {
QueryWrapper<T> queryWrapper = this.baseQueryWrapper();
if (CharSequenceUtil.isNotEmpty(promotionStatus)) {
queryWrapper.and(i -> {
for (String status : promotionStatus.split(",")) {
i.or(PromotionTools.queryPromotionStatus(PromotionsStatusEnum.valueOf(status)));
}
});
}
return queryWrapper;
}
public <T> QueryWrapper<T> baseQueryWrapper() {
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
if (CharSequenceUtil.isNotEmpty(id)) {
@ -54,13 +67,6 @@ public class BasePromotionsSearchParams {
if (endTime != null) {
queryWrapper.le("end_time", new Date(endTime));
}
if (CharSequenceUtil.isNotEmpty(promotionStatus)) {
queryWrapper.and(i -> {
for (String status : promotionStatus.split(",")) {
i.or(PromotionTools.queryPromotionStatus(PromotionsStatusEnum.valueOf(status)));
}
});
}
if (CharSequenceUtil.isNotEmpty(scopeType)) {
queryWrapper.eq("scope_type", scopeType);
}

View File

@ -60,7 +60,7 @@ public class CouponSearchParams extends BasePromotionsSearchParams implements Se
@Override
public <T> QueryWrapper<T> queryWrapper() {
QueryWrapper<T> queryWrapper = super.queryWrapper();
QueryWrapper<T> queryWrapper = super.baseQueryWrapper();
if (CharSequenceUtil.isNotEmpty(couponName)) {
queryWrapper.like("coupon_name", couponName);
}
@ -80,24 +80,27 @@ public class CouponSearchParams extends BasePromotionsSearchParams implements Se
queryWrapper.eq("get_type", CouponGetEnum.valueOf(getType).name());
}
if (CharSequenceUtil.isNotEmpty(this.getPromotionStatus())) {
switch (PromotionsStatusEnum.valueOf(this.getPromotionStatus())) {
case NEW:
queryWrapper.nested(i -> i.gt(PromotionTools.START_TIME_COLUMN, new Date()).gt(PromotionTools.END_TIME_COLUMN, new Date()));
break;
case START:
queryWrapper.nested(i -> i.le(PromotionTools.START_TIME_COLUMN, new Date()).ge(PromotionTools.END_TIME_COLUMN, new Date()))
.or(i -> i.gt("effective_days", 0).eq(RANGE_DAY_TYPE_COLUMN, CouponRangeDayEnum.DYNAMICTIME.name()));
break;
case END:
queryWrapper.nested(i -> i.lt(PromotionTools.START_TIME_COLUMN, new Date()).lt(PromotionTools.END_TIME_COLUMN, new Date()));
break;
case CLOSE:
queryWrapper.nested(n -> n.nested(i -> i.isNull(PromotionTools.START_TIME_COLUMN).isNull(PromotionTools.END_TIME_COLUMN)
.eq(RANGE_DAY_TYPE_COLUMN, CouponRangeDayEnum.FIXEDTIME.name())).
or(i -> i.le("effective_days", 0).eq(RANGE_DAY_TYPE_COLUMN, CouponRangeDayEnum.DYNAMICTIME.name())));
break;
default:
}
queryWrapper.and(p -> {
switch (PromotionsStatusEnum.valueOf(this.getPromotionStatus())) {
case NEW:
p.nested(i -> i.gt(PromotionTools.START_TIME_COLUMN, new Date()).gt(PromotionTools.END_TIME_COLUMN, new Date()));
break;
case START:
p.nested(i -> i.le(PromotionTools.START_TIME_COLUMN, new Date()).ge(PromotionTools.END_TIME_COLUMN, new Date()))
.or(i -> i.gt("effective_days", 0).eq(RANGE_DAY_TYPE_COLUMN, CouponRangeDayEnum.DYNAMICTIME.name()));
break;
case END:
p.nested(i -> i.lt(PromotionTools.START_TIME_COLUMN, new Date()).lt(PromotionTools.END_TIME_COLUMN, new Date()));
break;
case CLOSE:
p.nested(n -> n.nested(i -> i.isNull(PromotionTools.START_TIME_COLUMN).isNull(PromotionTools.END_TIME_COLUMN)
.eq(RANGE_DAY_TYPE_COLUMN, CouponRangeDayEnum.FIXEDTIME.name())).
or(i -> i.le("effective_days", 0).eq(RANGE_DAY_TYPE_COLUMN, CouponRangeDayEnum.DYNAMICTIME.name())));
break;
default:
}
});
}
if (this.getStartTime() != null) {
queryWrapper.ge("start_time", new Date(this.getEndTime()));
@ -105,7 +108,6 @@ public class CouponSearchParams extends BasePromotionsSearchParams implements Se
if (this.getEndTime() != null) {
queryWrapper.le("end_time", new Date(this.getEndTime()));
}
queryWrapper.eq("delete_flag", false);
this.betweenWrapper(queryWrapper);
queryWrapper.orderByDesc("create_time");
return queryWrapper;

View File

@ -1,8 +1,10 @@
package cn.lili.modules.promotion.entity.dto.search;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.modules.promotion.entity.enums.*;
import cn.lili.modules.promotion.tools.PromotionTools;
import cn.lili.modules.promotion.entity.enums.CouponGetEnum;
import cn.lili.modules.promotion.entity.enums.CouponTypeEnum;
import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -78,9 +80,6 @@ public class MemberCouponSearchParams extends BasePromotionsSearchParams impleme
if (CharSequenceUtil.isNotEmpty(memberCouponStatus)) {
queryWrapper.eq("member_coupon_status", MemberCouponStatusEnum.valueOf(memberCouponStatus).name());
}
if (CharSequenceUtil.isNotEmpty(this.getPromotionStatus())) {
queryWrapper.and(PromotionTools.queryPromotionStatus(PromotionsStatusEnum.valueOf(getPromotionStatus())));
}
if (CharSequenceUtil.isNotEmpty(price)) {
String[] s = price.split("_");
if (s.length > 1) {

View File

@ -23,8 +23,7 @@ public class ManagerApiApplication {
@Primary
@Bean
public TaskExecutor primaryTask() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
return executor;
return new ThreadPoolTaskExecutor();
}
public static void main(String[] args) {