From dd934b9c655d085687747b0bb78209d45c1d1d9e Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 10 Dec 2020 17:43:34 +0800
Subject: [PATCH] modify goods invalid time function

---
 zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java                   |   15 ++++
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java |   34 +++++++---
 zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml                    |   20 +++---
 zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html         |  106 ++++++++++++++++++++++++-----------
 4 files changed, 120 insertions(+), 55 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java
index 32be44f..82774fa 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java
@@ -425,10 +425,23 @@
     private Integer useDateNum;
 
     /**
-     * 失效时间
+     * 统一失效时间
      */
     private Date invalidTime;
 
+    /**
+     * 支付方式 1-充值本金 2-赠送金额 3-积分
+     */
+    private String payMethods;
+
+    public String getPayMethods() {
+        return payMethods;
+    }
+
+    public void setPayMethods(String payMethods) {
+        this.payMethods = payMethods;
+    }
+
     public Integer getBuyDateNum() {
         return buyDateNum;
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java
index dc8cba5..c89bc78 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java
@@ -125,19 +125,31 @@
 
     private void setShoppingGoodsInvalidTime(ShoppingGoods shoppingGoods) {
         // 若未设置购买有效期和消耗有效期,则默认永久有效
-        if (shoppingGoods.getBuyDateNum() == null && shoppingGoods.getUseDateNum() == null) {
-            shoppingGoods.setInvalidTime(DateUtil.stringToDate("9999-12-31", DateUtil.DATE_FORMAT_DD));
-        } else {
-            // 计算失效日期,判断购买有效期和消耗有效期哪个先失效,则为失效日期
-            Date buyValidDate = DateUtil.calDate(shoppingGoods.getBuyDateNum(), shoppingGoods.getBuyDateUnit());
-            Date useValidDate = DateUtil.calDate(shoppingGoods.getUseDateNum(), shoppingGoods.getUseDateUnit());
-            if (buyValidDate.after(useValidDate)) {
-                shoppingGoods.setInvalidTime(useValidDate);
-            } else {
-                shoppingGoods.setInvalidTime(buyValidDate);
-            }
+//        if (shoppingGoods.getBuyDateNum() == null && shoppingGoods.getUseDateNum() == null) {
+//            shoppingGoods.setInvalidTime(DateUtil.stringToDate("9999-12-31", DateUtil.DATE_FORMAT_DD));
+//        } else {
+//            // 计算失效日期,判断购买有效期和消耗有效期哪个先失效,则为失效日期
+//            Date buyValidDate = DateUtil.calDate(shoppingGoods.getBuyDateNum(), shoppingGoods.getBuyDateUnit());
+//            Date useValidDate = DateUtil.calDate(shoppingGoods.getUseDateNum(), shoppingGoods.getUseDateUnit());
+//            if (buyValidDate.after(useValidDate)) {
+//                shoppingGoods.setInvalidTime(useValidDate);
+//            } else {
+//                shoppingGoods.setInvalidTime(buyValidDate);
+//            }
+//            shoppingGoods.setBuyValid(shoppingGoods.getBuyDateNum() + shoppingGoods.getBuyDateUnit());
+//            shoppingGoods.setUseValid(shoppingGoods.getUseDateNum() + shoppingGoods.getUseDateUnit());
+//        }
+
+        if (shoppingGoods.getBuyDateNum() != null && StringUtils.isNotBlank(shoppingGoods.getBuyDateUnit())) {
             shoppingGoods.setBuyValid(shoppingGoods.getBuyDateNum() + shoppingGoods.getBuyDateUnit());
+        } else {
+            shoppingGoods.setBuyValid(null);
+        }
+
+        if (shoppingGoods.getUseDateNum() != null && StringUtils.isNotBlank(shoppingGoods.getUseDateUnit())) {
             shoppingGoods.setUseValid(shoppingGoods.getUseDateNum() + shoppingGoods.getUseDateUnit());
+        } else {
+            shoppingGoods.setUseValid(null);
         }
     }
 
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
index fac724e..6c35040 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
@@ -86,6 +86,11 @@
 		<result property="goodsSortName" column="goodsSortName" />
 
 
+		<result property="payMethods" column="pay_methods" />
+		<result property="invalidTime" column="invalid_time" />
+		<result property="useValid" column="use_valid" />
+		<result property="buyValid" column="buy_valid" />
+
 
 
 	</resultMap>
@@ -293,7 +298,8 @@
 		zjm,
 		buy_valid,
 		use_valid,
-		invalid_time
+		invalid_time,
+		pay_methods
 		)
 		VALUES (
 		#{id},
@@ -352,7 +358,8 @@
 			#{zjm},
 			#{buyValid},
 			#{useValid},
-			#{invalidTime}
+			#{invalidTime},
+			#{payMethods}
 		)
 	</insert>
 
@@ -525,17 +532,10 @@
 			<if test="isDel != null and isDel !='' ">
 				is_del = #{isDel},
 			</if>
-			<if test="invalidTime != null">
 				invalid_time = #{invalidTime},
-			</if>
-			<if test="buyValid != null and buyValid !='' ">
 				buy_valid = #{buyValid},
-			</if>
-			<if test="useValid != null and useValid !='' ">
 				use_valid = #{useValid},
-			</if>
-
-
+				pay_methods = #{payMethods},
 		</set>
 		WHERE id=#{id}
 	</update>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html
index 1052739..215e098 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html
@@ -892,34 +892,17 @@
                             </el-date-picker>
                         </el-form-item>
                     </el-col>
-                    <el-col :offset="2" :span="5">
-                        <el-form-item label="购买有效期">
-                            <el-col  :span="6">
-                                <el-form-item label="">
-                                    <el-input v-model="form.buyDateNum"></el-input>
-                                </el-form-item>
-                            </el-col>
-                            <el-col :span="12">
-                                <el-form-item lable="">
-                                    <el-select v-model="form.buyDateUnit" placeholder="请选择">
-                                        <el-option
-                                                v-for="item in dateList"
-                                                :key="item.value"
-                                                :label="item.label"
-                                                :value="item.value">
-                                        </el-option>
-                                    </el-select>
-                                </el-form-item>
-                            </el-col>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :offset="1" :span="5">
-                        <el-form-item label="消耗有效期">
-                            <el-col  :span="6">
-                                <el-input v-model="form.useDateNum"></el-input>
-                            </el-col>
-                            <el-col  :span="12">
-                                <el-select v-model="form.useDateUnit" placeholder="请选择">
+                </el-row>
+                <el-row>
+                    <el-form-item label="购买有效期">
+                        <el-col  :span="4">
+                            <el-form-item label="" prop="isNum">
+                                <el-input v-model.number="form.buyDateNum"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="2">
+                            <el-form-item lable="">
+                                <el-select v-model="form.buyDateUnit" placeholder="请选择">
                                     <el-option
                                             v-for="item in dateList"
                                             :key="item.value"
@@ -927,8 +910,57 @@
                                             :value="item.value">
                                     </el-option>
                                 </el-select>
-                            </el-col>
-                        </el-form-item>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6" style="margin-left: 10px; color: #C0C4CC;">
+                            <span>用户从购买日开始计算多长时间自动失效</span>
+                        </el-col>
+                    </el-form-item>
+                </el-row>
+                <el-row>
+                    <el-form-item label="消耗有效期">
+                        <el-col  :span="4">
+                            <el-form-item label="" prop="isNum">
+                                <el-input v-model.number="form.useDateNum"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col  :span="2">
+                            <el-select v-model="form.useDateUnit" placeholder="请选择">
+                                <el-option
+                                        v-for="item in dateList"
+                                        :key="item.value"
+                                        :label="item.label"
+                                        :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </el-col>
+                        <el-col :span="6" style="margin-left: 10px; color: #C0C4CC;">
+                            <span>用户从第一次使用后开始计算多长时间自动生效</span>
+                        </el-col>
+                    </el-form-item>
+                </el-row>
+                <el-row>
+                    <el-form-item label="统一到期时间">
+                        <el-col :span="6">
+                            <el-date-picker
+                                    v-model="form.invalidTime"
+                                    type="date"
+                                    placeholder="选择日期">
+                            </el-date-picker>
+                        </el-col>
+                        <el-col :span="10" style="margin-left: 10px; color: #C0C4CC;">
+                            <span>在指定日期所有购买过本商品的统一失效,且在统一失效时间之后产品会自动下架</span>
+                        </el-col>
+                    </el-form-item>
+                </el-row>
+                <p class="el-big-title">支付方式</p>
+                <el-row>
+                    <el-col :offset="1">
+                        <el-checkbox-group v-model="payMethodList">
+                            <el-checkbox label="1">充值本金</el-checkbox>
+                            <el-checkbox label="2">赠送金额</el-checkbox>
+                            <el-checkbox label="3">积分</el-checkbox>
+                        </el-checkbox-group>
                     </el-col>
                 </el-row>
                 <el-row v-if="shopInfo.shopType==1">
@@ -982,6 +1014,7 @@
     var app = new Vue({
         el: '#app',
         data: {
+            payMethodList : ['1', '2', '3'],
             dateList : [{value : 'Y', label : '年'}, {value : 'M', label : '月'}, { value : 'D' , label : '日' }],
             selectTreeParam: {
                 holder: '请选择商品类型',
@@ -1100,6 +1133,9 @@
                 //充值卡绑定产品分类
                 isCourse: 'N',
                 carIsAll: '否',
+                useDateNum : '',
+                buyDateNum : '',
+                payMethods : '',
             },
             submitUrl: '/admin/shoppinggoods/addShoppingGoods',
             modifySubmitUrl: '/admin/shoppinggoods/modifyShoppingGoods',
@@ -1115,6 +1151,7 @@
                 isCourse: [{required: true, message: '请选择套餐类型', trigger: 'change'}],
                 sealPice: [{required: true, message: '请填写售价', trigger: 'blur'}],
                 timeLength: [{required: true, message: '请填写服务时长', trigger: 'blur'}],
+                isNum : [{ type : 'number', message: '请输入数字', trigger: 'blur' }],
             },
 
         },
@@ -1509,6 +1546,11 @@
                     _this.form.useShop=_this.form.useShop.join(",");
                 }
 
+                if (_this.payMethodList.length != 0) {
+                    _this.form.payMethods = this.payMethodList.join(",");
+                } else {
+                    _this.form.payMethods = '';
+                }
 
                 if (this.validFormData()) {
 
@@ -1602,7 +1644,7 @@
                             ue.setContent(_this.form.description, true);
                         }
                         _this.form.useShop=MTools.strToArray(_this.form.useShop,",",true);
-
+                        _this.payMethodList = MTools.strToArray(_this.form.payMethods,",",false);
                         _this.fileList[0].url = _this.form.img;
                         _this.defaultCates = data.mapInfo.cates;
                         _this.userAdbleEdit();
@@ -1610,8 +1652,6 @@
                         //如果是总产品加载总部分类信息
                         _this.getShoppinggoodscategory(1);
                         _this.getGoodstype(1);
-
-
                     }
                 });
             },

--
Gitblit v1.9.1