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; } 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); } } 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> zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html
@@ -892,14 +892,15 @@ </el-date-picker> </el-form-item> </el-col> <el-col :offset="2" :span="5"> </el-row> <el-row> <el-form-item label="购买有效期"> <el-col :span="6"> <el-form-item label=""> <el-input v-model="form.buyDateNum"></el-input> <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="12"> <el-col :span="2"> <el-form-item lable=""> <el-select v-model="form.buyDateUnit" placeholder="请选择"> <el-option @@ -911,14 +912,19 @@ </el-select> </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 :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-col :span="2"> <el-select v-model="form.useDateUnit" placeholder="请选择"> <el-option v-for="item in dateList" @@ -928,7 +934,33 @@ </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); } }); },