From 3ea3c013bb241c05d0e6a2c4344d9b708ffa1e61 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 09 Mar 2023 16:01:46 +0800
Subject: [PATCH] 下单,余额支付,转账,分享奖,星级奖励,商品贡献值,补贴三倍回购
---
src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java | 8
src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java | 4
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberWalletMapper.java | 2
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 244 ++++++++++++++++-----
src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java | 86 +------
src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsDto.java | 2
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 38 +++
src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java | 12 +
src/main/java/cc/mrbird/febs/mall/vo/ScoreSignVo.java | 10
src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html | 38 ++-
src/main/java/cc/mrbird/febs/mall/dto/AddOrderDto.java | 4
src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java | 2
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 105 ++++++---
src/main/resources/mapper/modules/MallMemberWalletMapper.xml | 17 +
src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java | 10
src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html | 43 ++-
src/main/java/cc/mrbird/febs/mall/dto/MallGoodsUpdateDto.java | 1
src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java | 4
src/main/java/cc/mrbird/febs/mall/vo/CashOutSettingVo.java | 3
19 files changed, 430 insertions(+), 203 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java
index 8bf01bd..47c6edc 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java
@@ -25,7 +25,15 @@
/**
* 佣金
*/
- COMMISSION(4);
+ COMMISSION(4),
+ /**
+ * 贡献点
+ */
+ STAR(5),
+ /**
+ * 补贴额度
+ */
+ TOTAL_SCORE(6);
private final int value;
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java
index a3aa3d7..0f75787 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java
@@ -123,7 +123,17 @@
/**
* 星级奖励
*/
- STAR_PERK_SEVEN(24);
+ STAR_PERK_SEVEN(24),
+
+ /**
+ * 贡献点
+ */
+ STAR(25),
+
+ /**
+ * 补贴额度
+ */
+ TOTAL_SCORE(26);
private final int value;
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
index 2c293f7..4b29d6a 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
@@ -32,6 +32,14 @@
private final IApiMallOrderInfoService mallOrderInfoService;
+ @ApiOperation(value = "判断是否允许创建订单", notes = "判断是否允许创建订单")
+ @PostMapping(value = "/judgeCreateOrder")
+ public FebsResponse judgeCreateOrder(@RequestBody AddOrderDto addOrderDto) {
+ boolean result = mallOrderInfoService.judgeCreateOrder(addOrderDto);
+
+ return new FebsResponse().success().data(result);
+ }
+
@ApiOperation(value = "创建订单", notes = "创建订单")
@PostMapping(value = "/createOrder")
public FebsResponse createOrder(@RequestBody AddOrderDto addOrderDto) {
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsDto.java
index f3cf467..ad139d9 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsDto.java
@@ -82,4 +82,6 @@
private BigDecimal carriage;
+ private BigDecimal star;
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddOrderDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddOrderDto.java
index 5940ee7..a9758ca 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AddOrderDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AddOrderDto.java
@@ -5,6 +5,7 @@
import lombok.Data;
import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -37,4 +38,7 @@
@ApiModelProperty(value = "商品明细")
private List<AddOrderItemDto> items;
+ @ApiModelProperty(value = "积分数量")
+ private BigDecimal score;
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MallGoodsUpdateDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MallGoodsUpdateDto.java
index 977a0ca..2304173 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/MallGoodsUpdateDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/MallGoodsUpdateDto.java
@@ -86,4 +86,5 @@
private Integer hasCarriage;
private BigDecimal carriage;
+ private BigDecimal star;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java b/src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java
index 371035b..056d026 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java
@@ -114,5 +114,9 @@
private Integer hasCarriage;
private BigDecimal carriage;
+ /**
+ * 贡献值
+ */
+ private BigDecimal star;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
index 072fd1e..133f112 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
@@ -93,4 +93,8 @@
private Integer deliverType;
private Long shopId;
+ //折扣后金额
+ private BigDecimal scoreAmount;
+ //折扣积分数量
+ private BigDecimal scoreCnt;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberWalletMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberWalletMapper.java
index 2195065..1f9a1d0 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberWalletMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberWalletMapper.java
@@ -31,4 +31,6 @@
List<MallMemberWallet> selectSumStarByIds(@Param("list")List<Long> ids);
int updateStarByList(@Param("list")List<Map<String, Object>> result);
+
+ int updateTotalScoreByList(@Param("list")List<Map<String, Object>> resultReduce);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
index 91bd897..c9e2e26 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
@@ -35,4 +35,6 @@
void goodsComment(ApiAddCommentDtos addCommentDtos);
FebsResponse bangCardSign(BangCardSignDto bangCardSignDto);
+
+ boolean judgeCreateOrder(AddOrderDto addOrderDto);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
index cc45a65..3fce202 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -44,6 +44,7 @@
private final IMallMoneyFlowService mallMoneyFlowService;
private final MallMemberWalletMapper mallMemberWalletMapper;
private final SqlSessionTemplate sqlSessionTemplate;
+ private final IApiMallMemberWalletService memberWalletService;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -195,14 +196,25 @@
//分享补贴金额
BigDecimal sharePerkAmount = amount.multiply(sharePerkPercent);
- iApiMallMemberWalletService.addBalance(sharePerkAmount, mallMemberUp.getId());
+ //所有合伙人补贴至消费礼包的三倍额度需要复购一次。
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberUp.getId());
+ BigDecimal totalScore = mallMemberWallet.getTotalScore();
+ if(totalScore.compareTo(sharePerkAmount) < 0){
+ sharePerkAmount = totalScore;
+ }
+ if(BigDecimal.ZERO.compareTo(sharePerkAmount) < 0){
+ //减少补贴额度
+ memberWalletService.reduce(sharePerkAmount, memberId, "totalScore");
- mallMoneyFlowService.addMoneyFlow(
- mallMemberUp.getId(),
- sharePerkAmount,
- MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(),
- mallOrderInfo.getOrderNo(),
- FlowTypeEnum.BALANCE.getValue());
+ iApiMallMemberWalletService.addBalance(sharePerkAmount, mallMemberUp.getId());
+
+ mallMoneyFlowService.addMoneyFlow(
+ mallMemberUp.getId(),
+ sharePerkAmount,
+ MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(),
+ mallOrderInfo.getOrderNo(),
+ FlowTypeEnum.BALANCE.getValue());
+ }
}
/**
* 星级奖励
@@ -228,6 +240,7 @@
* @return
*/
public List<MallMember> getStarRecord(List<MallMember> mallMembersOlds,String LevelParam,BigDecimal amount,String orderNo,Long memberId,int starPerkType){
+ long start = System.currentTimeMillis();
//根据用户的level获取用户
List<MallMember> mallMemberStars = memberMapper.selectMemberWithLevel(LevelParam);
if(CollUtil.isNotEmpty(mallMembersOlds)){
@@ -260,6 +273,7 @@
//给当前等级的每个用户发放星级奖励
int count = 0;
List<Map<String,Object>> result = new ArrayList<>();
+ List<Map<String,Object>> resultReduce = new ArrayList<>();
List<MallMoneyFlow> mallMoneyFlows = new ArrayList<>();
for(MallMemberWallet mallMemberWallet : mallMemberWallets){
Map<String,Object> hashMap = new HashMap<>();
@@ -267,44 +281,63 @@
//当前用户的星级奖励
BigDecimal starPerkAmount = starPerkAmountAva
.multiply(new BigDecimal(starCnt)).abs().setScale(2, BigDecimal.ROUND_DOWN);
- hashMap.put("id",mallMemberWallet.getId());
- hashMap.put("starPerkAmount",starPerkAmount);
- result.add(hashMap);
- //生成星级奖励的流水对象
- MallMoneyFlow mallMoneyFlow = new MallMoneyFlow();
- mallMoneyFlow.setMemberId(mallMemberWallet.getMemberId());
- mallMoneyFlow.setAmount(starPerkAmount);
- mallMoneyFlow.setType(starPerkType);
- mallMoneyFlow.setOrderNo(orderNo);
- mallMoneyFlow.setRtMemberId(memberId);
- mallMoneyFlow.setStatus(2);
- mallMoneyFlow.setFlowType(FlowTypeEnum.BALANCE.getValue());
- mallMoneyFlows.add(mallMoneyFlow);
+ BigDecimal totalScorePerk = mallMemberWallet.getTotalScore();
+ if(totalScorePerk.compareTo(starPerkAmount) < 0){
+ starPerkAmount = totalScorePerk;
+ }
+ if(BigDecimal.ZERO.compareTo(starPerkAmount) < 0){
+ hashMap.put("id",mallMemberWallet.getId());
+ hashMap.put("starPerkAmount",starPerkAmount);
+ result.add(hashMap);
+ resultReduce.add(hashMap);
+ //生成星级奖励的流水对象
+ MallMoneyFlow mallMoneyFlow = new MallMoneyFlow();
+ mallMoneyFlow.setMemberId(mallMemberWallet.getMemberId());
+ mallMoneyFlow.setAmount(starPerkAmount);
+ mallMoneyFlow.setType(starPerkType);
+ mallMoneyFlow.setOrderNo(orderNo);
+ mallMoneyFlow.setRtMemberId(memberId);
+ mallMoneyFlow.setStatus(2);
+ mallMoneyFlow.setFlowType(FlowTypeEnum.BALANCE.getValue());
+ mallMoneyFlows.add(mallMoneyFlow);
+ }
count = count + 1;
if (count % 1000 == 0 || count == mallMemberWallets.size()) {
- int updateCount = mallMemberWalletMapper.updateStarByList(result);
- if(updateCount>0){
- log.info("============更新============第{}条数据===========",count);
+ if(CollUtil.isNotEmpty(result)){
+ int resultCount = mallMemberWalletMapper.updateStarByList(result);
+ if(resultCount>0){
+ log.info("============余额新增============第{}条数据===========",resultCount);
+ }
+ //每更新完一批数据,在result内进行删除操作。
+ result.clear();
+
+ int resultReduceCount = mallMemberWalletMapper.updateTotalScoreByList(resultReduce);
+ if(resultReduceCount>0){
+ log.info("============额度减少============第{}条数据===========",resultReduceCount);
+ }
+ //每更新完一批数据,在result内进行删除操作。
+ resultReduce.clear();
}
- //每更新完一批数据,在result内进行删除操作。
- result.clear();
}
}
- SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory().openSession(ExecutorType.BATCH,false);
- MallMoneyFlowMapper mallMoneyFlowMapper = sqlSession.getMapper(MallMoneyFlowMapper.class);
- long start = System.currentTimeMillis();
- for(int i = 1; i <= mallMoneyFlows.size(); i++){
- mallMoneyFlowMapper.insertMoneyFlow(mallMoneyFlows.get(i-1));
- if (i % 1000 == 0 || i == mallMoneyFlows.size()) {
- long end = System.currentTimeMillis();
- log.info("============插入============第{}条数据,时间:{}===========",mallMoneyFlows.size(),(end - start)/1000);
- sqlSession.commit();
- sqlSession.clearCache();
+ if(CollUtil.isNotEmpty(mallMoneyFlows)){
+ SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory().openSession(ExecutorType.BATCH,false);
+ MallMoneyFlowMapper mallMoneyFlowMapper = sqlSession.getMapper(MallMoneyFlowMapper.class);
+
+ for(int i = 1; i <= mallMoneyFlows.size(); i++){
+ mallMoneyFlowMapper.insertMoneyFlow(mallMoneyFlows.get(i-1));
+ if (i % 1000 == 0 || i == mallMoneyFlows.size()) {
+ log.info("============插入流水============第{}条数据===========",mallMoneyFlows.size());
+ sqlSession.commit();
+ sqlSession.clearCache();
+ }
}
+ sqlSession.close();
}
- sqlSession.close();
}
}
+ long end = System.currentTimeMillis();
+ log.info("============订单:{},时间:{}===========",orderNo,(end - start)/1000);
return mallMemberStars;
}
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 4465115..719da23 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -379,12 +379,40 @@
throw new FebsException("支付密码错误");
}
- walletService.reduceBalance(transferDto.getAmount(), memberId);
- String orderNo = MallUtils.getOrderNum("T");
- this.addMoneyFlow(memberId, transferDto.getAmount().negate(), MoneyFlowTypeEnum.TRANSFER.getValue(), orderNo, null, null, mallMember.getId(), null, FlowTypeEnum.BALANCE.getValue());
+ DataDictionaryCustom cashOutSettingDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.CASHOUT_SETTING.getType(),
+ DataDictionaryEnum.CASHOUT_SETTING.getCode()
+ );
+ CashOutSettingVo cashOutSettingVo = JSONObject.parseObject(cashOutSettingDic.getValue(), CashOutSettingVo.class);
+ BigDecimal insideFee = cashOutSettingVo.getInsideFee().multiply(BigDecimal.valueOf(0.01));
+ //转账手续费
+ BigDecimal insideFeeAmount = transferDto.getAmount().multiply(insideFee).setScale(2, BigDecimal.ROUND_DOWN);
- walletService.addBalance(transferDto.getAmount(), mallMember.getId());
- this.addMoneyFlow(mallMember.getId(), transferDto.getAmount(), MoneyFlowTypeEnum.TRANSFER.getValue(), orderNo, null, null, memberId, null, FlowTypeEnum.BALANCE.getValue());
+ BigDecimal avaAmount = transferDto.getAmount().subtract(insideFeeAmount).setScale(2, BigDecimal.ROUND_DOWN);
+ walletService.reduceBalance(avaAmount, memberId);
+ String orderNo = MallUtils.getOrderNum("T");
+ this.addMoneyFlow(
+ memberId,
+ avaAmount.negate(),
+ MoneyFlowTypeEnum.TRANSFER.getValue(),
+ orderNo,
+ null,
+ null,
+ mallMember.getId(),
+ null,
+ FlowTypeEnum.BALANCE.getValue());
+
+ walletService.addBalance(avaAmount, mallMember.getId());
+ this.addMoneyFlow(
+ mallMember.getId(),
+ avaAmount,
+ MoneyFlowTypeEnum.TRANSFER.getValue(),
+ orderNo,
+ null,
+ null,
+ memberId,
+ null,
+ FlowTypeEnum.BALANCE.getValue());
}
@Override
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 9e6f74b..1a86fd2 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -77,6 +77,8 @@
private final MallMemberBankSignMapper mallMemberBankSignMapper;
private final MallMemberBankMapper mallMemberBankMapper;
private final MallShopApplyMapper mallShopApplyMapper;
+ private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+ private final MallAchieveRecordMapper mallAchieveRecordMapper;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -202,7 +204,28 @@
}
mallOrderItemMapper.insert(orderItem);
}
-
+ /**
+ * 使用积分折扣现金
+ */
+ DataDictionaryCustom scorePercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.SCORE_PERCENT.getType(),
+ DataDictionaryEnum.SCORE_PERCENT.getCode()
+ );
+ DataDictionaryCustom scoreChangeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.SCORE_CHANGE.getType(),
+ DataDictionaryEnum.SCORE_CHANGE.getCode()
+ );
+ BigDecimal score = ObjectUtil.isEmpty(addOrderDto.getScore()) ? BigDecimal.ZERO : addOrderDto.getScore();
+ orderInfo.setScoreCnt(score);
+ if(ObjectUtil.isNotEmpty(scorePercentDic)){
+ BigDecimal scoreChange = BigDecimal.ONE;
+ if(ObjectUtil.isNotEmpty(scoreChangeDic)){
+ scoreChange = new BigDecimal(scoreChangeDic.getValue()).abs().setScale(2,BigDecimal.ROUND_DOWN);
+ }
+ //折扣现金
+ BigDecimal scorePercentAmount = score.divide(scoreChange,BigDecimal.ROUND_DOWN).setScale(2,BigDecimal.ROUND_DOWN);
+ orderInfo.setScoreAmount(scorePercentAmount);
+ }
orderInfo.setAmount(total);
if(2 == deliverType){
orderInfo.setDeliverType(2);
@@ -326,46 +349,10 @@
orderInfo.setPayTime(new Date());
orderInfo.setPayResult("1");
- boolean hasTc = false;
- // 静态倍数
- List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderInfo.getId());
- if (CollUtil.isNotEmpty(orderItems)) {
- for (MallOrderItem orderItem : orderItems) {
- MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId());
- BigDecimal score = BigDecimal.ZERO;
- MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId());
- if (mallGoods.getIsNormal() == 2) {
- hasTc = true;
- score = sku.getPresentPrice().multiply(mallGoods.getStaticMulti()).multiply(new BigDecimal(orderItem.getCnt()));
-// BigDecimal staticMulti = mallGoods.getStaticMulti() == null ? BigDecimal.ZERO : mallGoods.getStaticMulti();
-// score = sku.getPresentPrice().multiply(staticMulti);
- // 普通商品也及时结算,不再10天结算
- } else {
- score = sku.getPresentPrice();
- }
+ changeWallet(orderInfo.getId(), member.getId());
- if (score.compareTo(BigDecimal.ZERO) > 0) {
- memberWalletService.add(score, member.getId(), "score");
- mallMoneyFlowService.addMoneyFlow(member.getId(), score, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
-
- // 添加业绩
- mallAchieveService.add(orderItem.getId());
- }
- }
- }
-
- // 购买套餐后,升级为普通会员
- if (hasTc) {
- MallMember mallMember = memberMapper.selectById(member.getId());
- if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) {
- mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
- memberMapper.updateById(mallMember);
- }
- }
-
- mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
agentProducer.sendAutoLevelUpMsg(member.getId());
- agentProducer.sendOrderReturn(orderInfo.getId());
+// agentProducer.sendOrderReturn(orderInfo.getId());
break;
case "4":
if (orderInfo.getOrderType() != 2) {
@@ -382,28 +369,6 @@
mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.PRIZE_SCORE.getValue());
break;
case "5":
-// AgreementSignDto agreementSignDto = new AgreementSignDto();
-// agreementSignDto.setOrderNo(orderInfo.getOrderNo());
-// agreementSignDto.setSmsCode(payOrderDto.getSmsCode());
-// String agreementSignStr = unipayService.agreementSign(agreementSignDto);
-// if("fail".equals(agreementSignStr)){
-// throw new FebsException("支付失败");
-// }else{
-// JSONObject jsonObject = JSONUtil.parseObj(agreementSignStr);
-// payResultStr = (String) jsonObject.get("biz_code");
-// String signData = (String) jsonObject.get("data");
-// String signBizMsg = (String) jsonObject.get("biz_msg");
-//
-// JSONObject signDatajsonObject = JSONUtil.parseObj(signData);
-// String err_msg = (String) signDatajsonObject.get("err_msg");
-// if(!"JS000000".equals(payResultStr)){
-// throw new FebsException(signBizMsg);
-// }
-// if(ObjectUtil.isNotNull(signDatajsonObject.get("err_code"))){
-// throw new FebsException(err_msg);
-// }
-// }
-
AgreementPayDto agreementPayDto = new AgreementPayDto();
agreementPayDto.setOrderNo(orderInfo.getOrderNo());
@@ -457,6 +422,116 @@
return map;
}
+ /**
+ * 支付金额后的操作
+ * 减少积分,增加流水
+ * 购买套餐后,升级会员等级
+ * 增加支付金额流水
+ * 增加补贴额度
+ * 增加贡献值,增加流水
+ * 产生一条业绩记录
+ * @param orderId
+ * @param memberId
+ */
+ public void changeWallet(Long orderId,Long memberId){
+ MallOrderInfo orderInfo = this.baseMapper.selectById(orderId);
+ boolean hasTc = false;
+ //总贡献值
+ BigDecimal starSum = BigDecimal.ZERO;
+ /**
+ * 总补贴额度
+ * 所有合伙人补贴至消费礼包的三倍额度需要复购一次。
+ */
+ BigDecimal scoreSum = BigDecimal.ZERO;
+ List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderInfo.getId());
+ if (CollUtil.isNotEmpty(orderItems)) {
+ for (MallOrderItem orderItem : orderItems) {
+ MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId());
+ /**
+ * 购买套餐赠送贡献值
+ * 补贴3倍额度
+ */
+ if (mallGoods.getIsNormal() == 2) {
+ hasTc = true;
+ BigDecimal star = mallGoods.getStar();
+ starSum = starSum.add(star);
+ scoreSum = scoreSum.add(
+ new BigDecimal(mallGoods.getPresentPrice())
+ .multiply(new BigDecimal(3))
+ .abs()
+ .setScale(2,BigDecimal.ROUND_DOWN));
+ }
+ }
+ /**
+ * 增加贡献值,增加流水
+ */
+ if (starSum.compareTo(BigDecimal.ZERO) > 0) {
+ memberWalletService.add(starSum, memberId, "star");
+ mallMoneyFlowService.addMoneyFlow(
+ memberId,
+ starSum,
+ MoneyFlowTypeEnum.STAR.getValue(),
+ orderInfo.getOrderNo(),
+ FlowTypeEnum.STAR.getValue());
+ }
+ /**
+ * 增加补贴额度
+ */
+ if (scoreSum.compareTo(BigDecimal.ZERO) > 0) {
+ memberWalletService.add(scoreSum, memberId, "totalScore");
+ mallMoneyFlowService.addMoneyFlow(
+ memberId,
+ scoreSum,
+ MoneyFlowTypeEnum.TOTAL_SCORE.getValue(),
+ orderInfo.getOrderNo(),
+ FlowTypeEnum.TOTAL_SCORE.getValue());
+ }
+ }
+
+ /**
+ * 购买套餐后,升级会员等级
+ */
+ if (hasTc) {
+ MallMember mallMember = memberMapper.selectById(memberId);
+ if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) {
+ mallMember.setLevel(AgentLevelEnum.SECOND_LEVEL.name());
+ memberMapper.updateById(mallMember);
+ }
+ }
+ /**
+ * 增加支付金额流水
+ */
+ mallMoneyFlowService.addMoneyFlow(
+ memberId,
+ orderInfo.getAmount().subtract(orderInfo.getScoreAmount()).negate(),
+ MoneyFlowTypeEnum.PAY.getValue(),
+ orderInfo.getOrderNo(),
+ FlowTypeEnum.BALANCE.getValue());
+ /**
+ * 减少积分,增加流水
+ */
+ int reduce = memberWalletService.reduce(orderInfo.getScoreCnt(), memberId, "prizeScore");
+ if (reduce == 2) {
+ throw new FebsException("积分不足");
+ }
+ mallMoneyFlowService.addMoneyFlow(
+ memberId,
+ orderInfo.getScoreCnt().negate(),
+ MoneyFlowTypeEnum.PAY.getValue(),
+ orderInfo.getOrderNo(),
+ FlowTypeEnum.PRIZE_SCORE.getValue());
+ /**
+ * 产生一条业绩记录
+ */
+ MallAchieveRecord mallAchieveRecord = new MallAchieveRecord();
+ mallAchieveRecord.setMemberId(memberId);
+ mallAchieveRecord.setAchieveTime(new Date());
+ mallAchieveRecord.setAmount(orderInfo.getAmount().subtract(orderInfo.getScoreAmount()));
+ mallAchieveRecord.setOrderId(orderId);
+ mallAchieveRecord.setPayTime(orderInfo.getPayTime());
+ mallAchieveRecordMapper.insert(mallAchieveRecord);
+ }
+
public static void main(String[] args) {
String str = "{\"biz_code\":\"JS000000\",\"biz_msg\":\"成功\",\"data\":\"{\\\"order_status\\\":\\\"P2000\\\",\\\"jp_order_no\\\":\\\"100120220826446740396081496064\\\",\\\"err_msg\\\":\\\"短信验证码不符\\\",\\\"err_code\\\":\\\"CP110026\\\",\\\"sign_no\\\":\\\"\\\",\\\"mch_order_no\\\":\\\"NO_2022082618263952399\\\"}\",\"mch_no\":\"888118000001971\",\"rand_str\":\"an2w7ulf5ru6upkk5bdg441kdi3gnpvu\",\"resp_code\":\"SUCCESS\",\"sec_key\":\"\",\"sign\":\"NiJXRTSIZ9xZMUOwEHiEHdZXmgL2cHUU5WUa1NbMRRzui0DIiuZSW4e31LjnBxwVwmy3uuPMP+tqhY8VLyC8uCFOdGdZI7e72VuRvyvaiW7/sqCrsfgPOBEjiGE/CmSMRoEXv9HmqCyNBF6iHSEhQJql5Yge30dQdyB6xFfqjk0=\",\"sign_type\":\"2\"}";
@@ -486,7 +561,7 @@
throw new FebsException("支付密码错误");
}
- int reduce = memberWalletService.reduce(orderInfo.getAmount().add(orderInfo.getCarriage()), mallMember.getId(), field);
+ int reduce = memberWalletService.reduce(orderInfo.getAmount().subtract(orderInfo.getScoreAmount()).add(orderInfo.getCarriage()), mallMember.getId(), field);
if (reduce == 2) {
throw new FebsException("余额不足");
}
@@ -731,4 +806,49 @@
}
}
+ @Override
+ public boolean judgeCreateOrder(AddOrderDto addOrderDto) {
+ boolean flag = false;
+
+ if (CollUtil.isEmpty(addOrderDto.getItems())) {
+ return false;
+ }
+
+ BigDecimal total = BigDecimal.ZERO;
+ for (AddOrderItemDto item : addOrderDto.getItems()) {
+ MallGoodsSku sku = mallGoodsSkuMapper.selectSkuInfoById(item.getSkuId());
+ BigDecimal amount = sku.getPresentPrice().multiply(BigDecimal.valueOf(item.getCnt()));
+ total = total.add(amount);
+ }
+ /**
+ * 使用积分折扣现金
+ */
+ DataDictionaryCustom scorePercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.SCORE_PERCENT.getType(),
+ DataDictionaryEnum.SCORE_PERCENT.getCode()
+ );
+ DataDictionaryCustom scoreChangeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.SCORE_CHANGE.getType(),
+ DataDictionaryEnum.SCORE_CHANGE.getCode()
+ );
+ BigDecimal score = ObjectUtil.isEmpty(addOrderDto.getScore()) ? BigDecimal.ZERO : addOrderDto.getScore();
+ if(ObjectUtil.isNotEmpty(scorePercentDic)){
+ //商品的现金折扣比例
+ BigDecimal scorePercent = new BigDecimal(scorePercentDic.getValue()).divide(new BigDecimal(100), BigDecimal.ROUND_DOWN);
+ //最大折扣金额对应需要的总积分数目
+ BigDecimal scorePercentMaxAmount = total.multiply(scorePercent);
+ BigDecimal scoreChange = BigDecimal.ONE;
+ if(ObjectUtil.isNotEmpty(scoreChangeDic)){
+ scoreChange = new BigDecimal(scoreChangeDic.getValue()).abs().setScale(2,BigDecimal.ROUND_DOWN);
+ }
+ scorePercentMaxAmount = scorePercentMaxAmount.multiply(scoreChange);
+ if(scorePercentMaxAmount.compareTo(score) < 0){
+ return false;
+ }
+ }else{
+ flag = true;
+ }
+ return flag;
+ }
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
index 62d0087..78bcdad 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
@@ -51,21 +51,13 @@
MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(member.getId());
- MallScoreSignRecord mallScoreSignRecord = mallScoreSignRecordMapper.selectRecentSignRecord(member.getId());
-
ScoreSignVo scoreSign = new ScoreSignVo();
scoreSign.setMineScore(wallet.getPrizeScore().intValue());
- if (mallScoreSignRecord == null) {
- scoreSign.setHasSignDays(0);
- } else {
- mallScoreSignRecord = judgeScoreIsContinuity(mallScoreSignRecord);
- scoreSign.setHasSignDays(mallScoreSignRecord.getTotalCnt());
- }
-
- DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SCORE_SIGN_SETTING.getType(), DataDictionaryEnum.SCORE_SIGN_SETTING.getCode());
- if (dic != null) {
- scoreSign.setSetting(JSONObject.parseObject(dic.getValue(), ScoreSettingDto.class));
+ DataDictionaryCustom signScpreDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.SIGN_SCORE.getType(), DataDictionaryEnum.SIGN_SCORE.getCode());
+ if (signScpreDic != null) {
+ scoreSign.setSetting(Integer.parseInt(signScpreDic.getValue()));
}
return scoreSign;
}
@@ -89,9 +81,11 @@
public void sign() {
MallMember member = LoginUserUtil.getLoginUser();
- DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SCORE_SIGN_SETTING.getType(), DataDictionaryEnum.SCORE_SIGN_SETTING.getCode());
- if (dic == null) {
- throw new FebsException("暂未设置积分");
+ DataDictionaryCustom signScoreDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.SIGN_SCORE.getType(),
+ DataDictionaryEnum.SIGN_SCORE.getCode());
+ if (signScoreDic == null) {
+ throw new FebsException("签到活动未开启");
}
MallScoreSignRecord mallScoreSignRecord = mallScoreSignRecordMapper.selectRecentSignRecord(member.getId());
@@ -100,65 +94,23 @@
}
if (mallScoreSignRecord.getSignTime() != null && DateUtil.betweenDay(mallScoreSignRecord.getSignTime(), new Date(), true) == 0) {
- throw new FebsException("今天已签到");
+ throw new FebsException("今日已签到");
}
- mallScoreSignRecord = judgeScoreIsContinuity(mallScoreSignRecord);
-
- ScoreSettingDto scoreSetting = JSONObject.parseObject(dic.getValue(),ScoreSettingDto.class);
- int days = mallScoreSignRecord.getTotalCnt() == null ? 1 : mallScoreSignRecord.getTotalCnt() + 1;
- switch (days) {
- case 1:
- if (scoreSetting.getSignInOne() == null) {
- throw new FebsException("积分未设置");
- }
- mallScoreSignRecord.setScore(scoreSetting.getSignInOne());
- break;
- case 2:
- if (scoreSetting.getSignInTwo() == null) {
- throw new FebsException("积分未设置");
- }
- mallScoreSignRecord.setScore(scoreSetting.getSignInTwo());
- break;
- case 3:
- if (scoreSetting.getSignInThree() == null) {
- throw new FebsException("积分未设置");
- }
- mallScoreSignRecord.setScore(scoreSetting.getSignInThree());
- break;
- case 4:
- if (scoreSetting.getSignInFour() == null) {
- throw new FebsException("积分未设置");
- }
- mallScoreSignRecord.setScore(scoreSetting.getSignInFour());
- break;
- case 5:
- if (scoreSetting.getSignInFive() == null) {
- throw new FebsException("积分未设置");
- }
- mallScoreSignRecord.setScore(scoreSetting.getSignInFive());
- break;
- case 6:
- if (scoreSetting.getSignInSix() == null) {
- throw new FebsException("积分未设置");
- }
- mallScoreSignRecord.setScore(scoreSetting.getSignInSix());
- break;
- case 7:
- if (scoreSetting.getSignInSeven() == null) {
- throw new FebsException("积分未设置");
- }
- mallScoreSignRecord.setScore(scoreSetting.getSignInSeven());
- break;
- }
-
+ Integer signScore = Integer.parseInt(signScoreDic.getValue());
mallScoreSignRecord.setMemberId(member.getId());
- mallScoreSignRecord.setTotalCnt(days);
+ mallScoreSignRecord.setTotalCnt(signScore);
mallScoreSignRecord.setSignTime(new Date());
+ mallScoreSignRecord.setScore(signScore);
mallScoreSignRecordMapper.insert(mallScoreSignRecord);
BigDecimal amount = BigDecimal.valueOf(mallScoreSignRecord.getScore());
walletService.add(amount, member.getId(), "prizeScore");
- mallMoneyFlowService.addMoneyFlow(member.getId(), amount, MoneyFlowTypeEnum.SCORE_SIGN.getValue(), null, FlowTypeEnum.PRIZE_SCORE.getValue());
+ mallMoneyFlowService.addMoneyFlow(
+ member.getId(),
+ amount,
+ MoneyFlowTypeEnum.SCORE_SIGN.getValue(),
+ null,
+ FlowTypeEnum.PRIZE_SCORE.getValue());
}
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/CashOutSettingVo.java b/src/main/java/cc/mrbird/febs/mall/vo/CashOutSettingVo.java
index ec29d88..0600b7b 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/CashOutSettingVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/CashOutSettingVo.java
@@ -17,6 +17,9 @@
@ApiModelProperty(value = "提现手续费")
private BigDecimal serviceFee;
+ @ApiModelProperty(value = "内转手续费")
+ private BigDecimal insideFee;
+
@ApiModelProperty(value = "提现时间 1:工作日 2:每一天")
private Integer workingDays;
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ScoreSignVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ScoreSignVo.java
index b72f21d..6ce8e06 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/ScoreSignVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ScoreSignVo.java
@@ -13,12 +13,12 @@
@ApiModel(value = "ScoreSignVo", description = "积分签到返回参数接口")
public class ScoreSignVo {
- @ApiModelProperty(value = "我的竞猜积分")
+ @ApiModelProperty(value = "我的签到积分")
private Integer mineScore;
- @ApiModelProperty(value = "已连续签到")
- private Integer hasSignDays;
+// @ApiModelProperty(value = "已连续签到")
+// private Integer hasSignDays;
- @ApiModelProperty(value = "签到积分设置")
- private ScoreSettingDto setting;
+ @ApiModelProperty(value = "每次签到获得积分数量")
+ private Integer setting;
}
diff --git a/src/main/resources/mapper/modules/MallMemberWalletMapper.xml b/src/main/resources/mapper/modules/MallMemberWalletMapper.xml
index 966088f..b988a31 100644
--- a/src/main/resources/mapper/modules/MallMemberWalletMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberWalletMapper.xml
@@ -42,6 +42,12 @@
<if test="record.commission != null">
, commission = #{record.commission}
</if>
+ <if test="record.totalScore != null">
+ , total_score = #{record.totalScore}
+ </if>
+ <if test="record.star != null">
+ , star = #{record.star}
+ </if>
where id=#{record.id} and revision=#{record.revision}
</update>
@@ -70,7 +76,6 @@
</select>
<update id="updateStarByList" parameterType="java.util.List" >
--- //注意sql语句应被;分隔开,否则批量更新多少条数据就有多少条sql拼在一起。
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update mall_member_wallet
<set>
@@ -80,4 +85,14 @@
</foreach>
</update>
+ <update id="updateTotalScoreByList" parameterType="java.util.List" >
+ <foreach collection="list" item="item" index="index" open="" close="" separator=";">
+ update mall_member_wallet
+ <set>
+ total_score = total_score - #{item.starPerkAmount},
+ </set>
+ WHERE id = #{item.id}
+ </foreach>
+ </update>
+
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html b/src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html
index 5208f25..b43fa63 100644
--- a/src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html
+++ b/src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html
@@ -77,7 +77,7 @@
</div>
</div>
- <blockquote class="layui-elem-quote blue-border">商品类型</blockquote>
+ <blockquote class="layui-elem-quote blue-border">商品类型:</blockquote>
<div class="layui-form-item">
<label class="layui-form-label febs-form-item-require">商品类型</label>
<div class="layui-input-block">
@@ -89,20 +89,28 @@
</div>
<div class="layui-form-item febs-hide tc-set">
- <label class="layui-form-label">静态倍数</label>
+ <label class="layui-form-label">贡献值:</label>
<div class="layui-input-block">
- <input type="text" name="staticMulti" placeholder="请输入静态倍数" autocomplete="off" class="layui-input">
- <div class="layui-form-mid layui-word-aux">支付后,赠送(购买金额*静态倍数)的赠送积分</div>
+ <input type="text" name="star" lay-verify="required|integer" placeholder="请输入贡献值" autocomplete="off" class="layui-input">
+ <div class="layui-form-mid layui-word-aux">支付后,用户获取对应的贡献值</div>
</div>
</div>
- <div class="layui-form-item febs-hide tc-set">
- <label class="layui-form-label">静态占比(%)</label>
- <div class="layui-input-block">
- <input type="text" name="staticProp" placeholder="请输入静态占比" autocomplete="off" class="layui-input">
- <div class="layui-form-mid layui-word-aux">所有套餐静态占比相加应等于100%</div>
- </div>
- </div>
+<!-- <div class="layui-form-item febs-hide tc-set">-->
+<!-- <label class="layui-form-label">静态倍数</label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input type="text" name="staticMulti" placeholder="请输入静态倍数" autocomplete="off" class="layui-input">-->
+<!-- <div class="layui-form-mid layui-word-aux">支付后,赠送(购买金额*静态倍数)的赠送积分</div>-->
+<!-- </div>-->
+<!-- </div>-->
+
+<!-- <div class="layui-form-item febs-hide tc-set">-->
+<!-- <label class="layui-form-label">静态占比(%)</label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input type="text" name="staticProp" placeholder="请输入静态占比" autocomplete="off" class="layui-input">-->
+<!-- <div class="layui-form-mid layui-word-aux">所有套餐静态占比相加应等于100%</div>-->
+<!-- </div>-->
+<!-- </div>-->
</div>
<div class="layui-tab-item">
@@ -297,6 +305,14 @@
form.render();
+
+ form.verify({
+ integer: [
+ /^[1-9]\d*$/
+ , '只能输入正整数'
+ ]
+ });
+
var E = window.wangEditor;
const editorConfig = { MENU_CONF: {} };
editorConfig.MENU_CONF['uploadImage'] = {
diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html b/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html
index d91bcd3..9d3eefd 100644
--- a/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html
+++ b/src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html
@@ -85,7 +85,7 @@
</div>
</div>
- <blockquote class="layui-elem-quote blue-border">商品类型</blockquote>
+ <blockquote class="layui-elem-quote blue-border">商品类型:</blockquote>
<div class="layui-form-item">
<label class="layui-form-label febs-form-item-require">商品类型</label>
<div class="layui-input-block">
@@ -98,23 +98,30 @@
</div>
<div class="layui-form-item febs-hide tc-set">
- <label class="layui-form-label">静态倍数</label>
+ <label class="layui-form-label">贡献值:</label>
<div class="layui-input-block">
- <input type="text" name="staticMulti" placeholder="请输入静态倍数"
- autoComplete="off" class="layui-input">
- <div class="layui-form-mid layui-word-aux">支付后,赠送(购买金额*静态倍数)的赠送积分
- </div>
+ <input type="text" name="star" lay-verify="required|integer" placeholder="请输入贡献值" autocomplete="off" class="layui-input">
+ <div class="layui-form-mid layui-word-aux">支付后,用户获取对应的贡献值</div>
</div>
</div>
+<!-- <div class="layui-form-item febs-hide tc-set">-->
+<!-- <label class="layui-form-label">静态倍数</label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input type="text" name="staticMulti" placeholder="请输入静态倍数"-->
+<!-- autoComplete="off" class="layui-input">-->
+<!-- <div class="layui-form-mid layui-word-aux">支付后,赠送(购买金额*静态倍数)的赠送积分-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- </div>-->
- <div class="layui-form-item febs-hide tc-set">
- <label class="layui-form-label">静态占比(%)</label>
- <div class="layui-input-block">
- <input type="text" name="staticProp" placeholder="请输入静态占比"
- autoComplete="off" class="layui-input">
- <div class="layui-form-mid layui-word-aux">所有套餐静态占比相加应等于100%</div>
- </div>
- </div>
+<!-- <div class="layui-form-item febs-hide tc-set">-->
+<!-- <label class="layui-form-label">静态占比(%)</label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input type="text" name="staticProp" placeholder="请输入静态占比"-->
+<!-- autoComplete="off" class="layui-input">-->
+<!-- <div class="layui-form-mid layui-word-aux">所有套餐静态占比相加应等于100%</div>-->
+<!-- </div>-->
+<!-- </div>-->
</div>
<div class="layui-tab-item">
@@ -343,6 +350,13 @@
});
formSelects.render();
+
+ form.verify({
+ integer: [
+ /^[1-9]\d*$/
+ , '只能输入正整数'
+ ]
+ });
var E = window.wangEditor;
const editorConfig = { MENU_CONF: {} };
@@ -652,6 +666,7 @@
"costPrice": goodsInfo.costPrice,
"isSku": goodsInfo.isSku,
"thumb": goodsInfo.thumb,
+ "star": goodsInfo.star,
"thumbs": thumbs
});
--
Gitblit v1.9.1