lisy
2023-08-14 dfb7c31b6591f9bb53182b3023f0be1d496a7d1a
管理后台:添加优惠券和积分商品的优化
5个文件已修改
163 ■■■■■ 已修改文件
cloud-server-course/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CouponDataVo.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js 130 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java
@@ -104,14 +104,6 @@
        linkedList.add(result1);
        //分片规则配置
        result1.getTables().add(getCoursePackageSchedulingTableRuleConfiguration());
        Properties props5 = new Properties();
        props5.setProperty("algorithm-expression", "t_course_package_scheduling$->{coursePackageId % 5 + 1}");
        result1.getShardingAlgorithms().put("t_course_package_scheduling-inline", new AlgorithmConfiguration("INLINE", props5));
        result1.getKeyGenerators().put("t_course_package_scheduling-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties()));
        linkedList.add(result1);
        return linkedList;
    }
@@ -139,17 +131,6 @@
        return result;
    }
    /**
     * 分片算法配置
     * @return
     */
    private ShardingTableRuleConfiguration getCoursePackageSchedulingTableRuleConfiguration() {
        ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_course_package_scheduling", "m_$->{0}.t_course_package_scheduling$->{1..5}");//30
        result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("coursePackageId", "t_course_package_scheduling-inline"));
        result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_course_package_scheduling-snowflake"));
        return result;
    }
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CouponDataVo.java
@@ -83,7 +83,7 @@
    /**
     * 图片列表
     */
    List<String> goodImgs;
    String goodImgs;
    /**
     * 适用范围
     */
@@ -91,9 +91,9 @@
    /**
     * 城市code
     */
    List<Integer> cityIds;
    String cityIds;
    /**
     * 门店列表
     */
    List<Integer> storeIds;
    String storeIds;
}
cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html
@@ -270,17 +270,17 @@
                            <label class="col-sm-3">*适用范围: </label>
                            <div class="col-sm-3" id="belongsNationwide" hidden="hidden">
                                <input class="col-sm-1" onclick="scopeOfApplication1()" name="company" type="radio"
                                       value="0" checked style="margin-top: 10px"/>
                                       value="1" checked style="margin-top: 10px"/>
                                <label class="col-sm-2" style="width: 68%;margin-top: 7px">全国通用</label>
                            </div>
                            <div class="col-sm-3" id="belongsCity"  hidden="hidden">
                                <input class="col-sm-1" name="company" onclick="scopeOfApplication2()" type="radio"
                                       value="1"  style="margin-top: 10px"/>
                                       value="2"  style="margin-top: 10px"/>
                                <label class="col-sm-2" style="width: 64%;margin-top: 7px">指定城市</label>
                            </div>
                            <div class="col-sm-3" id="belongsStore"  hidden="hidden">
                                <input class="col-sm-1" name="company" onclick="scopeOfApplication3()" type="radio"
                                       value="1" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/>
                                       value="3" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/>
                                <label class="col-sm-2" style="width: 64%;margin-top: 6px;">指定门店</label>
                            </div>
                        </div>
cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
@@ -80,6 +80,9 @@
function scopeOfApplication1() {
    $("#storeSelect").hide();
    $("#citySelect").hide();
    num = 0;
}
/**
 * 指定城市
@@ -213,9 +216,9 @@
}
var num = 0;
let num = 0;
couponInfoDlg.addBranch = function () {
    num=num+1;
    num = num+1;
    var a= "";
    a = "<div style=\'margin-left: 25%\' class=\"col-sm-9 control-label\">\n" +
        "                            <select class=\"col-sm-1\"  id=\'provinceData"+num+"\' style=\"margin-top: 1%;width: 25%\" onchange=\'changeCity("+num+")\'>\n" +
@@ -253,22 +256,17 @@
                '<td><input type="hidden" id="id" name="id" value="'+arrays[i].id+'"><input type="hidden" id="provinceCity" name="provinceCity" value="'+arrays[i].provinceCity+'">' + arrays[i].provinceCity + '</td>' +
                '<td><input type="hidden" id="accountName" name="accountName" value="'+arrays[i].accountName+'">' + arrays[i].accountName + '</td>' +
                '<td><input type="hidden" id="name" name="name" value="'+arrays[i].name+'">' + arrays[i].name + '</td><td><button onclick="deleteSub(this)">移除</button></td></tr>';
            this.storeIds.push(arrays[i].id);
        }
    }
    $("#coun").append(str);
    console.log('storeIds',this.storeIds)
}
function deleteSub(e) {
    console.log(e);
    var row = $(e).closest('tr');
    var idValue = row.find('#id').val();
    var index = this.storeIds.indexOf(idValue.toString());
    if (index !== -1) {
        this.storeIds.splice(index, 1);
    }
    var value = row.find('#id').val();
    couponInfoDlg.storeIds.splice(couponInfoDlg.storeIds.indexOf(parseInt(value)), 1)
    $(e).parent().parent().remove();
    console.log('storeIds',this.storeIds)
}
@@ -284,29 +282,97 @@
    var cityIds = [];
    // 优惠券名称
    var couponName = $('#name').val();
    if (couponName === undefined || couponName === '' || couponName === null){
        return Feng.error('优惠券名称不能为空');
    }
    // 优惠券类型
    var prescription = $('#prescription').val();
    let prescription = $(":radio[name='prescription']:checked").val();
    // 满xx金额
    let conditionalAmount = $('#conditionalAmount').val();
    // 减xx金额
    let deductionAmount = $('#deductionAmount').val();
    // 可抵扣xx金额
    let voucherAmount = $('#voucherAmount').val();
    // 体验券名称
    let experienceName = $('#experienceName').val();
    if (prescription === '1'){
        if (conditionalAmount === undefined || conditionalAmount === '' || conditionalAmount === null){
            return Feng.error('条件金额不能为空');
        }
        if (deductionAmount === undefined || deductionAmount === '' || deductionAmount === null){
            return Feng.error('减扣金额不能为空');
        }
    }
    if (prescription === '2'){
        if (voucherAmount === undefined || voucherAmount === '' || voucherAmount === null){
            return Feng.error('抵扣金额不能为空');
        }
    }
    if (prescription === '3'){
        if (experienceName === undefined || experienceName === '' || experienceName === null){
            return Feng.error('体验券名称不能为空');
        }
    }
    // 说明
    var illustrate = $('#illustrate').val();
    if (illustrate === undefined || illustrate === '' || illustrate === null){
        return Feng.error('优惠券说明不能为空');
    }
    // 发放方式
    var distributionMethod = $('#distributionMethod').val();
    let distributionMethod = $(":radio[name='distributionMethod']:checked").val();
    if (distributionMethod === undefined || distributionMethod === '' || distributionMethod === null){
        return Feng.error('发放方式不能为空');
    }
    // 所需积分
    var requiredPoints = $('#requiredPoints').val();
    // 所需现金
    var requiredCash = $('#requiredCash').val();
    // 用户人群
    let userGroup = $(':radio[name="userGroup"]:checked').val();
    // 发放数量
    var quantityIssued = $('#quantityIssued').val();
    if (quantityIssued === undefined || quantityIssued === '' || quantityIssued === null){
        return Feng.error('发放数量不能为空');
    }
    // 限领数量
    var pickUpQuantity = $('#pickUpQuantity').val();
    if (pickUpQuantity === undefined || pickUpQuantity === '' || pickUpQuantity === null){
        return Feng.error('限领数量不能为空');
    }
    // 有效期
    var periodOfValidity = $('#periodOfValidity').val();
    if (periodOfValidity === undefined || periodOfValidity === '' || periodOfValidity === null){
        return Feng.error('有效期不能为空');
    }
    // 兑换方式
    let exchangeMethod = $(':radio[name="exchangeMethod"]:checked').val();
    if (distributionMethod === '' || distributionMethod === undefined || distributionMethod === null){
        return Feng.error('兑换方式不能为空');
    }
    if (distributionMethod === '1'){
        if (requiredPoints === undefined || requiredPoints === '' || requiredPoints === null){
            return Feng.error('所需积分不能为空');
        }
    }
    if (distributionMethod === '2'){
        if (requiredPoints === undefined || requiredPoints === '' || requiredPoints === null){
            return Feng.error('所需积分不能为空');
        }
        if (requiredCash === undefined || requiredCash === '' || requiredCash === null){
            return Feng.error('所需现金不能为空');
        }
    }
    if (distributionMethod === '3'){
        if (requiredCash === undefined || requiredCash === '' || requiredCash === null){
            return Feng.error('所需现金不能为空');
        }
    }
    var requiredCash = $('#requiredCash').val();
    var company = $('#company').val();
    let company = $(':radio[name="company"]:checked').val();
    var cts = "";
    if (company === '2'){
        var myselect=document.getElementById('cityData');
        var seCity = myselect.options[myselect.selectedIndex].value;
@@ -314,7 +380,7 @@
            return Feng.error('请选中一个省市');
        }
        cityIds.push(seCity);
        if (this.num > 0){
        if (num > 0){
            for (let i = 1; i <= num; i++) {
                var insSelect=document.getElementById('cityData'+i);
                var inData = insSelect.options[insSelect.selectedIndex].value;
@@ -322,15 +388,21 @@
                    cityIds.push(inData);
                }
            }
            cts = cityIds.join(',');
        }
    }
    const commaSeparatedString = this.goodsPicArray.join(',');
    var stores = "";
    if (company === '3'){
        console.log('3---this.storeIds',this.storeIds);
        if (couponInfoDlg.storeIds.length === 0 ){
            return Feng.error('请至少选择一个门店');
        }
        stores = this.storeIds.join(',');
        console.log('stores--===--',stores)
    }
    console.log('11111111')
    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/tCouponManage/commitData", function (data) {
        Feng.success("添加成功!");
@@ -343,10 +415,10 @@
    ajax.set("cityManagerId",1);
    ajax.set("couponName",couponName);
    ajax.set("prescription",prescription);
    ajax.set("condition",$('#conditionalAmount').val());
    ajax.set("subtraction",$('#deductionAmount').val());
    ajax.set("discount",$('#voucherAmount').val());
    ajax.set("experience",$('#experienceName').val());
    ajax.set("condition",conditionalAmount);
    ajax.set("subtraction",deductionAmount);
    ajax.set("discount",voucherAmount);
    ajax.set("experience",experienceName);
    ajax.set("illustrate",illustrate);
    ajax.set("distributionMethod",distributionMethod);
    ajax.set("requiredPoints",requiredPoints);
@@ -357,10 +429,10 @@
    ajax.set("periodOfValidity",periodOfValidity);
    ajax.set("exchangeMethod",exchangeMethod);
    ajax.set("goodImg",this.goodsCover);
    ajax.set("goodImgs",this.goodsPicArray);
    ajax.set("company",$('#company').val());
    ajax.set("cityIds",cityIds);
    ajax.set("storeIds",this.storeIds);
    ajax.set("goodImgs",commaSeparatedString);
    ajax.set("company",company);
    ajax.set("cityIds",cts);
    ajax.set("storeIds",stores);
    ajax.start();
}
cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js
@@ -144,7 +144,7 @@
    console.log(e);
    var row = $(e).closest('tr');
    var value = row.find('#id').val();
    TCarInfoDlg.storeIds.splice(TCarInfoDlg.storeIds.indexOf(value), 1)
    TCarInfoDlg.storeIds.splice(TCarInfoDlg.storeIds.indexOf(parseInt(value)), 1)
    $(e).parent().parent().remove();
    console.log('storeIds',TCarInfoDlg.storeIds)
}