From 89e2b353cb22e38dbe0a7144b26fa69766cf7f9b Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 28 Sep 2021 10:12:50 +0800
Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-mall

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java     |   25 +++++-
 src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsSkuDto.java                 |    2 
 src/main/resources/mapper/modules/MallGoodsStyleMapper.xml                    |    6 +
 src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html |   24 ++++-
 src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsStyleMapper.java            |    1 
 src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html        |   64 ++++++++-------
 src/main/resources/templates/febs/views/modules/product/categoryUpdate.html   |   35 --------
 src/main/resources/templates/febs/views/modules/goods/detailGoods.html        |   76 ++++++++++++++++--
 src/main/resources/mapper/modules/MallMoneyFlowMapper.xml                     |    1 
 src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html     |    6 +
 10 files changed, 151 insertions(+), 89 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsSkuDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsSkuDto.java
index 308ab52..5d1cf20 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsSkuDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsSkuDto.java
@@ -9,6 +9,8 @@
 @ApiModel(value = "AddMallGoodsSkuDto", description = "参数接收类")
 public class AddMallGoodsSkuDto {
 
+    private String styleName;
+
     private String skuName;
 
     private String skuImage;
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsStyleMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsStyleMapper.java
index c958ad3..c8dd84b 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsStyleMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsStyleMapper.java
@@ -8,4 +8,5 @@
 
     void deleteByGoodsId(@Param("id")Long id);
 
+    MallGoodsStyle selectByStyleName(@Param("name")String styleName, @Param("goodsId")Long id);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
index 915c5e6..379d795 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
@@ -20,9 +20,12 @@
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 @Slf4j
 @Service
@@ -43,6 +46,7 @@
     }
 
     @Override
+    @Transactional
     public FebsResponse addMallGoods(AddMallGoodsDto addMallGoodsDto) {
         String goodsName = addMallGoodsDto.getGoodsName();
         if(StrUtil.isEmpty(goodsName)){
@@ -120,18 +124,31 @@
                     i++;
                 }
             }
-
         }
 
+
+
         List<AddMallGoodsSkuDto> addMallGoodsSkuDtos = addMallGoodsDto.getAddMallGoodsSkuDtos();
+        Set<String> styles = new HashSet<>();
         if(CollUtil.isNotEmpty(addMallGoodsSkuDtos)){
-            for(AddMallGoodsSkuDto addMallGoodsSkuDto : addMallGoodsSkuDtos){
+            for(AddMallGoodsSkuDto addStyleDto : addMallGoodsSkuDtos){
+                styles.add(addStyleDto.getStyleName());
+            }
+        }
+        if(CollUtil.isNotEmpty(styles)){
+            for(String style : styles){
                 //新增样式
                 MallGoodsStyle mallGoodsStyle = new MallGoodsStyle();
-                mallGoodsStyle.setName(addMallGoodsSkuDto.getSkuName());
+                mallGoodsStyle.setName(style);
                 mallGoodsStyle.setGoodsId(mallGoods.getId());
                 mallGoodsStyleMapper.insert(mallGoodsStyle);
+            }
+        }
 
+
+        if(CollUtil.isNotEmpty(addMallGoodsSkuDtos)){
+            for(AddMallGoodsSkuDto addMallGoodsSkuDto : addMallGoodsSkuDtos){
+                MallGoodsStyle mallGoodsStyleSku = mallGoodsStyleMapper.selectByStyleName(addMallGoodsSkuDto.getStyleName(),mallGoods.getId());
                 //新增商品规格
                 MallGoodsSku mallGoodsSku = new MallGoodsSku();
                 mallGoodsSku.setSkuName(addMallGoodsSkuDto.getSkuName());
@@ -140,7 +157,7 @@
                 mallGoodsSku.setSkuVolume(addMallGoodsSkuDto.getSkuVolume()==null?0:addMallGoodsSkuDto.getSkuVolume());
                 mallGoodsSku.setOriginalPrice(new BigDecimal(addMallGoodsSkuDto.getOriginalPrice()));
                 mallGoodsSku.setPresentPrice(new BigDecimal(addMallGoodsSkuDto.getPresentPrice()));
-                mallGoodsSku.setStyleId(mallGoodsStyle.getId());
+                mallGoodsSku.setStyleId(mallGoodsStyleSku.getId());
                 mallGoodsSku.setGoodsId(mallGoods.getId());
                 mallGoodsSkuMapper.insert(mallGoodsSku);
             }
diff --git a/src/main/resources/mapper/modules/MallGoodsStyleMapper.xml b/src/main/resources/mapper/modules/MallGoodsStyleMapper.xml
index 8ea2e48..24119ab 100644
--- a/src/main/resources/mapper/modules/MallGoodsStyleMapper.xml
+++ b/src/main/resources/mapper/modules/MallGoodsStyleMapper.xml
@@ -6,4 +6,10 @@
         delete from mall_goods_style where goods_id = #{id}
     </delete>
 
+
+
+    <select id="selectByStyleName" resultType="cc.mrbird.febs.mall.entity.MallGoodsStyle">
+        select * from mall_goods_style where goods_id = #{goodsId} and name = #{name}
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
index 31c91e4..4250bd6 100644
--- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
+++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -41,7 +41,6 @@
         inner join mall_member b on a.member_id=b.id
         left join mall_order_info c on a.order_no = c.order_no
         <where>
-            a.type != 6
             <if test="record != null" >
                 <if test="record.name!=null and record.name!=''">
                     and b.name like concat('%',  #{record.name},'%')
diff --git a/src/main/resources/templates/febs/views/modules/goods/detailGoods.html b/src/main/resources/templates/febs/views/modules/goods/detailGoods.html
index 2e55f91..9c45f8b 100644
--- a/src/main/resources/templates/febs/views/modules/goods/detailGoods.html
+++ b/src/main/resources/templates/febs/views/modules/goods/detailGoods.html
@@ -75,17 +75,17 @@
                 <input type="text" name="goodsIntrodution" autocomplete="off" class="layui-input" >
             </div>
         </div>
-        <div class="layui-row layui-col-space10 layui-form-item">
-            <div class="layui-col-lg6">
-                <label class="layui-form-label">规格:</label>
-                <div class="layui-input-block">
-                    <input type="text" name="addMallGoodsSkuDtos" autocomplete="off" class="layui-input" id="attrName">
-                </div>
-            </div>
-            <div class="layui-col-lg6">
-                <button type="button" class="layui-btn layui-btn-normal layui-btn-xs" id="test3" >添加</button>
-            </div>
-        </div>
+<!--        <div class="layui-row layui-col-space10 layui-form-item">-->
+<!--            <div class="layui-col-lg6">-->
+<!--                <label class="layui-form-label">规格:</label>-->
+<!--                <div class="layui-input-block">-->
+<!--                    <input type="text" name="addMallGoodsSkuDtos" autocomplete="off" class="layui-input" id="attrName">-->
+<!--                </div>-->
+<!--            </div>-->
+<!--            <div class="layui-col-lg6">-->
+<!--                <button type="button" class="layui-btn layui-btn-normal layui-btn-xs" id="test3" >添加</button>-->
+<!--            </div>-->
+<!--        </div>-->
         <div id="attrWrap"></div>
         <div class="layui-form-item">
             <label class="layui-form-label">缩略图链接:</label>
@@ -161,11 +161,65 @@
 
         initUserValue();
 
+        function appendSku(sku,skuIndex){
+                var index = skuIndex;
+                let attrNameVal = sku.skuName;
+                let stockVal = sku.stock;
+                let skuVolume = sku.skuVolume;
+                let originalPrice = sku.originalPrice;
+                let presentPrice = sku.presentPrice;
+                let skuImage = sku.skuImage;
+                $('#attrWrap').append(`
+                    <div class="layui-form-item">
+                        <label class="layui-form-label">规格详情:</label>
+                        <div class="layui-input-block layui-form-item item">
+                            <div style="float:left" >
+                                <div>
+                                    <input type="text" class="layui-input" value="` + attrNameVal + `" readonly >
+                                </div>
+                            </div>
+                            <div  style="float:left" >
+                                <div>
+                                    <img class="layui-upload-img" src="` + skuImage + `" style="width: 100px" readonly>
+                                </div>
+                            </div>
+                            <div style="float:left" >
+                                <div>
+                                    <input type="text" value="` + stockVal + `" placeholder="库存" autocomplete="off" class="layui-input" readonly>
+                                </div>
+                            </div>
+                            <div style="float:left" >
+                                <div>
+                                    <input type="text" value="` + skuVolume + `" placeholder="销售数量" autocomplete="off" class="layui-input" readonly>
+                                </div>
+                            </div>
+                            <div style="float:left" >
+                                <div>
+                                    <input type="text" value="` + originalPrice + `" placeholder="原价" autocomplete="off" class="layui-input" readonly>
+                                </div>
+                            </div>
+                            <div style="float:left" >
+                                <div>
+                                    <input type="text" value="` + presentPrice + `" placeholder="现价" autocomplete="off" class="layui-input" readonly>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+            `)
+        }
+
         function initUserValue() {
+            var skuIndex = 0;
+            let skuLength = mailGoodsDetail.mailGoodsSkuDetailVo.length;
+            for(var skuIndex = 0; skuIndex < skuLength; skuIndex++){
+                appendSku(mailGoodsDetail.mailGoodsSkuDetailVo[skuIndex],skuIndex);
+            }
+
             form.val("goods-detail-form", {
                 "id": mailGoodsDetail.id,
                 "goodsNo": mailGoodsDetail.goodsNo,
                 "categoryId": mailGoodsDetail.categoryId,
+                "mailGoodsSkuDetailVo": mailGoodsDetail.mailGoodsSkuDetailVo,
                 "unit": mailGoodsDetail.unit,
                 "originalPrice": mailGoodsDetail.originalPrice,
                 "presentPrice": mailGoodsDetail.presentPrice,
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 f228ff3..7a5cca0 100644
--- a/src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html
+++ b/src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html
@@ -57,7 +57,7 @@
                             </div>
                             <div class="layui-row layui-col-space10 layui-form-item">
                                 <div class="layui-col-lg6">
-                                    <label class="layui-form-label">规格:</label>
+                                    <label class="layui-form-label">样式:</label>
                                     <div class="layui-input-block">
                                         <input type="text" name="addMallGoodsSkuDtos" autocomplete="off" class="layui-input" id="attrName">
                                     </div>
@@ -232,43 +232,53 @@
 
         $('#test3').on('click', function (){
             var index = $("#attrWrap").children().length;
+            let attrNameVal = $('#attrName').val();
+            if(attrNameVal==null || attrNameVal==""){
+                febs.alert.warn('样式名称不能为空');
+                return false;
+            }
             $('#attrWrap').append(`
                     <div class="layui-form-item item">
                     <div style="float:left" >
-                            <input type="text" name="skuName` + index + `" autocomplete="off" class="layui-input" value="` + $('#attrName').val() + `" readonly >
+                            <input type="text" name="styleName` + index + `" value="` + $('#attrName').val() + `" autocomplete="off" class="layui-input"  readonly >
+                    </div>
+                    <div style="float:left" >
+                        <div>
+                            <input type="text" name="skuName` + index +`" placeholder="名称" autocomplete="off" class="layui-input" >
+                        </div>
                     </div>
                     <div  style="float:left" >
                         <label class="layui-form-label">图片:</label>
                         <div class="layui-input-block">
                             <div class="layui-upload">
-                                    <button type="button" class="layui-btn layui-btn-normal layui-btn-xs sku-img" id="` + index + `">上传</button>
-                                    <input type="text" id="skuImage` + index +`" name="skuImage` + index + `" autocomplete="off"
-                                        class="layui-input">
+                                    <button type="button" class="layui-btn layui-btn-normal layui-btn-xs sku-img" id="skuImg` + index + `">上传</button>
+                                    <img class="layui-upload-img" id="imageUrls` + index + `" style="width: 100px" >
                             </div>
                         </div>
                     </div>
-                    <div style="float:left" >
-                        <label class="layui-form-label">库存:</label>
-                        <div class="layui-input-block">
-                            <input type="text" name="stock` + index +`" autocomplete="off" class="layui-input" >
+                    <div style="float:left" class="febs-hide">
+                        <div>
+                            <input type="text" id="skuImage` + index +`" name="skuImage` + index + `" autocomplete="off" class="layui-input">
                         </div>
                     </div>
                     <div style="float:left" >
-                        <label class="layui-form-label">销售数量:</label>
-                        <div class="layui-input-block">
-                            <input type="text" name="skuVolume` + index +`" autocomplete="off" class="layui-input" >
+                        <div>
+                            <input type="number" name="stock` + index +`" placeholder="库存" autocomplete="off" class="layui-input" >
                         </div>
                     </div>
                     <div style="float:left" >
-                        <label class="layui-form-label">原价:</label>
-                        <div class="layui-input-block">
-                            <input type="text" name="originalPrice` + index +`" autocomplete="off" class="layui-input" >
+                        <div>
+                            <input type="number" name="skuVolume` + index +`" placeholder="销售数量" autocomplete="off" class="layui-input" >
                         </div>
                     </div>
                     <div style="float:left" >
-                        <label class="layui-form-label">现价:</label>
-                        <div class="layui-input-block">
-                            <input type="text" name="presentPrice` + index + `" autocomplete="off" class="layui-input" >
+                        <div>
+                            <input type="number" name="originalPrice` + index +`" placeholder="原价" autocomplete="off" class="layui-input" >
+                        </div>
+                    </div>
+                    <div style="float:left" >
+                        <div>
+                            <input type="number" name="presentPrice` + index + `" placeholder="现价" autocomplete="off" class="layui-input" >
                         </div>
                     </div>
                     <div style="float:left" >
@@ -278,30 +288,25 @@
             `)
             //普通图片上传
             upload.render({
-                elem: '.sku-img'
+                elem: '#skuImg' + index
                 ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
                 ,done: function(res){
                     febs.alert.success(res.data.src);
-                    var cid = this.item.attr('id');
-                    $('#skuImgPreview' + cid).attr('src', res.data.src);
-                    $('#skuImage'+cid).val(res.data.src);
+                    $('#imageUrls' + index).attr('src', res.data.src);
+                    $('#skuImage'+ index).val(res.data.src);
                 }
             });
         });
         upload.render({
-            elem: '.sku-img'
+            elem: '#skuImg'+index
             ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
             ,done: function(res){
                 febs.alert.success(res.data.src);
-                var cid = this.item.attr('id');
-                $('#skuImgPreview' + cid).attr('src', res.data.src);
-                $('#skuImage'+cid).val(res.data.src);
+                $('#imageUrls' + index).attr('src', res.data.src);
+                $('#skuImage'+ index).val(res.data.src);
             }
         });
         $("#attrWrap").on("click",".del-attr-btn",function(){
-            // console.log(this)
-            // console.log($(this).index())
-            // console.log($(this).attr('data-index'))
             var index = $(this).attr('data-index')
             $($("#attrWrap").find(".item")[index].remove());
         });
@@ -310,6 +315,7 @@
             var skuArr = $("#attrWrap").find(".item");
             for(var i = 0;i < skuArr.length;i++){
                 skuArrs.push({
+                    styleName: $("input[name='styleName" + i + "']").val(),
                     skuName: $("input[name='skuName" + i + "']").val(),
                     skuImage: $("input[name='skuImage" + i + "']").val(),
                     stock: $("input[name='stock" + i + "']").val(),
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
index 440cc4a..0db1691 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
@@ -47,9 +47,9 @@
                     {field: 'type', title: '流水类型',
                         templet: function (d) {
                             if (d.type === 1) {
-                                return '<span>分红收入</span>'
+                                return '<span>直推奖励</span>'
                             } else if (d.type === 2) {
-                                return '<span>业绩奖励</span>'
+                                return '<span>团队奖励</span>'
                             } else if (d.type === 3) {
                                 return '<span>订单支付</span>'
                             } else if (d.type === 4) {
@@ -58,6 +58,8 @@
                                 return '<span>转账</span>'
                             }else if (d.type === 6) {
                                 return '<span>提现</span>'
+                            }else if (d.type === 7) {
+                                return '<span>排名奖励</span>'
                             }else{
                                 return ''
                             }
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
index 07791c0..4a75d57 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
@@ -22,11 +22,13 @@
                                         <div class="layui-input-inline">
                                             <select name="type">
                                                 <option value="">请选择</option>
-                                                <option value="1">分红收入</option>
-                                                <option value="2">业绩奖励</option>
+                                                <option value="1">直推奖励</option>
+                                                <option value="2">团队奖励</option>
                                                 <option value="3">订单支付</option>
                                                 <option value="4">退款</option>
                                                 <option value="5">转账</option>
+                                                <option value="6">提现</option>
+                                                <option value="7">排名奖励</option>
                                             </select>
                                         </div>
                                     </div>
@@ -99,23 +101,31 @@
                     {field: 'type', title: '流水类型',
                         templet: function (d) {
                             if (d.type === 1) {
-                                return '<span>分红收入</span>'
+                                return '<span>直推奖励</span>'
                             } else if (d.type === 2) {
-                                return '<span>业绩奖励</span>'
+                                return '<span>团队奖励</span>'
                             } else if (d.type === 3) {
                                 return '<span>订单支付</span>'
                             } else if (d.type === 4) {
                                 return '<span>退款</span>'
-                            } else if (d.type === 5) {
+                            }else if (d.type === 5) {
                                 return '<span>转账</span>'
-                            } else{
+                            }else if (d.type === 6) {
+                                return '<span>提现</span>'
+                            }else if (d.type === 7) {
+                                return '<span>排名奖励</span>'
+                            }else{
                                 return ''
                             }
                         }, minWidth: 80,align:'center'},
                     {field: 'type', title: '支付方式',
                         templet: function (d) {
                             if (d.type === 3) {
-                                return '<span>'+d.payMethod+'</span>'
+                                if(d.payMethod === null || d.payMethod ===''){
+                                    return ''
+                                }else{
+                                    return '<span>'+d.payMethod+'</span>'
+                                }
                             } else{
                                 return ''
                             }
diff --git a/src/main/resources/templates/febs/views/modules/product/categoryUpdate.html b/src/main/resources/templates/febs/views/modules/product/categoryUpdate.html
index 477c14d..6c75df5 100644
--- a/src/main/resources/templates/febs/views/modules/product/categoryUpdate.html
+++ b/src/main/resources/templates/febs/views/modules/product/categoryUpdate.html
@@ -61,16 +61,6 @@
                 <input type="text" id="imageUrl" name="image" class="layui-input" readonly>
             </div>
         </div>
-<!--        <div class="layui-form-item">-->
-<!--            <label class="layui-form-label ">父类:</label>-->
-<!--            <div class="layui-input-block">-->
-<!--                <select name="parentId"-->
-<!--                        xm-select-direction="down"-->
-<!--                        xm-select="user-update-category"-->
-<!--                        xm-select-skin="default">-->
-<!--                </select>-->
-<!--            </div>-->
-<!--        </div>-->
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">是否推荐:</label>
             <div class="layui-input-block">
@@ -134,31 +124,6 @@
                 form.render();
             });
         });
-        // formSelects.config('user-update-category', {
-        //     searchUrl: ctx + 'admin/goodsCategory/categorys',
-        //     response: {
-        //         statusCode: 200
-        //     },
-        //     beforeSuccess: function (id, url, searchVal, result) {
-        //         var data = result.data;
-        //         var tranData = [];
-        //         for (var i = 0; i < data.length; i++) {
-        //             tranData.push({
-        //                 name: data[i].name,
-        //                 value: data[i].id
-        //             })
-        //         }
-        //         result.data = tranData;
-        //         return result;
-        //     },
-        //     success: function () {
-        //         formSelects.value('user-update-category', goodsCategoryVo.parentId);
-        //     },
-        //     error: function (id, url, searchVal, err) {
-        //         console.error(err);
-        //         febs.alert.error('获取分类列表失败');
-        //     }
-        // });
         initUserValue();
 
         function initUserValue() {

--
Gitblit v1.9.1