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