This commit is contained in:
pikachu1995@126.com
2023-03-27 11:01:21 +08:00
25 changed files with 390 additions and 84 deletions

View File

@@ -81,7 +81,7 @@ public class DistributionOrder extends BaseIdEntity {
private Integer num;
public DistributionOrder(StoreFlow storeFlow) {
distributionOrderStatus = DistributionOrderStatusEnum.WAIT_BILL.name();
distributionOrderStatus = DistributionOrderStatusEnum.NO_COMPLETED.name();
memberId = storeFlow.getMemberId();
memberName = storeFlow.getMemberName();
rebate = storeFlow.getDistributionRebate();

View File

@@ -6,6 +6,8 @@ package cn.lili.modules.distribution.entity.enums;
* @author pikachu
*/
public enum DistributionOrderStatusEnum {
//未完成
NO_COMPLETED("未完成"),
//待结算(冻结)
WAIT_BILL("待结算"),
//待提现

View File

@@ -1,10 +1,14 @@
package cn.lili.modules.distribution.service;
import cn.hutool.core.date.DateTime;
import cn.lili.modules.distribution.entity.dos.DistributionOrder;
import cn.lili.modules.distribution.entity.vos.DistributionOrderSearchParams;
import cn.lili.modules.order.order.entity.dos.OrderItem;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* 分销订单业务层
@@ -45,4 +49,17 @@ public interface DistributionOrderService extends IService<DistributionOrder> {
*/
void refundOrder(String afterSaleSn);
/**
* 分销订单状态修改
*
* @param orderItems
*/
void updateDistributionOrderStatus(List<OrderItem> orderItems);
/**
* 分销订单结算
* @param dateTime
* @param distributionOrderStatus
*/
void updateRebate(DateTime dateTime, String distributionOrderStatus);
}

View File

@@ -1,19 +1,26 @@
package cn.lili.modules.distribution.serviceimpl;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import cn.lili.common.utils.CurrencyUtil;
import cn.lili.common.utils.SpringContextUtil;
import cn.lili.modules.distribution.entity.dos.Distribution;
import cn.lili.modules.distribution.entity.dos.DistributionOrder;
import cn.lili.modules.distribution.entity.enums.DistributionOrderStatusEnum;
import cn.lili.modules.distribution.entity.enums.DistributionStatusEnum;
import cn.lili.modules.distribution.entity.vos.DistributionOrderSearchParams;
import cn.lili.modules.distribution.mapper.DistributionOrderMapper;
import cn.lili.modules.distribution.service.DistributionOrderService;
import cn.lili.modules.distribution.service.DistributionService;
import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.modules.order.order.entity.dos.OrderItem;
import cn.lili.modules.order.order.entity.dos.StoreFlow;
import cn.lili.modules.order.order.entity.dto.StoreFlowQueryDTO;
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
import cn.lili.modules.order.order.entity.enums.PayStatusEnum;
import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.order.order.service.StoreFlowService;
@@ -31,7 +38,11 @@ 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.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -107,14 +118,7 @@ public class DistributionOrderServiceImpl extends ServiceImpl<DistributionOrderM
//设置结算天数(解冻日期)
Setting setting = settingService.get(SettingEnum.DISTRIBUTION_SETTING.name());
DistributionSetting distributionSetting = JSONUtil.toBean(setting.getSettingValue(), DistributionSetting.class);
//默认解冻1天
if (distributionSetting.getCashDay().equals(0)) {
distributionOrder.setSettleCycle(new DateTime());
} else {
DateTime dateTime = new DateTime();
dateTime = dateTime.offsetNew(DateField.DAY_OF_MONTH, distributionSetting.getCashDay());
distributionOrder.setSettleCycle(dateTime);
}
//添加分销订单
this.save(distributionOrder);
@@ -126,15 +130,11 @@ public class DistributionOrderServiceImpl extends ServiceImpl<DistributionOrderM
//如果天数写0则立即进行结算
if (distributionSetting.getCashDay().equals(0)) {
DateTime dateTime = new DateTime();
dateTime = dateTime.offsetNew(DateField.MINUTE, 5);
//计算分销提佣
this.baseMapper.rebate(DistributionOrderStatusEnum.WAIT_BILL.name(), dateTime);
//修改分销订单状态
this.update(new LambdaUpdateWrapper<DistributionOrder>()
.eq(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.WAIT_BILL.name())
.le(DistributionOrder::getSettleCycle, dateTime)
.set(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.WAIT_CASH.name()));
dateTime = dateTime.offsetNew(DateField.DAY_OF_MONTH, -distributionSetting.getCashDay());
//防止事务失效采用上下文获取bean
DistributionOrderService bean = SpringContextUtil.getBean(DistributionOrderService.class);
//分销订单结算
bean.updateRebate(dateTime, DistributionOrderStatusEnum.WAIT_BILL.name());
}
}
@@ -214,4 +214,128 @@ public class DistributionOrderServiceImpl extends ServiceImpl<DistributionOrderM
}
}
@Override
public void updateDistributionOrderStatus(List<OrderItem> orderItems) {
if (orderItems.isEmpty()) {
return;
}
//获取未完成分销订单
List<DistributionOrder> distributionOrderList = this.list(new LambdaQueryWrapper<DistributionOrder>()
.eq(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.NO_COMPLETED.name()));
if (distributionOrderList.isEmpty()) {
return;
}
List<DistributionOrder> list = ListUtil.list(false);
orderItems.stream().forEach(orderItem -> {
//订单售后状态为已失效并且投诉状态为已失效
if (StrUtil.equals(OrderItemAfterSaleStatusEnum.EXPIRED.name(), orderItem.getAfterSaleStatus())) {
List<DistributionOrder> collect = distributionOrderList.stream()
.filter(distributionOrder -> StrUtil.equals(distributionOrder.getOrderItemSn(), orderItem.getSn()))
.map((distributionOrder) -> {
distributionOrder.setDistributionOrderStatus(DistributionOrderStatusEnum.WAIT_BILL.name());
distributionOrder.setSettleCycle(new Date());
return distributionOrder;
})
.collect(Collectors.toList());
list.addAll(collect);
}
});
if (!list.isEmpty()) {
//批量修改分销订单结算状态
this.updateBatchById(list);
}
}
@Override
public void updateRebate(DateTime dateTime, String distributionOrderStatus) {
//结算时间延后五分钟
dateTime = dateTime.offsetNew(DateField.MINUTE, 5);
//获取待结算订单
List<DistributionOrder> distributionOrderList = this.list(new LambdaQueryWrapper<DistributionOrder>()
.eq(DistributionOrder::getDistributionOrderStatus, distributionOrderStatus)
.isNotNull(DistributionOrder::getSettleCycle)
.le(DistributionOrder::getSettleCycle, dateTime));
//校验待结算订单
if (ObjectUtil.isNotNull(distributionOrderList) && distributionOrderList.size() > 0) {
//结算分销人员信息列表
List<Distribution> distributionUpdateList = new ArrayList<>();
//获取分销员信息
List<Distribution> distributionList = distributionService.list(new LambdaQueryWrapper<Distribution>()
.eq(Distribution::getDistributionStatus, DistributionStatusEnum.PASS.name()));
//根据销人员获取对应分销订单
Map<String, List<DistributionOrder>> distributionOrderList1 = distributionOrderList.stream()
.collect(Collectors.groupingBy(DistributionOrder::getDistributionId));
//校验分销订单不为空
if (ObjectUtil.isNotNull(distributionOrderList1) && distributionOrderList1.size() > 0) {
//遍历分销订单map
distributionOrderList1.forEach((key, value) -> {
//计算分销结算金额
distributionUpdateList.add(checkDistribution(key, value, distributionList));
});
}
//校验分销信息列表不为空
if (ObjectUtil.isNotNull(distributionUpdateList) && !distributionUpdateList.isEmpty()) {
//修改分销员收益
distributionService.updateBatchById(distributionUpdateList);
distributionOrderList.stream().forEach(distributionOrder -> {
//修改分销订单状态为待提现
distributionOrder.setDistributionOrderStatus(DistributionOrderStatusEnum.WAIT_CASH.name());
});
}
//修改分销订单状态
this.updateBatchById(distributionOrderList);
}
}
/**
* 计算分销结算金额
*
* @param distributionId 分销ID
* @param list 分销订单
* @param distributionList 分销列表
* @return
*/
public Distribution checkDistribution(String distributionId, List<DistributionOrder> list, List<Distribution> distributionList) {
//获取所有待结算订单分销人员信息
Distribution distribution = distributionList.parallelStream().filter(a -> StrUtil.equals(a.getId(), distributionId)).collect(Collectors.toList()).get(0);
//获取分销订单总金额
double rebate = list.stream().mapToDouble(DistributionOrder::getRebate).sum();
//检验单分销人员冻结金额为负数时.扣除负数冻结金额后再结算
if (distribution.getCommissionFrozen() < 0) {
rebate = CurrencyUtil.add(distribution.getCommissionFrozen() == null ? 0.0 : distribution.getCommissionFrozen(), rebate);
}
//结算订单总金额+分销可提现金额
Double canRebate = CurrencyUtil.add(rebate, distribution.getCanRebate() == null ? 0.0 : distribution.getCanRebate());
//结算金额小于0
if (canRebate < 0) {
//结算订单总金额+分销可提现金额
distribution.setCanRebate(0.0);
//冻结金额
distribution.setCommissionFrozen(canRebate);
} else {
//结算订单总金额+分销可提现金额
distribution.setCanRebate(canRebate);
//冻结金额
distribution.setCommissionFrozen(0.0);
}
return distribution;
}
}

View File

@@ -133,7 +133,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
//获取商品ID列表
List<String> list = this.baseMapper.getGoodsIdByStoreId(storeId);
//下架店铺下的商品
updateGoodsMarketAble(list, GoodsStatusEnum.DOWN, "店铺关闭");
this.updateGoodsMarketAbleByStoreId(storeId, GoodsStatusEnum.DOWN, "店铺关闭");
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("下架商品",
rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.DOWN.name(), JSONUtil.toJsonStr(list)));

View File

@@ -312,9 +312,8 @@ public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper, GoodsSku> i
map.put("data", goodsSkuDetail);
//获取分类
String[] split = goodsSkuDetail.getCategoryPath().split(",");
map.put("wholesaleList", wholesaleService.findByGoodsId(goodsSkuDetail.getGoodsId()));
map.put("categoryName", categoryService.getCategoryNameByIds(Arrays.asList(split)));
map.put("wholesaleList", GoodsSalesModeEnum.WHOLESALE.name().equals(goodsVO.getSalesModel()) ? wholesaleService.findByGoodsId(goodsSkuDetail.getGoodsId()) : Collections.emptyList());
map.put("categoryName", CharSequenceUtil.isNotEmpty(goodsIndex.getCategoryNamePath()) ? goodsIndex.getCategoryNamePath().split(",") : null);
//获取规格信息
map.put("specs", this.groupBySkuAndSpec(goodsVO.getSkuList()));

View File

@@ -21,6 +21,13 @@ public interface ImTalkService extends IService<ImTalk> {
*/
ImTalk getTalkByUser(String userId1);
/**
* 获取与某人的聊天
* @param userId
* @return
*/
ImTalkVO getTalkByUserId(String userId);
/**
* 置顶消息
*

View File

@@ -88,6 +88,50 @@ public class ImTalkServiceImpl extends ServiceImpl<ImTalkMapper, ImTalk> impleme
return imTalk;
}
@Override
public ImTalkVO getTalkByUserId(String userId) {
LambdaQueryWrapper<ImTalk> queryWrapper = new LambdaQueryWrapper<>();
AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser());
//登录用户的Id
String selfId = "";
//查看当前用户角色对Id进行赋值
if(UserEnums.STORE.equals(currentUser.getRole())){
selfId = currentUser.getStoreId();
}else if(UserEnums.MEMBER.equals(currentUser.getRole())){
selfId = currentUser.getId();
}
//小数在前保证永远是同一个对话
String finalSelfId = selfId;
queryWrapper.and(wq-> wq.eq(ImTalk::getUserId2, userId).eq(ImTalk::getUserId1, finalSelfId).or().eq(ImTalk::getUserId2, finalSelfId).eq(ImTalk::getUserId1, userId));
ImTalk imTalk = this.getOne(queryWrapper);
//如果没有聊天,则创建聊天
if (imTalk == null) {
//当自己为店铺时
if(UserEnums.STORE.equals(currentUser.getRole())){
Store selfStore = storeService.getById(selfId);
//没有这个用户信息
Member other = memberService.getById(userId);
if(other == null){
return null;
}
//自己为店铺其他人必定为用户
imTalk = new ImTalk(other,selfStore);
}else if(UserEnums.MEMBER.equals(currentUser.getRole())){
//没有这个店铺信息
Member self = memberService.getById(selfId);
Member otherMember = memberService.getById(userId);
Store otherStore = storeService.getById(userId);
if(otherStore != null){
imTalk = new ImTalk(self, otherStore);
}else if (otherMember != null){
imTalk = new ImTalk(self, otherMember);
}
}
this.save(imTalk);
}
return new ImTalkVO(imTalk,currentUser.getId());
}
/**
* 发起聊天后如果聊天不可见为true则需要修正
*

View File

@@ -1,6 +1,5 @@
package cn.lili.modules.permission.serviceimpl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.SearchVO;
@@ -9,7 +8,9 @@ import cn.lili.modules.permission.repository.SystemLogRepository;
import cn.lili.modules.permission.service.SystemLogService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.elasticsearch.common.unit.Fuzziness;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.MultiMatchQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.sort.SortBuilders;
import org.elasticsearch.search.sort.SortOrder;
@@ -82,25 +83,22 @@ public class SystemLogServiceImpl implements SystemLogService {
}
if (CharSequenceUtil.isNotEmpty(operatorName)) {
nativeSearchQueryBuilder.withFilter(QueryBuilders.wildcardQuery("username", "*" + operatorName + "*"));
nativeSearchQueryBuilder.withQuery(QueryBuilders.matchQuery("username", operatorName));
}
if (CharSequenceUtil.isNotEmpty(key)) {
BoolQueryBuilder filterBuilder = new BoolQueryBuilder();
filterBuilder.should(QueryBuilders.wildcardQuery("requestUrl", "*" + key + "*"))
.should(QueryBuilders.wildcardQuery("requestParam", "*" + key + "*"))
.should(QueryBuilders.wildcardQuery("responseBody", "*" + key + "*"))
.should(QueryBuilders.wildcardQuery("name", "*" + key + "*"));
nativeSearchQueryBuilder.withFilter(filterBuilder);
MultiMatchQueryBuilder multiMatchQueryBuilder = QueryBuilders.multiMatchQuery(key, "requestUrl", "requestParam", "responseBody", "name");
multiMatchQueryBuilder.fuzziness(Fuzziness.AUTO);
nativeSearchQueryBuilder.withFilter(multiMatchQueryBuilder);
}
//时间有效性判定
if (searchVo.getConvertStartDate() != null && searchVo.getConvertEndDate() != null) {
BoolQueryBuilder filterBuilder = new BoolQueryBuilder();
//大于方法
filterBuilder.must(
filterBuilder.filter(
QueryBuilders.rangeQuery("createTime")
.gte(DateUtil.format(searchVo.getConvertStartDate(), "dd/MM/yyyy"))
.lte(DateUtil.format(searchVo.getConvertEndDate(), "dd/MM/yyyy")).format("dd/MM/yyyy||yyyy"));
.gte(searchVo.getConvertStartDate().getTime())
.lte(searchVo.getConvertEndDate().getTime()));
nativeSearchQueryBuilder.withFilter(filterBuilder);
}

View File

@@ -293,6 +293,7 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
LambdaUpdateWrapper<MemberCoupon> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(MemberCoupon::getId, memberCouponIds);
updateWrapper.set(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.NEW.name());
updateWrapper.set(MemberCoupon::getConsumptionTime, null);
return this.update(updateWrapper);
}

View File

@@ -455,7 +455,7 @@ public class EsGoodsIndexServiceImpl extends BaseElasticsearchService implements
public void deleteIndex(Map<String, Object> queryFields) {
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
for (Map.Entry<String, Object> entry : queryFields.entrySet()) {
boolQueryBuilder.filter(QueryBuilders.termsQuery(entry.getKey(), entry.getValue()));
boolQueryBuilder.filter(QueryBuilders.termsQuery(entry.getKey(), entry.getValue().toString()));
}
DeleteByQueryRequest deleteByQueryRequest = new DeleteByQueryRequest();

View File

@@ -15,6 +15,7 @@ import cn.lili.modules.search.entity.dto.EsGoodsSearchDTO;
import cn.lili.modules.search.entity.dto.ParamOptions;
import cn.lili.modules.search.entity.dto.SelectorOptions;
import cn.lili.modules.search.service.EsGoodsSearchService;
import cn.lili.modules.search.utils.SqlFilter;
import com.alibaba.druid.util.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.lucene.search.join.ScoreMode;
@@ -81,7 +82,10 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
@Override
public SearchPage<EsGoodsIndex> searchGoods(EsGoodsSearchDTO searchDTO, PageVO pageVo) {
if (CharSequenceUtil.isNotBlank(searchDTO.getKeyword())) {
//如果搜索词不为空且明显不是sql注入那么就将搜索词加入热搜词
//PS:线上环境运行很多客户反馈被sql攻击写在了搜索热词里这里控制命中关键字就不做热词统计如果线上比较严格可以调用关键词替换不过不建议这么做
if (CharSequenceUtil.isNotBlank(searchDTO.getKeyword()) && !SqlFilter.hit(searchDTO.getKeyword())) {
cache.incrementScore(CachePrefix.HOT_WORD.getPrefix(), searchDTO.getKeyword());
}
NativeSearchQueryBuilder searchQueryBuilder = createSearchQueryBuilder(searchDTO, pageVo);

View File

@@ -0,0 +1,59 @@
package cn.lili.modules.search.utils;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* sql 关键字过滤
*
* @author liushuai(liushuai711 @ gmail.com)
* @version v4.0
* @Description:
* @since 2023/3/22 17:27
*/
public class SqlFilter {
private static final Set<String> SQL_KEYWORDS = new HashSet<>(Arrays.asList(
"SELECT", "FROM", "WHERE", "AND", "OR", "NOT", "INSERT", "UPDATE", "DELETE", "CREATE",
"TABLE", "INDEX", "VIEW", "DROP", "ALTER", "COLUMN", "ADD", "SET", "GROUP", "BY",
"HAVING", "ORDER", "ASC", "DESC", "LIKE", "IN", "BETWEEN", "IS", "NULL", "TRUE", "FALSE",
"JOIN", "LEFT", "RIGHT", "INNER", "OUTER", "FULL", "ON", "AS", "DISTINCT", "COUNT",
"MAX", "MIN", "SUM", "AVG"
));
/**
* 关键字命中
*
* @param sql
* @return
*/
public static Boolean hit(String sql) {
String[] tokens = sql.split("\\s+");
for (String token : tokens) {
if (!SQL_KEYWORDS.contains(token.toUpperCase())) {
return true;
}
}
return false;
}
/**
* 关键字替换
*
* @param sql
* @return
*/
public static String filterSql(String sql) {
String[] tokens = sql.split("\\s+");
StringBuilder filteredSql = new StringBuilder();
for (String token : tokens) {
if (!SQL_KEYWORDS.contains(token.toUpperCase())) {
filteredSql.append(token).append(" ");
}
}
return filteredSql.toString().trim();
}
}

View File

@@ -82,7 +82,7 @@ public class Store extends BaseEntity {
@ApiModelProperty(value = "服务评分")
private Double serviceScore;
@ApiModelProperty(value = "物流描述")
@ApiModelProperty(value = "物流评分")
private Double deliveryScore;
@ApiModelProperty(value = "商品数量")

View File

@@ -189,7 +189,7 @@ public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements
}
/**
* 修改店铺详细细腻
* 修改店铺详细信息
*
* @param storeEditDTO 修改店铺信息
*/
@@ -235,11 +235,16 @@ public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements
public boolean disable(String id) {
Store store = this.getById(id);
if (store != null) {
store.setStoreDisable(StoreStatusEnum.CLOSED.value());
LambdaUpdateWrapper<Store> storeLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
storeLambdaUpdateWrapper.eq(Store::getId, id);
storeLambdaUpdateWrapper.set(Store::getStoreDisable, StoreStatusEnum.CLOSED.value());
boolean update = this.update(storeLambdaUpdateWrapper);
//下架所有此店铺商品
goodsService.underStoreGoods(id);
return this.updateById(store);
if (update) {
goodsService.underStoreGoods(id);
}
return update;
}
throw new ServiceException(ResultCode.STORE_NOT_EXIST);
@@ -299,7 +304,7 @@ public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements
//获取当前操作的店铺
Store store = getStoreByMember();
//校验迪纳普状态
//校验店铺状态
checkStoreStatus(store);
StoreDetail storeDetail = storeDetailService.getStoreDetail(store.getId());
//设置店铺的银行信息
@@ -312,10 +317,9 @@ public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements
//获取当前操作的店铺
Store store = getStoreByMember();
//校验迪纳普状态
//校验店铺状态
checkStoreStatus(store);
BeanUtil.copyProperties(storeOtherInfoDTO, store);
this.updateById(store);
StoreDetail storeDetail = storeDetailService.getStoreDetail(store.getId());
//设置店铺的其他信息
@@ -327,11 +331,7 @@ public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements
//修改店铺详细信息
storeDetailService.updateById(storeDetail);
//设置店铺名称,修改店铺信息
store.setStoreName(storeOtherInfoDTO.getStoreName());
store.setStoreDisable(StoreStatusEnum.APPLYING.name());
store.setStoreCenter(storeOtherInfoDTO.getStoreCenter());
store.setStoreDesc(storeOtherInfoDTO.getStoreDesc());
store.setStoreLogo(storeOtherInfoDTO.getStoreLogo());
return this.updateById(store);
}
@@ -342,10 +342,11 @@ public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements
*/
private void checkStoreStatus(Store store) {
//如果店铺状态为申请中或者已申请,则正常走流程,否则抛出异常
if (store.getStoreDisable().equals(StoreStatusEnum.APPLY.name()) || store.getStoreDisable().equals(StoreStatusEnum.APPLYING.name())) {
return;
} else {
//如果店铺状态为已开启、已关闭、申请中,则抛出异常
if (store.getStoreDisable().equals(StoreStatusEnum.OPEN.name())
|| store.getStoreDisable().equals(StoreStatusEnum.CLOSED.name())
|| store.getStoreDisable().equals(StoreStatusEnum.APPLYING.name())
) {
throw new ServiceException(ResultCode.STORE_STATUS_ERROR);
}
@@ -381,7 +382,7 @@ public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements
AuthUser currentUser = UserContext.getCurrentUser();
List<String> skuIdList = new ArrayList<>();
for (FootPrint footPrint : footprintService.list(new LambdaUpdateWrapper<FootPrint>().eq(FootPrint::getStoreId, currentUser.getStoreId()).eq(FootPrint::getMemberId, memberId))) {
if(footPrint.getSkuId() != null){
if (footPrint.getSkuId() != null) {
skuIdList.add(footPrint.getSkuId());
}
}