Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
张松 2025-10-29 15:41:33 +08:00
commit 4d81c79443
4 changed files with 27 additions and 16 deletions

View File

@ -1,7 +1,7 @@
package com.czg.service.market.mapper;
import com.mybatisflex.core.BaseMapper;
import com.czg.market.entity.MkRedemptionConfig;
import com.mybatisflex.core.BaseMapper;
/**
* 充值优惠券修改 映射层

View File

@ -25,4 +25,9 @@ public interface MkDistributionUserMapper extends BaseMapper<MkDistributionUser>
List<DistributionCenterShopVO> selectUnDistributionShops(Long userId);
boolean updateIncome(BigDecimal pendingIncome, BigDecimal receivedIncome, BigDecimal withdrawIncome, Long id);
/**
* 统计消费金额
*/
BigDecimal getOrderConsumeAmountByList(Long shopId, List<Long> userIds,Long userId);
}

View File

@ -325,11 +325,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
.select(ShopUser::getUserId)
.eq(ShopUser::getDistributionUserId, shopUserId), Long.class);
userIds.add(distributionUser.getUserId());
BigDecimal totalAmount = orderInfoService.getOneAs(QueryWrapper.create()
.select("sum(pay_amount)")
.eq(OrderInfo::getShopId, shopId)
.eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
.in(OrderInfo::getUserId, userIds), BigDecimal.class);
BigDecimal totalAmount = mapper.getOrderConsumeAmountByList(shopId, userIds, null);
MkDistributionLevelConfig levelConfig = levelConfigService.getOne(QueryWrapper.create()
.eq(MkDistributionLevelConfig::getShopId, distributionUser.getShopId())
.le(MkDistributionLevelConfig::getCostAmount, totalAmount)
@ -418,11 +414,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
param.setId(param.getId());
param.setUserId(shopUser.getUserId());
param.setInviteCode(CzgRandomUtils.randomString(10));
BigDecimal totalAmount = orderInfoService.getOneAs(QueryWrapper.create()
.select("sum(pay_amount)")
.eq(OrderInfo::getShopId, param.getShopId())
.eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
.eq(OrderInfo::getUserId, param.getUserId()), BigDecimal.class);
BigDecimal totalAmount = mapper.getOrderConsumeAmountByList(param.getShopId(), null, param.getUserId());
param.setConsumeAmount(totalAmount);
save(param);
ShopUser shopUser2 = new ShopUser();
@ -465,11 +457,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
.select(ShopUser::getUserId)
.eq(ShopUser::getDistributionUserId, distributionUser.getId()), Long.class);
userIds.add(distributionUser.getUserId());
BigDecimal totalAmount = orderInfoService.getOneAs(QueryWrapper.create()
.select("sum(pay_amount)")
.eq(OrderInfo::getShopId, param.getShopId())
.eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
.in(OrderInfo::getUserId, userIds), BigDecimal.class);
BigDecimal totalAmount = mapper.getOrderConsumeAmountByList(param.getShopId(), userIds, null);
levelConfig = levelConfigService.getOne(QueryWrapper.create()
.eq(MkDistributionLevelConfig::getShopId, distributionUser.getShopId())
.le(MkDistributionLevelConfig::getCostAmount, totalAmount)

View File

@ -49,4 +49,22 @@
GROUP BY shop.id
</select>
<select id="getOrderConsumeAmountByList" resultType="java.math.BigDecimal">
select sum(pay_amount)
from tb_order_info
where shop_id = #{shopId}
and status = 'done'
<choose>
<when test="userId != null">
and user_id = #{userId}
</when>
<otherwise>
and user_id in
<foreach collection="userIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</otherwise>
</choose>
</select>
</mapper>