From f5bd8fc9b87627f38b015d4bc4e22b3353ec4d6d Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 15 Mar 2021 14:37:00 +0800
Subject: [PATCH] 分销员后台0315

---
 zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateTgjhDto.java                |   17 ++
 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html            |  191 +++++++++++++++++++++----------
 zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java |   34 +++++
 zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java         |   84 ++++++++++++++
 zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java      |    3 
 zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateTgtpDto.java                |   17 ++
 6 files changed, 283 insertions(+), 63 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java
index cf487c7..3ab2680 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java
@@ -100,9 +100,6 @@
     		   }
     	   }
        }
-
-
-
        return result;
     }
     
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
index 169a429..f0fe454 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
@@ -10,7 +10,10 @@
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.tools.StringUtils;
 import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
 import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao;
 import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao;
 import com.matrix.system.fenxiao.dto.*;
@@ -22,9 +25,12 @@
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 @RestController
@@ -39,6 +45,8 @@
 	private BizUserDao bizUserDao;
 	@Autowired
 	private ShopSalesmanGradeDao shopSalesmanGradeDao;
+	@Autowired
+    private BusParameterSettingsDao busParameterSettingsDao;
 	
 	/**
      * 分销员详情页面信息
@@ -102,6 +110,82 @@
     }
     
     /**
+     *推广图片
+     */
+    @ApiOperation(value = "推广图片")
+    @PostMapping(value = "/updateTgtp")
+    public @ResponseBody
+    AjaxResult updateTgtp(@RequestBody UpdateTgtpDto updateTgtpDto) {
+        return shopSalesmanApplyService.updateTgtp(updateTgtpDto);
+    }
+    
+    /**
+     *推广图片
+     */
+    @RequestMapping(value = "/loadTgtpSetting")
+    public AjaxResult loadTgtpSetting() {
+
+       AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
+       SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+       Long companyId = user.getCompanyId();
+       
+       //推广文案
+       String[] FXKGCode={FenxiaoSettingConstant.FX_TG_POSTER};
+       String[] FXKGName={"推广图片"};
+       List<FenXiaoSettingVo> fxkgRuleSettingsVo = getRuleSettingsVo(FXKGCode,FXKGName,companyId);
+       result.putInMap("tgtp", fxkgRuleSettingsVo.get(0));
+       return result;
+    }
+
+    /**
+     *推广计划更新
+     */
+    @ApiOperation(value = "推广计划更新")
+    @PostMapping(value = "/updateTgjh")
+    public @ResponseBody
+    AjaxResult updateTgjh(@RequestBody UpdateTgjhDto updateTgjhDto) {
+        return shopSalesmanApplyService.updateTgjh(updateTgjhDto);
+    }
+    /**
+     *查询推广计划
+     */
+    @RequestMapping(value = "/loadTgwaSetting")
+    public AjaxResult loadTgwaSetting() {
+
+       AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
+       SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+       Long companyId = user.getCompanyId();
+       
+       //推广文案
+       String[] FXKGCode={FenxiaoSettingConstant.FX_TG_PLAN};
+       String[] FXKGName={"推广文案"};
+       List<FenXiaoSettingVo> fxkgRuleSettingsVo = getRuleSettingsVo(FXKGCode,FXKGName,companyId);
+       result.putInMap("tgwa", fxkgRuleSettingsVo.get(0));
+       return result;
+    }
+    
+    /**
+     *获取对应的规则设置数据
+     * @param ArrayCode
+     * @param ArrayName
+     * @param companyId
+     * @return
+     */
+    private List<FenXiaoSettingVo> getRuleSettingsVo(String[] ArrayCode,String[] ArrayName,Long companyId){
+    	List<BusParameterSettings> dataList = busParameterSettingsDao.selectByCodesAndCompanyId(Arrays.asList(ArrayCode), companyId);
+        List<FenXiaoSettingVo> scoreRuleSettingsVos=new ArrayList<FenXiaoSettingVo>();
+        int index=0;
+        for (BusParameterSettings item:dataList){
+        	FenXiaoSettingVo paramVo=new FenXiaoSettingVo();
+            BeanUtils.copyProperties(item,paramVo);
+            paramVo.setParamName(ArrayName[index]);
+            scoreRuleSettingsVos.add(paramVo);
+            index++;
+        }
+        return scoreRuleSettingsVos;
+    }
+    
+    /**
      * 分佣方案
      */
     @ApiOperation(value = "查询分佣方案")
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateTgjhDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateTgjhDto.java
new file mode 100644
index 0000000..bfb530c
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateTgjhDto.java
@@ -0,0 +1,17 @@
+package com.matrix.system.fenxiao.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "UpdateTgjhDto", description = "参数")
+public class UpdateTgjhDto {
+	
+	@ApiModelProperty(value = "方案名称")
+	private String tgfa;
+	
+	@ApiModelProperty(hidden = true)
+	private Long companyId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateTgtpDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateTgtpDto.java
new file mode 100644
index 0000000..45c168d
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateTgtpDto.java
@@ -0,0 +1,17 @@
+package com.matrix.system.fenxiao.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "UpdateTgjhDto", description = "参数")
+public class UpdateTgtpDto {
+	
+	@ApiModelProperty(value = "方案名称")
+	private String imageUrl;
+	
+	@ApiModelProperty(hidden = true)
+	private Long companyId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
index 0530ac5..e13c1cc 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
@@ -26,6 +26,8 @@
 import com.matrix.system.fenxiao.dto.ShopSalesmanDetailDto;
 import com.matrix.system.fenxiao.dto.UnbundlingSaleManDto;
 import com.matrix.system.fenxiao.dto.UpdateFyfaDto;
+import com.matrix.system.fenxiao.dto.UpdateTgjhDto;
+import com.matrix.system.fenxiao.dto.UpdateTgtpDto;
 import com.matrix.system.fenxiao.entity.ShopSalesmanApply;
 import com.matrix.system.fenxiao.entity.ShopSalesmanGrade;
 import com.matrix.system.fenxiao.vo.FyfaManageVo;
@@ -326,6 +328,14 @@
         if(StrUtil.isEmpty(name)) {
         	return AjaxResult.buildFailInstance("请输入方案名称");
         }
+        Double sealesCommission = updateFyfaDto.getSealesCommission();
+        if(StrUtil.isEmpty(sealesCommission.toString())) {
+        	return AjaxResult.buildFailInstance("请输入正确的推广提成");
+        }
+        Double invitationCommission = updateFyfaDto.getInvitationCommission();
+        if(StrUtil.isEmpty(invitationCommission.toString())) {
+        	return AjaxResult.buildFailInstance("请输入正确的邀请提成");
+        }
 		//设置用户公司ID
         QueryUtil.setQueryLimitCom(updateFyfaDto);
         selectById.setCompanyId(updateFyfaDto.getCompanyId());
@@ -336,6 +346,30 @@
         shopSalesmanGradeDao.updateById(selectById);
 		return AjaxResult.buildFailInstance("操作成功");
 	}
+    
+    @Transactional(rollbackFor = Exception.class)
+	public AjaxResult updateTgjh(UpdateTgjhDto updateTgjhDto) {
+		//设置用户公司ID
+        QueryUtil.setQueryLimitCom(updateTgjhDto);
+        //获取推广计划的Param
+        Long companyId = updateTgjhDto.getCompanyId();
+        BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_TG_PLAN, companyId);
+        busParameterSettings.setParamValue3(updateTgjhDto.getTgfa());
+        busParameterSettingsDao.updateByModel(busParameterSettings);
+		return AjaxResult.buildFailInstance("保存成功");
+	}
+
+    @Transactional(rollbackFor = Exception.class)
+	public AjaxResult updateTgtp(UpdateTgtpDto updateTgtpDto) {
+		//设置用户公司ID
+        QueryUtil.setQueryLimitCom(updateTgtpDto);
+        //获取推广计划的Param
+        Long companyId = updateTgtpDto.getCompanyId();
+        BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_TG_POSTER, companyId);
+        busParameterSettings.setParamValue(updateTgtpDto.getImageUrl());
+        busParameterSettingsDao.updateByModel(busParameterSettings);
+		return AjaxResult.buildFailInstance("保存成功");
+	}
 
     
     
diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
index ddfd73b..cc2ebb2 100644
--- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
+++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
@@ -29,6 +29,29 @@
             margin: 0px 0px 10px 0px;
             text-align: right;
         }
+        .avatar-uploader .el-upload {
+            border: 1px dashed #d9d9d9;
+            border-radius: 6px;
+            cursor: pointer;
+            position: relative;
+            overflow: hidden;
+        }
+        .avatar-uploader .el-upload:hover {
+            border-color: #409EFF;
+        }
+        .avatar-uploader-icon {
+            font-size: 28px;
+            color: #8c939d;
+            width: 178px;
+            height: 178px;
+            line-height: 178px;
+            text-align: center;
+        }
+        .avatar {
+            width: 178px;
+            height: 178px;
+            display: block;
+        }
     </style>
 </head>
 
@@ -76,7 +99,7 @@
                                         type="selection">
                                 </el-table-column>
                                 <el-table-column
-                                        label="分销员">
+                                        label="分销员" width="120">
                                     <template slot-scope="scope">
                                         <img :src="scope.row.avatarUrl" width="40" height="40" class="head_pic"/>
                                         {{scope.row.nickname}}
@@ -84,11 +107,11 @@
                                 </el-table-column>
                                 <el-table-column
                                         prop="parentUser"
-                                        label="邀请人" width="100">
+                                        label="邀请人">
                                 </el-table-column>
                                 <el-table-column
                                         prop="lowerLevelNum"
-                                        label="下级客户数" width="100">
+                                        label="下级客户数">
                                 </el-table-column>
                                 <el-table-column
                                         prop="totalRevenue"
@@ -164,14 +187,14 @@
                                     prop="sealesCommission"
                                     label="推广提成 %">
                                 <template slot-scope="scope">
-                                    <el-input class="edit-input" v-model="scope.row.sealesCommission" oninput ="value=value.replace(/[^0-9.]/g,'')" placeholder="推广提成 %"></el-input>
+                                    <el-input class="edit-input" v-model="scope.row.sealesCommission" oninput ="value=value.replace(/[^0-9.]/g,'')" placeholder="推广提成"></el-input>
                                 </template>
                             </el-table-column>
                             <el-table-column
                                     prop="invitationCommission"
                                     label="邀请提成 %">
                                 <template slot-scope="scope">
-                                    <el-input class="edit-input" v-model="scope.row.invitationCommission" oninput ="value=value.replace(/[^0-9.]/g,'')" placeholder="邀请提成 %"></el-input>
+                                    <el-input class="edit-input" v-model="scope.row.invitationCommission" oninput ="value=value.replace(/[^0-9.]/g,'')" placeholder="邀请提成"></el-input>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -206,34 +229,32 @@
                 </el-tab-pane>
 
                 <el-tab-pane label="推广文案" name="third">
-                    <el-row>
-                        <script style="width: 100%; height: 500px" id="description" name="description"
-                                type="text/plain"></script>
+                    <p class="el-big-title">文案描述</p>
+                    <el-row justify="center" type="flex">
+                            <script style="height: 400px;width: 375px;" id="description" name="description"
+                                    type="text/plain">
+                            </script>
                     </el-row>
                     <el-row justify="center" type="flex">
-                        <el-button type="primary" @click="submit()">保存</el-button>
+                        <el-button type="primary" size="mini" @click="wamsSubmit()">保存</el-button>
                     </el-row>
                 </el-tab-pane>
 
-                <el-tab-pane label="分享图片上传" name="fourth">
-                    <el-row>
-                        <div class="ibox-content">
-                            <form class="form-horizontal" id="dataform"
-                                  onsubmit="javascripr:return false;">
-                                <div class="form-group">
-                                    <label class="col-sm-2 control-label">门店照片</label>
-                                    <div class="col-sm-8">
-                                        <input autocomplete="off"   v-model="fxtp.paramValue" name="shopImag" id="info6"
-                                               class="form-control  upload-input" type="text" /> <a
-                                            class="btn btn-primary radius upload-a">选择图片
-                                    </a>
-                                    </div>
-                                </div>
-                                <el-row justify="center" type="flex">
-                                    <el-button type="primary" @click="submittp(paramValue)">保存</el-button>
-                                </el-row>
-                            </form>
-                        </div>
+                <el-tab-pane label="推广图片" name="fourth">
+                    <p class="el-big-title">上传图片</p>
+                    <el-row justify="center" type="flex">
+                        <el-upload
+                                class="avatar-uploader"
+                                action="/admin/multipleUploadFile/doUpload"
+                                :show-file-list="false"
+                                :on-success="handleAvatarSuccess"
+                                :before-upload="beforeAvatarUpload">
+                            <img v-if="imageUrl" :src="imageUrl" class="avatar">
+                            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+                        </el-upload>
+                    </el-row>
+                    <el-row justify="center" type="flex">
+                        <el-button type="primary" size="mini" @click="tgtpSubmit()">保存</el-button>
                     </el-row>
                 </el-tab-pane>
 
@@ -253,20 +274,19 @@
 
 <script>
     //百度编辑器
-    MUI.initImgUpload(".upload-input");
-    var ue = {};
+    var ue = {
+        initialFrameWidth :750
+    };
     var app = new Vue({
         el: '#app',
         data: {
             height:'calc(100vh - 240px)',
-            fxy:[],
-            fenxiaoGrade: "",
-            tgwa: "",
             activeName: 'first',
-            multipleSelection: [],
-            fxtp:{},
-            mdjf:[],
-            scjf:[],
+            fenxiaoGrade: "",
+            //推广文案
+            tgwa: {},
+            //图片上传
+            imageUrl: '',
             //分佣方案
             fyfaList:{
                 rows:[],
@@ -274,7 +294,6 @@
                 pageSize:10,
                 currentPage:1,
             },
-
             //分销员管理
             shenheAgreeType : 2,
             shenheDisagreeType : 3,
@@ -300,16 +319,12 @@
                 pageSize:10,
                 currentPage:1,
             },
-            height:'calc(100vh - 240px)',
         },
-
         created: function () {
             this.loadInfo();
             window.addEventListener("keydown", this.keydown);
             //初始化编辑器
             ue = UE.getEditor('description');
-            //百度编辑器
-            MUI.initImgUpload(".upload-input");
         },
         mounted: function () {
         },
@@ -319,25 +334,84 @@
                 let _this = this;
                 _this.loadParamSetting();
                 _this.loadFyfaSetting();
+                _this.loadTgwaSetting();
+                _this.loadTgtpSetting();
                 _this.getSalemanGradeList();
             },
-            submittp(paramValue) {
-                alert(paramValue);
+            //推广文案
+            loadTgwaSetting() {
+                let _this = this;
+                AjaxProxy.requst({
+                    app: _this,
+                    data:[],
+                    url: basePath + '/fenXiao/fenXiaoUser/loadTgwaSetting',
+                    callback: function (data) {
+                        _this.tgwa = data.mapInfo.tgwa;
+                        var ue = UE.getEditor('description');
+                        ue.ready(function() {//编辑器初始化完成再赋值
+                            ue.setContent(_this.tgwa.paramValue3);  //赋值给UEditor
+                        });
+                    }
+                });
             },
-            toggleSelection(rows) {
-                if (rows) {
-                    rows.forEach(row => {
-                        this.$refs.multipleTable.toggleRowSelection(row);
-                    });
-                } else {
-                    this.$refs.multipleTable.clearSelection();
+            wamsSubmit(){
+                let _this = this;
+                let tgfa = ue.getContent();
+                let data= {
+                    tgfa:tgfa,
+                };
+                AjaxProxy.requst({
+                    app: _this,
+                    data:data,
+                    url: basePath + '/fenXiao/fenXiaoUser/updateTgjh',
+                    callback: function (data) {
+                        _this.$message.success(data.info);
+                        _this.loadTgwaSetting();
+                    }
+                });
+            },
+            //图片上传
+            loadTgtpSetting() {
+                let _this = this;
+                AjaxProxy.requst({
+                    app: _this,
+                    data:[],
+                    url: basePath + '/fenXiao/fenXiaoUser/loadTgtpSetting',
+                    callback: function (data) {
+                        _this.imageUrl = data.mapInfo.tgtp.paramValue;
+                    }
+                });
+            },
+            tgtpSubmit(){
+                let _this = this;
+                let imageUrl = _this.imageUrl;
+                let data= {
+                    imageUrl:imageUrl,
+                };
+                AjaxProxy.requst({
+                    app: _this,
+                    data:data,
+                    url: basePath + '/fenXiao/fenXiaoUser/updateTgtp',
+                    callback: function (data) {
+                        _this.$message.success(data.info);
+                        _this.loadTgtpSetting();
+                    }
+                });
+            },
+            handleAvatarSuccess(res, file) {
+                this.imageUrl = URL.createObjectURL(file.raw);
+            },
+            beforeAvatarUpload(file) {
+                const isJPG = file.type === 'image/jpeg';
+                const isLt2M = file.size / 1024 / 1024 < 2;
+
+                if (!isJPG) {
+                    this.$message.error('上传头像图片只能是 JPG 格式!');
                 }
-            },
-            handleSelectionChange(val) {
-                this.multipleSelection = val;
-            },
-            handleClick(row) {
-                console.log(row);
+                if (!isLt2M) {
+                    this.$message.error('上传头像图片大小不能超过 2MB!');
+                }
+                return isJPG && isLt2M;
             },
             //分佣方案
             loadFyfaSetting() {
@@ -614,9 +688,6 @@
                         _this.loadParamSetting();
                     }
                 });
-            },
-
-            submit() {
             }
         }
     })

--
Gitblit v1.9.1