## 秒杀专区下单逻辑处理;

This commit is contained in:
cabbage 2025-08-05 14:26:17 +08:00
parent 80a5eadb9a
commit 8d3a33206c
29 changed files with 449 additions and 204 deletions

View File

@ -20,15 +20,12 @@ import com.hzs.sale.order.param.OrderReturn;
import com.hzs.sale.order.service.impl.SaOrderHandle;
import com.hzs.sale.order.vo.CheckBeforeConfirmVO;
import com.hzs.sale.shopping.param.CarWaresInfoParam;
import com.hzs.sale.shopping.vo.CarWaresInfoVo;
import com.hzs.sale.shopping.vo.ShoppingCartRedis;
import com.hzs.sale.shopping.vo.ShoppingCartVO;
import com.hzs.sale.shopping.vo.WaresItemVo;
import com.hzs.sale.wares.service.IBdWaresSpecsSkuService;
import com.hzs.system.config.IGradeServiceApi;
import com.hzs.system.config.dto.GradeDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -48,9 +45,6 @@ public class ApiOthSaOrderController extends ParentOrderController {
@Autowired
private IBdWaresSpecsSkuService iBdWaresSpecsSkuService;
@DubboReference
IGradeServiceApi iGradeServiceApi;
/**
* 提供确认订单的方法
*
@ -78,6 +72,7 @@ public class ApiOthSaOrderController extends ParentOrderController {
convertShoppingCarToSku(orderParam);
if (EOrderType.UPGRADE_ORDER.getValue() == orderParam.getSpecialArea()
|| EOrderType.REPURCHASE_ORDER.getValue() == orderParam.getSpecialArea()
|| EOrderType.MALL_ORDER.getValue() == orderParam.getSpecialArea()
|| EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == orderParam.getSpecialArea()
|| EOrderType.SPECIAL_REPURCHASE_ORDER.getValue() == orderParam.getSpecialArea()) {
if (StringUtils.isEmpty(orderParam.getUpgradeMemberCode())) {
@ -252,21 +247,6 @@ public class ApiOthSaOrderController extends ParentOrderController {
}
GradeDTO gradeDTO = saOrderHandle.getMemberGradeAndAwardByCountry(BigDecimal.ZERO, achieveAmount, pkCountry, EUpgradeWay.COVER.getValue() + "");
if (null != gradeDTO) {
// if (EOrderType.REGISTER_ORDER.getValue() == param.getSpecialArea()
// || EOrderType.UPGRADE_ORDER.getValue() == param.getSpecialArea()) {
// // 2025.05.13 新添加需求开网初期报单660给1980等级报单1980给9900等级
// if (EGrade.YOU_KE.getValue() == gradeDTO.getGradeValue()) {
// GradeDTO newGradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.MAKER.getValue(), pkCountry).getData();
// if (null != newGradeDTO) {
// gradeDTO = newGradeDTO;
// }
// } else if (EGrade.MAKER.getValue() == gradeDTO.getGradeValue()) {
// GradeDTO newGradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.VIP.getValue(), pkCountry).getData();
// if (null != newGradeDTO) {
// gradeDTO = newGradeDTO;
// }
// }
// }
if (addPurchase > gradeDTO.getBoxNumber()) {
if (gradeDTO.getBoxNumber() == 0) {
vo.setFlag(EYesNo.NO.getIntValue());

View File

@ -33,6 +33,8 @@ import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.sale.ext.*;
import com.hzs.common.domain.sale.order.*;
import com.hzs.common.domain.sale.wares.BdWares;
import com.hzs.common.domain.sale.wares.BdWaresExtend;
import com.hzs.common.domain.sale.wares.BdWaresMemberLimit;
import com.hzs.common.domain.system.base.BdCountry;
import com.hzs.common.domain.system.base.ext.BdProductStorehouseExt;
import com.hzs.common.domain.system.config.BdAwards;
@ -148,6 +150,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
private IOrderBusinessService iOrderBusinessService;
@Autowired
private ISaOrderChargeLogService iSaOrderChargeLogService;
@Autowired
private IBdWaresMemberLimitService iBdWaresMemberLimitService;
@Autowired
private UserTokenService userTokenService;
@ -593,22 +597,22 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 待支付直接保存订单会员
// 保存订单
save(saOrderExt);
// 将订单表主键封装为明细表主键
List<WaresNumberParam> waresNumberParamList = new ArrayList<>();
saOrderExt.getOrderItemsList().forEach(saOrderItems -> {
saOrderItems.setPkOrder(saOrderExt.getPkId());
if (saOrderItems.getPkWares() != null && saOrderItems.getPkWares() != 0) {
// 换货或者二次发货等商品为0则不需要处理
waresNumberParamList.add(WaresNumberParam.builder().pkWares(saOrderItems.getPkWares()).number(saOrderItems.getWaresQuantity()).build());
}
});
// 更新销量
// 过滤相同商品主键数据
List<WaresNumberParam> waresNumberList = waresNumberParamList.stream().filter(DeduplicationUtil.distinctByKey(WaresNumberParam::getPkWares)).collect(Collectors.toList());
waresSalesAccrual(waresNumberList);
// 保存订单明细
iSaOrderItemsService.saveBatch(saOrderExt.getOrderItemsList());
// // 更新销量
// // 将订单表主键封装为明细表主键
// List<WaresNumberParam> waresNumberParamList = new ArrayList<>();
// saOrderExt.getOrderItemsList().forEach(saOrderItems -> {
// saOrderItems.setPkOrder(saOrderExt.getPkId());
// if (saOrderItems.getPkWares() != null && saOrderItems.getPkWares() != 0) {
// // 换货或者二次发货等商品为0则不需要处理
// waresNumberParamList.add(WaresNumberParam.builder().pkWares(saOrderItems.getPkWares()).number(saOrderItems.getWaresQuantity()).build());
// }
// });
// // 过滤相同商品主键数据
// List<WaresNumberParam> waresNumberList = waresNumberParamList.stream().filter(DeduplicationUtil.distinctByKey(WaresNumberParam::getPkWares)).collect(Collectors.toList());
// waresSalesAccrual(waresNumberList);
}
@Override
@ -883,6 +887,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
CuMember cuMember;
if (EOrderType.UPGRADE_ORDER.getValue() == orderParam.getSpecialArea()
|| EOrderType.REPURCHASE_ORDER.getValue() == orderParam.getSpecialArea()
|| EOrderType.MALL_ORDER.getValue() == orderParam.getSpecialArea()
|| EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == orderParam.getSpecialArea()
|| EOrderType.SPECIAL_REPURCHASE_ORDER.getValue() == orderParam.getSpecialArea()) {
cuMember = getCuMemberByCode(orderParam.getUpgradeMemberCode());
@ -900,6 +905,9 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (setLastCuMemberGrade(cuMember, saOrderExt)) {
return false;
}
} else if (EOrderType.MALL_ORDER.getValue() == orderParam.getSpecialArea()) {
// 2025.08.01 秒杀专区处理限购
this.checkMallOrder(saOrderExt);
}
if (isToBePay) {
@ -923,6 +931,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
} else {
// 更新订单信息
updateSaOrder(saOrderExt);
// 2025.08.01 添加秒杀限购处理
this.handleMallOrder(saOrderExt);
}
// 处理会员信息更新会员等级,扣款
@ -2268,4 +2278,110 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
return baseMapper.singleItemStat(singleItemStatParam);
}
/**
* 处理秒杀限购
*
* @param saOrderExt
*/
private void handleMallOrder(SaOrderExt saOrderExt) {
if (EOrderType.MALL_ORDER.getValue() == saOrderExt.getOrderType()) {
// 秒杀订单需要更新限购信息
// key:商品IDvalue:商品购买数量
Map<Integer, Integer> limitMap = new HashMap<>();
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
if (EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
// 非赠品计算商品数量
limitMap.put(saOrderItems.getPkWares(), saOrderItems.getWaresQuantity());
}
}
// 会员限购列表
List<BdWaresMemberLimit> limitList = new ArrayList<>();
for (Integer key : limitMap.keySet()) {
for (ELimitType limitType : ELimitType.getLiveLimitType()) {
limitList.add(BdWaresMemberLimit.builder()
.pkMember(saOrderExt.getPkMember())
.pkWares(key)
.limitType(limitType.getValue())
.quantity(limitMap.get(key))
.limitDate(ELimitType.TOTAL.getValue() == limitType.getValue() ? ELimitType.TOTAL.getFormat() : DateUtils.parseDateToFormat(limitType.getFormat(), saOrderExt.getPayTime()))
.build());
}
}
if (CollectionUtil.isNotEmpty(limitList)) {
// 更新会员限购数据
iBdWaresMemberLimitService.updateWaresMemberLimitBatch(limitList);
// 更新商品限购库存
iBdWaresExtendService.batchUpdateInventoryUse(limitList);
}
}
}
/**
* 校验秒杀限购
*
* @param saOrderExt
*/
private void checkMallOrder(SaOrderExt saOrderExt) {
// key:商品IDvalue:商品购买数量
Map<Integer, Integer> limitMap = new HashMap<>();
// key:商品ID,value:商品限购属性
Map<Integer, BdWaresExtend> waresLimitMap = new HashMap<>();
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
if (EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
// 非赠品
limitMap.put(saOrderItems.getPkWares(), saOrderItems.getWaresQuantity());
}
}
if (limitMap.size() > 0) {
// 商品限购数据
List<BdWaresExtend> waresExtendList = iBdWaresExtendService.listByPkWaresList(limitMap.keySet());
for (BdWaresExtend bdWaresExtend : waresExtendList) {
// 购买数量
Integer waresQuantity = limitMap.get(bdWaresExtend.getPkWares());
if (waresQuantity + bdWaresExtend.getInventoryUse() > bdWaresExtend.getInventory()) {
// 购买数量 + 已用库存 > 库存数量不能购买
throw new ServiceException("购买商品库存已不足,无法下单");
}
if (waresQuantity > bdWaresExtend.getMemberLimit()
|| waresQuantity > bdWaresExtend.getMemberMonthLimit()) {
// 购买数量 > 总限购 月限购不能购买
throw new ServiceException("购买商品已经超过限购数量,无法下单");
}
waresLimitMap.put(bdWaresExtend.getPkWares(), bdWaresExtend);
}
// 会员购买数据
List<BdWaresMemberLimit> memberLimitList = iBdWaresMemberLimitService.listMemberWaresLimit(saOrderExt.getPkMember(), limitMap.keySet());
if (CollectionUtil.isNotEmpty(memberLimitList)) {
// key: 商品+限购类型value数量
Map<String, Integer> checkLimitMap = new HashMap<>();
for (BdWaresMemberLimit bdWaresMemberLimit : memberLimitList) {
checkLimitMap.put(bdWaresMemberLimit.getPkWares() + "-" + bdWaresMemberLimit.getLimitDate(), bdWaresMemberLimit.getQuantity());
}
for (Integer tmpWares : waresLimitMap.keySet()) {
// 遍历商品进行判断是否超出限购
// 总限购
Integer totalLimit = checkLimitMap.get(tmpWares + "-" + ELimitType.TOTAL.getFormat());
if (null != totalLimit) {
// 总限购 + 本次购买数量
totalLimit = totalLimit + limitMap.get(tmpWares);
if (totalLimit > waresLimitMap.get(tmpWares).getMemberLimit()) {
// 购买数量 > 总限购不能购买
throw new ServiceException("购买商品已经超过限购数量,无法下单");
}
}
// 月限购
Integer monthLimit = checkLimitMap.get(tmpWares + "-" + DateUtils.parseDateToFormat(ELimitType.MONTH.getFormat(), saOrderExt.getPayTime()));
if (null != monthLimit) {
// 月限购 + 本次购买数量
monthLimit = monthLimit + limitMap.get(tmpWares);
if (monthLimit > waresLimitMap.get(tmpWares).getMemberLimit()) {
// 购买数量 > 月限购不能购买
throw new ServiceException("购买商品已经超过限购数量,无法下单");
}
}
}
}
}
}
}

View File

@ -2,6 +2,7 @@ package com.hzs.sale.wares.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.sale.wares.BdWaresExtend;
import com.hzs.common.domain.sale.wares.BdWaresMemberLimit;
import com.hzs.sale.order.vo.WaresPreSaleVo;
import org.apache.ibatis.annotations.Param;
@ -40,4 +41,12 @@ public interface BdWaresExtendMapper extends BaseMapper<BdWaresExtend> {
*/
List<WaresPreSaleVo> selectByWaresCodeList(@Param("waresCodeList") Collection<String> waresCodeList, @Param("specialArea") Integer specialArea);
/**
* 批量更新已用库存
*
* @param limitList
* @return
*/
int batchUpdateInventoryUse(@Param("limitList") List<BdWaresMemberLimit> limitList);
}

View File

@ -0,0 +1,22 @@
package com.hzs.sale.wares.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.sale.wares.BdWaresMemberLimit;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 会员商品限购 Mapper 接口
*/
public interface BdWaresMemberLimitMapper extends BaseMapper<BdWaresMemberLimit> {
/**
* 批量更新会员限购数据
*
* @param limitList
* @return
*/
int updateWaresMemberLimitBatch(@Param("limitList") List<BdWaresMemberLimit> limitList);
}

View File

@ -2,6 +2,7 @@ package com.hzs.sale.wares.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.sale.wares.BdWaresExtend;
import com.hzs.common.domain.sale.wares.BdWaresMemberLimit;
import com.hzs.sale.order.param.WaresNumberParam;
import com.hzs.sale.order.vo.WaresPreSaleVo;
@ -39,4 +40,20 @@ public interface IBdWaresExtendService extends IService<BdWaresExtend> {
*/
List<WaresPreSaleVo> selectByWaresCodeList(Collection<String> waresCodeList, Integer specialArea);
/**
* 根据商品ID列表查询扩展属性
*
* @param pkWaresList
* @return
*/
List<BdWaresExtend> listByPkWaresList(Collection<Integer> pkWaresList);
/**
* 批量更新已用库存
*
* @param limitList
* @return
*/
int batchUpdateInventoryUse(List<BdWaresMemberLimit> limitList);
}

View File

@ -0,0 +1,31 @@
package com.hzs.sale.wares.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.sale.wares.BdWaresMemberLimit;
import java.util.Collection;
import java.util.List;
/**
* 会员商品限购 服务类
*/
public interface IBdWaresMemberLimitService extends IService<BdWaresMemberLimit> {
/**
* 批量更新会员限购数据
*
* @param waresMemberLimitList
* @return
*/
int updateWaresMemberLimitBatch(List<BdWaresMemberLimit> waresMemberLimitList);
/**
* 查询会员限购数量
*
* @param pkMember
* @param pkWaresList
* @return
*/
List<BdWaresMemberLimit> listMemberWaresLimit(Long pkMember, Collection<Integer> pkWaresList);
}

View File

@ -1,7 +1,10 @@
package com.hzs.sale.wares.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.domain.sale.wares.BdWaresExtend;
import com.hzs.common.domain.sale.wares.BdWaresMemberLimit;
import com.hzs.sale.order.param.WaresNumberParam;
import com.hzs.sale.order.vo.WaresPreSaleVo;
import com.hzs.sale.wares.mapper.BdWaresExtendMapper;
@ -9,6 +12,7 @@ import com.hzs.sale.wares.service.IBdWaresExtendService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@ -42,4 +46,20 @@ public class BdWaresExtendServiceImpl extends ServiceImpl<BdWaresExtendMapper, B
return baseMapper.selectByWaresCodeList(waresCodeList, specialArea);
}
@Override
public List<BdWaresExtend> listByPkWaresList(Collection<Integer> pkWaresList) {
if (CollectionUtil.isNotEmpty(pkWaresList)) {
return this.list(Wrappers.<BdWaresExtend>lambdaQuery()
.in(BdWaresExtend::getPkWares, pkWaresList)
.orderByAsc(BdWaresExtend::getPkWares)
);
}
return Collections.emptyList();
}
@Override
public int batchUpdateInventoryUse(List<BdWaresMemberLimit> limitList) {
return baseMapper.batchUpdateInventoryUse(limitList);
}
}

View File

@ -0,0 +1,33 @@
package com.hzs.sale.wares.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.domain.sale.wares.BdWaresMemberLimit;
import com.hzs.sale.wares.mapper.BdWaresMemberLimitMapper;
import com.hzs.sale.wares.service.IBdWaresMemberLimitService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
/**
* 会员商品限购 服务实现类
*/
@Service
public class BdWaresMemberLimitServiceImpl extends ServiceImpl<BdWaresMemberLimitMapper, BdWaresMemberLimit> implements IBdWaresMemberLimitService {
@Override
public int updateWaresMemberLimitBatch(List<BdWaresMemberLimit> waresMemberLimitList) {
return baseMapper.updateWaresMemberLimitBatch(waresMemberLimitList);
}
@Override
public List<BdWaresMemberLimit> listMemberWaresLimit(Long pkMember, Collection<Integer> pkWaresList) {
return this.list(Wrappers.<BdWaresMemberLimit>lambdaQuery()
.eq(BdWaresMemberLimit::getPkMember, pkMember)
.in(BdWaresMemberLimit::getPkWares, pkWaresList)
.orderByAsc(BdWaresMemberLimit::getPkWares)
);
}
}

View File

@ -85,4 +85,19 @@
</if>
</select>
<!-- 批量更新已用库存 -->
<update id="batchUpdateInventoryUse">
merge into bd_wares_extend bwe
using (
<foreach collection="limitList" item="items" separator=" union all">
select #{items.pkWares} pk_wares,
#{items.quantity} quantity
from dual
</foreach>
) tmp
on (bwe.pk_wares = tmp.pk_wares)
when matched then
update set bwe.inventory_use = bwe.inventory_use + tmp.quantity
</update>
</mapper>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzs.sale.wares.mapper.BdWaresMemberLimitMapper">
<!-- 批量更新会员限购数据 -->
<update id="updateWaresMemberLimitBatch">
merge into BD_WARES_MEMBER_LIMIT bwml
using (
<foreach collection="limitList" item="items" separator=" union all">
select #{items.pkMember} pk_member,
#{items.pkWares} pk_wares,
#{items.limitType} limit_type,
#{items.quantity} quantity,
#{items.limitDate} limit_date
from dual
</foreach>
) tmp
on (bwml.PK_MEMBER = tmp.pk_member and bwml.PK_WARES = tmp.pk_wares and bwml.limit_date = tmp.limit_date and bwml.del_flag = 0)
when matched then
update set bwml.quantity = bwml.quantity + tmp.quantity
WHEN NOT MATCHED THEN
insert (
pk_id,
pk_member,
pk_wares,
limit_type,
quantity,
pk_creator,
limit_date)
values (
bd_wares_member_limit_seq.nextval,
tmp.pk_member,
tmp.pk_wares,
tmp.limit_type,
tmp.quantity,
tmp.pk_member,
tmp.limit_date)
</update>
</mapper>

View File

@ -5,8 +5,6 @@ import org.springframework.stereotype.Component;
/**
* 读取项目相关配置
*
* @author hzs
*/
@Component
@ConfigurationProperties(prefix = "txmconfig")

View File

@ -11,8 +11,6 @@ import com.alibaba.fastjson2.JSONWriter;
/**
* Redis使用FastJson序列化
*
* @author hzs
*/
public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> {

View File

@ -9,12 +9,7 @@ import org.springframework.context.annotation.Configuration;
import javax.servlet.DispatcherType;
/**
* description: 通过FilterRegistrationBean注册自定义过滤器TrimFilter
* @author: sui q
* @time: 2023/4/3 14:05
* @classname: WebBindingInitializerConfiguration
* @package_name: com.hzs.gateway.config
* version 1.0.0
* 通过FilterRegistrationBean注册自定义过滤器TrimFilter
*/
@Configuration
public class FilterConfig {

View File

@ -7,8 +7,6 @@ import org.springframework.context.annotation.Configuration;
/**
* MybatisPlus配置
*
* @author hzs
*/
@Configuration
public class MyBatisPlusConfig {

View File

@ -5,8 +5,6 @@ import org.springframework.stereotype.Component;
/**
* 读取项目相关配置
*
* @author: jiiangchao
*/
@Component
@ConfigurationProperties(prefix = "oss")

View File

@ -12,8 +12,6 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
* redis配置
*
* @author hzs
*/
@Configuration
@EnableCaching

View File

@ -4,11 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @Description: 需要审批业务类型大类
* @Author: sui q
* @Time: 2022/10/21 15:09
* @Classname: EApprovalType
* @PackageName: com.hzs.common.core.enums
* 需要审批业务类型大类
*/
@AllArgsConstructor
@Getter

View File

@ -5,11 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* Description: 审批操作
* Author: jiang chao
* Time: 2022/9/21 15:13
* Classname: ApprovalParam
* PackageName: com.hzs.system.sys.param
* 审批操作
*/
@AllArgsConstructor
@Getter

View File

@ -5,12 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* Description: 审批状态
*
* @author: sui q
* Time: 2022/9/1 9:06
* Classname: EApproveStatus
* PackageName: com.hzs.common.core.enums
* 审批状态
*/
@AllArgsConstructor
@Getter

View File

@ -5,8 +5,6 @@ import lombok.Getter;
/**
* 绑定标记枚举类
*
* @author hzs
*/
@AllArgsConstructor
@Getter

View File

@ -24,14 +24,6 @@ public enum EChangeType {
* 3=分红考核扣除
*/
SHARE_ASSESSMENT_DEDUCT(3, "分红考核扣除", 0, EnumsPrefixConstants.CHANGE_TYPE + 3),
/**
* 4=优选考核新增
*/
LENJOY_ASSESSMENT_ADD(4, "优选考核新增", 1, EnumsPrefixConstants.CHANGE_TYPE + 4),
/**
* 5=优选考核扣除
*/
LENJOY_ASSESSMENT_DEDUCT(5, "优选考核扣除", 1, EnumsPrefixConstants.CHANGE_TYPE + 5),
;
/**

View File

@ -0,0 +1,61 @@
package com.hzs.common.core.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
/**
* 限购类型
*/
@AllArgsConstructor
@Getter
public enum ELimitType {
/**
* 总限购
*/
TOTAL(0, "总限购", "0"),
/**
* 年限购
*/
YEAR(1, "年限购", "yyyy"),
/**
* 月限购
*/
MONTH(2, "月限购", "yyyyMM"),
/**
* 日限购
*/
DAY(3, "日限购", "yyyyMMdd"),
;
/**
* 实际值
*/
private final int value;
/**
* 显示标签
*/
private final String label;
/**
* 限购格式
*/
private final String format;
/**
* 获取秒杀限购类型
*
* @return
*/
public static List<ELimitType> getLiveLimitType() {
//
return Arrays.asList(ELimitType.TOTAL, ELimitType.MONTH);
}
}

View File

@ -6,12 +6,6 @@ import lombok.Getter;
/**
* 结算周期 枚举
*
* @author: sui q
* @time: 2022/8/25 14:24
* @description:
* @classname: ESettlePeriod
* @package_name: com.hzs.common.core.enums
*/
@AllArgsConstructor
@Getter

View File

@ -5,11 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @Description: 奖学结算周期枚举
* @Author: zhangjing
* @Time: 2022/9/1 17:39
* @Classname: ESettlementCycle
* @PackageName: com.hzs.common.core.enums
* 奖学结算周期枚举
*/
@AllArgsConstructor
@Getter
@ -31,7 +27,6 @@ public enum ESettlementCycle {
MONTH(3, "", 0, EnumsPrefixConstants.SETTLE_PERIOD + 3),
;
/**

View File

@ -8,12 +8,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 奖金配置表
* </p>
*
* @author hzs
* @since 2022-10-28
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -15,9 +15,6 @@ import lombok.experimental.Accessors;
/**
* 服务补贴
*
* @author hzs
* @since 2022-11-01
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -1,99 +0,0 @@
package com.hzs.common.domain.ground.margin;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 保证金缴纳
* </p>
*
* @author hzs
* @since 2024-03-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@KeySequence("TH_MARGIN_SEQ")
@TableName("TH_MARGIN")
public class ThMargin extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId("PK_ID")
private Integer pkId;
/**
* 缴纳供应商
*/
@TableField("PK_SUPPLIER")
private Integer pkSupplier;
/**
* 缴纳日期
*/
@TableField("BILL_DATE")
private Date billDate;
/**
* 销售类型 引用现在销售大类
*/
@TableField("SALE_TYPE")
private Integer saleType;
/**
* 销售范围
*/
@TableField("SALE_SCOPE")
private Integer saleScope;
/**
* 联系电话
*/
@TableField("PHONE")
private String phone;
/**
* 联系人
*/
@TableField("LINK_MAN")
private String linkMan;
/**
* 保证金金额
*/
@TableField("MARGIN")
private BigDecimal margin;
/**
* 审批业务类型 来源枚举 EApprovalBusiness
*/
@TableField("EDIT_TYPE")
private Integer editType;
/**
* 审核状态 来源枚举 EApproveStatus
*/
@TableField("APPROVE_STATUS")
private Integer approveStatus;
@TableField("TH_BUSINESS_CODE")
private String thBusinessCode;
}

View File

@ -2,7 +2,9 @@ package com.hzs.common.domain.ground.supplier;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
@ -11,12 +13,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 供应商申请
* </p>
*
* @author hzs
* @since 2024-03-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ -183,6 +180,4 @@ public class ThSupplierApply extends BaseEntity {
private String thBusinessCode;
}

View File

@ -0,0 +1,62 @@
package com.hzs.common.domain.sale.wares;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.Accessors;
/**
* 会员商品限购
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@KeySequence("BD_WARES_MEMBER_LIMIT_SEQ")
@TableName("BD_WARES_MEMBER_LIMIT")
public class BdWaresMemberLimit extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId("PK_ID")
private Long pkId;
/**
* 会员ID
*/
@TableField("PK_MEMBER")
private Long pkMember;
/**
* 商品ID
*/
@TableField("PK_WARES")
private Integer pkWares;
/**
* 限购类型1=2=3=4=
*/
@TableField("LIMIT_TYPE")
private Integer limitType;
/**
* 购买数量
*/
@TableField("QUANTITY")
private Integer quantity;
/**
* 限购时间总限购为年限购为4位年月限购为6位月日限购为8位日
*/
@TableField("LIMIT_DATE")
private String limitDate;
}