From c2a2a7f123eb1ac950d51da5033ddc3d23567765 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 09 Sep 2022 11:52:26 +0800
Subject: [PATCH] 20220902

---
 src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java    |   22 ++
 src/main/resources/templates/febs/views/modules/leader/leaderUpdate.html           |  119 +++++++++++++---
 src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java                    |    5 
 src/main/resources/templates/index.html                                            |    2 
 src/main/java/cc/mrbird/febs/mall/entity/MallTeamLeader.java                       |    8 +
 src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java     |    6 
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java |   58 +++++++-
 src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java         |    6 
 src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderAddDto.java                       |    6 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java   |    3 
 src/main/resources/templates/febs/views/modules/leader/addLeader.html              |   65 ++++++--
 src/main/resources/templates/febs/views/modules/leader/leaderList.html             |   34 ++++
 src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderUpdateDto.java                    |   35 ++++
 13 files changed, 304 insertions(+), 65 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java
index dce5a70..9a49369 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallTeamLeaderController.java
@@ -49,8 +49,26 @@
      */
     @PostMapping("leaderUpdate")
     @ControllerEndpoint(operation = "团长信息--审核", exceptionMessage = "审核失败")
-    public FebsResponse leaderUpdate(@Valid AdminLeaderUpdateDto adminLeaderUpdateDto) {
-        return iAdminMallTeamLeaderService.leaderUpdate(adminLeaderUpdateDto);
+    public FebsResponse leaderUpdate(@Valid MallTeamLeader mallTeamLeader) {
+        return iAdminMallTeamLeaderService.leaderUpdate(mallTeamLeader);
+    }
+
+    /**
+     * 团长-开启返利
+     */
+    @GetMapping("startProfit/{id}")
+    @ControllerEndpoint(operation = "团长-开启返利", exceptionMessage = "操作失败")
+    public FebsResponse startProfit(@NotNull(message = "{required}") @PathVariable Long id) {
+        return iAdminMallTeamLeaderService.startProfit(id);
+    }
+
+    /**
+     * 团长-关闭返利
+     */
+    @GetMapping("closeProfit/{id}")
+    @ControllerEndpoint(operation = "团长-关闭返利", exceptionMessage = "操作失败")
+    public FebsResponse closeProfit(@NotNull(message = "{required}") @PathVariable Long id) {
+        return iAdminMallTeamLeaderService.closeProfit(id);
     }
 
 
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java
index 110e996..84bb219 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallTeamLeaderController.java
@@ -5,7 +5,9 @@
 import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
 import cc.mrbird.febs.common.utils.FebsUtil;
 import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
+import cc.mrbird.febs.mall.mapper.MallMemberMapper;
 import cc.mrbird.febs.mall.service.IAdminMallTeamLeaderService;
 import cc.mrbird.febs.mall.vo.AdminLeaderBonusSettingVo;
 import cc.mrbird.febs.mall.vo.AdminMallTeamLeaderVo;
@@ -25,6 +27,7 @@
 
     private final IAdminMallTeamLeaderService iAdminMallTeamLeaderService;
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    private final MallMemberMapper mallMemberMapper;
 
     /**
      * 团长信息--列表
@@ -59,7 +62,8 @@
 
     @GetMapping("addLeader/{id}")
     public String addLeader(@PathVariable long id, Model model) {
-        model.addAttribute("memberId", id);
+        MallMember mallMember = mallMemberMapper.selectById(id);
+        model.addAttribute("mallMember", mallMember);
         return FebsUtil.view("modules/leader/addLeader");
     }
 
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderAddDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderAddDto.java
index 10d8054..1552609 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderAddDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderAddDto.java
@@ -18,9 +18,9 @@
     //团长姓名
     private String name;
     //手机号码
-//    private String phone;
+    private String phone;
     //团长特征码
-//    private String uniqueCode;
+    private String uniqueCode;
     //自提点照片
     private String addressPic;
     //省
@@ -37,4 +37,6 @@
     private Double longitude;
     //纬度
     private Double latitude;
+    //团长返利百分比如0.15表示15%
+    private String bonusPercent;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderUpdateDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderUpdateDto.java
index 1daf80b..14a0d10 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderUpdateDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AdminLeaderUpdateDto.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.mall.dto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
@@ -7,9 +8,41 @@
 @Data
 @ApiModel(value = "AdminLeaderUpdateDto", description = "接收参数类")
 public class AdminLeaderUpdateDto {
-
     @NotNull(message = "ID不能为空")
     private Long id;
+    //用户ID
+    private Long memberId;
+    //申请状态 1:审核通过 2:审核不通过 3:申请中 4:已取消
+    private Integer state;
+    public static final Integer STATE_YES = 1;
+    public static final Integer STATE_NO = 2;
+    public static final Integer STATE_ING = 3;
+    public static final Integer STATE_CANCEL = 4;
+    //团长姓名
+    private String name;
+    //手机号码
+    private String phone;
+    //团长特征码
+    private String uniqueCode;
+    //自提点照片
+    private String addressPic;
+    //小区名称
+    private String addressArea;
+    //详细地址
+    private String detailAddress;
+    //经度
+    private Double longitude;
+    //纬度
+    private Double latitude;
+
+    @TableField(exist = false)
+    private Double distance;
+
+    private String wxCodeImg;
+    //团长返利开关 1:开启 2:关闭
+    private Integer profitSwitch;
+    //团长返利百分比如0.15表示15%
+    private String bonusPercent;
 
     @NotNull(message = "审核结果不能为空")
     private int isOk;
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallTeamLeader.java b/src/main/java/cc/mrbird/febs/mall/entity/MallTeamLeader.java
index 9044d70..12d4d6f 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallTeamLeader.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallTeamLeader.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
 import java.util.Date;
 
 //团长信息表
@@ -48,5 +49,12 @@
     private Double distance;
 
     private String wxCodeImg;
+    //团长返利开关 1:开启 2:关闭
+    private Integer profitSwitch;
+    //团长返利百分比如0.15表示15%
+    private String bonusPercent;
+
+    @TableField(exist = false)
+    private int isOk;
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java
index d36172e..4c1f46c 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallTeamLeaderService.java
@@ -19,7 +19,7 @@
 
     AdminMallTeamLeaderVo getMallTeamLederInfoById(long id);
 
-    FebsResponse leaderUpdate(AdminLeaderUpdateDto adminLeaderUpdateDto);
+    FebsResponse leaderUpdate(MallTeamLeader mallTeamLeader);
 
     List<AdminSelectListLeaderVo> selectList(MallTeamLeader mallTeamLeader);
 
@@ -28,4 +28,8 @@
     IPage<MallLeaderStock> leaderGoodsUpdate(QueryRequest request, MallLeaderStock mallLeaderStock);
 
     FebsResponse addLeader(AdminLeaderAddDto adminLeaderAddDto);
+
+    FebsResponse startProfit(Long id);
+
+    FebsResponse closeProfit(Long id);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
index fea73d4..954aabd 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
@@ -71,20 +71,30 @@
     }
 
     @Override
-    public FebsResponse leaderUpdate(AdminLeaderUpdateDto adminLeaderUpdateDto) {
-        Long id = adminLeaderUpdateDto.getId();
-        MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id);
-        Integer state = mallTeamLeader.getState();
-        if(MallTeamLeader.STATE_ING != state){
-            return new FebsResponse().fail().message("只有【待审核】状态才能提交!");
+    public FebsResponse leaderUpdate(MallTeamLeader mallTeamLeader) {
+        Long id = mallTeamLeader.getId();
+        MallTeamLeader mallTeamLeaders = this.baseMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallTeamLeaders)){
+            return new FebsResponse().fail().message("团长信息不存在,刷新重试");
         }
-        int isOk = adminLeaderUpdateDto.getIsOk();
+//        Integer state = mallTeamLeader.getState();
+//        if(MallTeamLeader.STATE_ING != state){
+//            return new FebsResponse().fail().message("只有【待审核】状态才能提交!");
+//        }
+
+        Double bonusPercent = Double.parseDouble(mallTeamLeader.getBonusPercent());
+        if(1 <= bonusPercent || 0 > bonusPercent){
+            return new FebsResponse().fail().message("请输入合适的百分比小数");
+        }
+        int isOk = mallTeamLeader.getIsOk();
         if(MallTeamLeader.STATE_YES == isOk){
             mallTeamLeader.setState(MallTeamLeader.STATE_YES);
+            mallTeamLeader.setProfitSwitch(2);
             this.baseMapper.updateById(mallTeamLeader);
         }
         if(MallTeamLeader.STATE_NO == isOk){
             mallTeamLeader.setState(MallTeamLeader.STATE_NO);
+            mallTeamLeader.setProfitSwitch(2);
             this.baseMapper.updateById(mallTeamLeader);
         }
         return new FebsResponse().success().message("审核成功");
@@ -145,6 +155,10 @@
         if(CollUtil.isNotEmpty(mallTeamLeaderCancel)){
             return new FebsResponse().fail().message("当前用户无法申请");
         }
+        Double bonusPercent = Double.parseDouble(adminLeaderAddDto.getBonusPercent());
+        if(1 <= bonusPercent || 0 > bonusPercent){
+            return new FebsResponse().fail().message("请输入合适的百分比小数");
+        }
         MallTeamLeader mallTeamLeader = MallTeamLeaderConversion.INSTANCE.adminDtoToEntity(adminLeaderAddDto);
         mallTeamLeader.setUniqueCode(mallMember.getInviteId());
         mallTeamLeader.setMemberId(memberId);
@@ -154,4 +168,34 @@
         this.baseMapper.insert(mallTeamLeader);
         return new FebsResponse().success();
     }
+
+    @Override
+    public FebsResponse startProfit(Long id) {
+        MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallTeamLeader)){
+            return new FebsResponse().fail().message("团长信息不存在,刷新重试");
+        }
+        Integer state = mallTeamLeader.getState();
+        if(1!=state){
+            return new FebsResponse().fail().message("目前还不是团长,无法操作");
+        }
+        mallTeamLeader.setProfitSwitch(1);
+        this.baseMapper.updateById(mallTeamLeader);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse closeProfit(Long id) {
+        MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallTeamLeader)){
+            return new FebsResponse().fail().message("团长信息不存在,刷新重试");
+        }
+        Integer state = mallTeamLeader.getState();
+        if(1!=state){
+            return new FebsResponse().fail().message("目前还不是团长,无法操作");
+        }
+        mallTeamLeader.setProfitSwitch(2);
+        this.baseMapper.updateById(mallTeamLeader);
+        return new FebsResponse().success();
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
index 6af0f87..de7e0a0 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -80,6 +80,9 @@
         mallTeamLeader.setMemberId(memberId);
         mallTeamLeader.setState(MallTeamLeader.STATE_ING);
         mallTeamLeader.setUniqueCode(member.getInviteId());
+        //申请团长默认关闭返利,返利比例为0
+        mallTeamLeader.setProfitSwitch(2);
+        mallTeamLeader.setBonusPercent("0");
         this.baseMapper.insert(mallTeamLeader);
         return new FebsResponse().success().message("申请成功");
     }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java
index d2d632e..20e909c 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java
@@ -40,4 +40,9 @@
     private Date createdTime;
     //团战提成收益
     private BigDecimal totalProfit;
+
+    //团长返利开关 1:开启 2:关闭
+    private Integer profitSwitch;
+    //团长返利百分比如0.15表示15%
+    private String bonusPercent;
 }
diff --git a/src/main/resources/templates/febs/views/modules/leader/addLeader.html b/src/main/resources/templates/febs/views/modules/leader/addLeader.html
index 20e6213..d220728 100644
--- a/src/main/resources/templates/febs/views/modules/leader/addLeader.html
+++ b/src/main/resources/templates/febs/views/modules/leader/addLeader.html
@@ -29,33 +29,29 @@
             </div>
         </div>
         <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">姓名:</label>
+            <div class="layui-input-block">
+                <input type="text" name="name" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly>
+            </div>
+        </div>
+        <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">手机号码:</label>
             <div class="layui-input-block">
-                <input type="text" name="phone" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" >
+                <input type="text" name="phone" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly>
             </div>
         </div>
         <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">省:</label>
+            <label class="layui-form-label febs-form-item-require">团长码:</label>
             <div class="layui-input-block">
-                <input type="text" id="province" name="province" placeholder="" lay-verify="required" autocomplete="off" class="layui-input" >
+                <input type="text" name="uniqueCode" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly>
             </div>
         </div>
         <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">市:</label>
+            <label class="layui-form-label febs-form-item-require">收益率:</label>
             <div class="layui-input-block">
-                <input type="text" name="city" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" >
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">区:</label>
-            <div class="layui-input-block">
-                <input type="text" name="township" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" >
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">详细地址:</label>
-            <div class="layui-input-block">
-                <input type="text" name="detailAddress" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" >
+                <input type="text" name="bonusPercent"
+                       lay-verify="text" autocomplete="off" class="layui-input" >
+                <div class="layui-form-mid layui-word-aux">请输入0到1之间的小数,团长收益百分比如0.15表示15%</div>
             </div>
         </div>
         <div class="layui-form-item">
@@ -68,7 +64,6 @@
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">自提点照片:</label>
             <div class="layui-input-block">
-<!--                <img alt="头像" data-th-src="${leaderInfo.addressPic}" readonly>-->
                 <button type="button" class="layui-btn" id="imageUpload" style="background-color: #009688; margin-bottom: 2px">图片上传</button>
                 <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
                     <div class=" layui-upload-list view-images" id="addressPicImage">
@@ -77,6 +72,13 @@
                 <div>
                     <input type="text" id="addressPic"  name="addressPic" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly>
                 </div>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">详细地址:</label>
+            <div class="layui-input-block">
+                <input type="text" id="detailAddress" name="detailAddress" class="layui-input">
+                <div class="layui-form-mid layui-word-aux">地图选择后,可以继续填写楼栋单元号</div>
             </div>
         </div>
         <div class="layui-form-item">
@@ -118,7 +120,7 @@
             febs = layui.febs,
             layer = layui.layer,
             form = layui.form,
-            memberId = [[${memberId}]],
+            mallMember = [[${mallMember}]],
             upload = layui.upload,
             $view = $('#user-addLeader'),
             $viewMap = $('#febs-map-demo'),
@@ -136,7 +138,27 @@
             febs.alert.success('经度:' + e.lnglat.getLng() + ',纬度:' + e.lnglat.getLat()+e.province);
             $("#longitude").val(e.lnglat.getLng());
             $("#latitude").val(e.lnglat.getLat());
+
+            //这边是数组
+            var lnglatXY=[e.lnglat.getLng(),e.lnglat.getLat()];
+            regeocoder(lnglatXY);
         });
+        //坐标-地址
+        function regeocoder(lnglatXY) {  //逆地理编码
+            var geocoder = new AMap.Geocoder({
+                radius: 1000,
+                extensions: "all"
+            });
+            geocoder.getAddress(lnglatXY, function(status, result) {
+                if (status === 'complete' && result.info === 'OK') {
+                    geocoder_CallBack(result);
+                }
+            });
+        }
+        function geocoder_CallBack(data) {
+            var address = data.regeocode.formattedAddress; //返回地址描述
+            document.getElementById("detailAddress").value=address;
+        }
         form.render();
 
         upload.render({
@@ -158,7 +180,10 @@
 
         function initUserValue() {
             form.val("user-addLeader-form", {
-                "memberId": memberId,
+                "memberId": mallMember.id,
+                "name": mallMember.name,
+                "phone": mallMember.phone,
+                "uniqueCode": mallMember.inviteId,
             });
         }
 
diff --git a/src/main/resources/templates/febs/views/modules/leader/leaderList.html b/src/main/resources/templates/febs/views/modules/leader/leaderList.html
index 30a504a..2bdac6c 100644
--- a/src/main/resources/templates/febs/views/modules/leader/leaderList.html
+++ b/src/main/resources/templates/febs/views/modules/leader/leaderList.html
@@ -62,6 +62,13 @@
     <a lay-event="edit" shiro:hasPermission="user:update"><i
             class="layui-icon febs-edit-area febs-blue">&#xe7a5;</i></a>
 </script>
+<script type="text/html" id="upOrDownSwitch">
+    {{# if(d.profitSwitch === 1) { }}
+    <input type="checkbox" value={{d.id}} lay-text="开启|关闭" checked lay-skin="switch" lay-filter="upOrDownSwitch">
+    {{# } else { }}
+    <input type="checkbox" value={{d.id}} lay-text="开启|关闭" lay-skin="switch" lay-filter="upOrDownSwitch">
+    {{# } }}
+</script>
 <!-- 表格操作栏 end -->
 <script data-th-inline="none" type="text/javascript">
     // 引入组件并初始化
@@ -111,7 +118,7 @@
                 });
             }
             if (layEvent === 'leaderCancel') {
-                febs.modal.confirm('取消', '用户被取消团长资格将无法再次申请', function () {
+                febs.modal.confirm('拉黑', '团长被拉黑,将无法再次申请团长', function () {
                     leaderCancel(data.id);
                 });
             }
@@ -168,6 +175,8 @@
                     {field: 'addressArea', title: '自提点名称', minWidth: 150,align:'left'},
                     {field: 'detailAddress', title: '自提点地址', minWidth: 150,align:'left'},
                     {field: 'totalProfit', title: '收益', minWidth: 150,align:'left'},
+                    {field: 'profitSwitch', title: '是否返利', templet: '#upOrDownSwitch', minWidth: 100,align:'center'},
+                    {field: 'bonusPercent', title: '返利比例', minWidth: 150,align:'left'},
                     // {field: 'phone', title: '电话', minWidth: 150,align:'left'},
                     {field: 'state', title: '状态',
                         templet: function (d) {
@@ -190,7 +199,8 @@
                                     + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="leaderUpdate" shiro:hasPermission="user:update">审核</button>'
                             }else if(d.state === 1) {
                                 return ''
-                                    + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="leaderCancel" shiro:hasPermission="user:update">取消</button>'
+                                    + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="leaderUpdate" shiro:hasPermission="user:update">修改</button>'
+                                    + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="leaderCancel" shiro:hasPermission="user:update">拉黑</button>'
                                     // + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="leaderGoodsUpdate" shiro:hasPermission="user:update">团长商品设置</button>'
                             }else{
                                 return '';
@@ -200,14 +210,28 @@
             });
         }
 
-        form.on('switch(startOrCloseSwitch)', function (data) {
+        form.on('switch(upOrDownSwitch)', function (data) {
             if (data.elem.checked) {
-                startAct(data.value);
+                startProfit(data.value);
             } else {
-                closeAct(data.value);
+                closeProfit(data.value);
             }
         })
 
+        function startProfit(id) {
+            febs.get(ctx + 'admin/leader/startProfit/' + id, null, function () {
+                febs.alert.success('开启成功');
+                $query.click();
+            });
+        }
+
+        function closeProfit(id) {
+            febs.get(ctx + 'admin/leader/closeProfit/' + id, null, function () {
+                febs.alert.success('关闭成功');
+                $query.click();
+            });
+        }
+
         // 获取查询参数
         function getQueryParams() {
             return {
diff --git a/src/main/resources/templates/febs/views/modules/leader/leaderUpdate.html b/src/main/resources/templates/febs/views/modules/leader/leaderUpdate.html
index 3286716..7cc1977 100644
--- a/src/main/resources/templates/febs/views/modules/leader/leaderUpdate.html
+++ b/src/main/resources/templates/febs/views/modules/leader/leaderUpdate.html
@@ -31,62 +31,75 @@
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">姓名:</label>
             <div class="layui-input-block">
-                <input type="text" name="name" class="layui-input" readonly>
+                <input type="text" name="name" class="layui-input">
             </div>
         </div>
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">手机号码:</label>
             <div class="layui-input-block">
-                <input type="text" name="phone" class="layui-input" readonly>
+                <input type="text" name="phone" class="layui-input">
             </div>
         </div>
         <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">省:</label>
+            <label class="layui-form-label febs-form-item-require">收益率:</label>
             <div class="layui-input-block">
-                <input type="text" name="province" class="layui-input" readonly>
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">市:</label>
-            <div class="layui-input-block">
-                <input type="text" name="city" class="layui-input" readonly>
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">区:</label>
-            <div class="layui-input-block">
-                <input type="text" name="township" class="layui-input" readonly>
+                <input type="text" name="bonusPercent"
+                       lay-verify="text" autocomplete="off" class="layui-input" >
+                <div class="layui-form-mid layui-word-aux">请输入0到1之间的小数,团长收益百分比如0.15表示15%</div>
             </div>
         </div>
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">详细地址:</label>
             <div class="layui-input-block">
-                <input type="text" name="detailAddress" class="layui-input" readonly>
+                <input type="text" id="detailAddress" name="detailAddress" class="layui-input">
+                <div class="layui-form-mid layui-word-aux">地图选择后,可以继续填写楼栋单元号</div>
             </div>
         </div>
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">自提点名称:</label>
             <div class="layui-input-block">
-                <input type="text" name="addressArea" class="layui-input" readonly>
+                <input type="text" name="addressArea" class="layui-input">
                 <div class="layui-form-mid layui-word-aux">小区名称(自提点名称)</div>
             </div>
         </div>
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">自提点照片:</label>
             <div class="layui-input-block">
-                <img alt="头像" data-th-src="${leaderInfo.addressPic}" readonly>
+                <button type="button" class="layui-btn" id="imageUpload" style="background-color: #009688; margin-bottom: 2px">图片上传</button>
+                <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
+                    <div class=" layui-upload-list view-images" id="addressPicImage">
+                    </div>
+                </blockquote>
+                <div>
+                    <input type="text" id="addressPic"  name="addressPic" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly>
+                </div>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">地图选择:</label>
+            <div class="layui-input-block">
+                <div class="layui-fluid layui-anim febs-anim" id="febs-map-demo" lay-title="高德地图">
+                    <div class="layui-row febs-container">
+                        <div class="layui-card">
+                            <div style="padding: .1rem;">
+                                <div id="container" class="map"></div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="layui-form-mid layui-word-aux">自提点位置</div>
             </div>
         </div>
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">经度:</label>
             <div class="layui-input-block">
-                <input type="text" name="longitude" class="layui-input" readonly>
+                <input type="text" id="longitude"  name="longitude" class="layui-input" readonly>
             </div>
         </div>
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">纬度:</label>
             <div class="layui-input-block">
-                <input type="text" name="latitude" class="layui-input" readonly>
+                <input type="text" id="latitude"  name="latitude" class="layui-input" readonly>
             </div>
         </div>
         <div class="layui-form-item">
@@ -103,30 +116,86 @@
 </div>
 
 <script data-th-inline="javascript">
-    layui.use(['febs', 'form', 'formSelects',  'treeSelect', 'eleTree'], function () {
+    layui.use(['febs', 'form', 'formSelects',  'treeSelect', 'eleTree', 'upload'], function () {
         var $ = layui.$,
             febs = layui.febs,
             layer = layui.layer,
             form = layui.form,
             leaderInfo = [[${leaderInfo}]],
             $view = $('#febs-leader-update'),
+            $viewMap = $('#febs-map-demo'),
+            upload = layui.upload,
             _deptTree;
+
+        $viewMap.find('#container').css({"height": document.documentElement.clientHeight - 97 + 'px'});
+        var map = new AMap.Map("container", {
+            center: [leaderInfo.longitude, leaderInfo.latitude],
+            resizeEnable: true,
+            zoom: 14 //初始地图级别
+        });
+        //为地图注册click事件获取鼠标点击出的经纬度坐标
+        map.on('click', function (e) {
+            console.log(e);
+            febs.alert.success('经度:' + e.lnglat.getLng() + ',纬度:' + e.lnglat.getLat());
+            $("#longitude").val(e.lnglat.getLng());
+            $("#latitude").val(e.lnglat.getLat());
+
+            //这边是数组
+            var lnglatXY=[e.lnglat.getLng(),e.lnglat.getLat()];
+            regeocoder(lnglatXY);
+        });
+        //坐标-地址
+        function regeocoder(lnglatXY) {  //逆地理编码
+            var geocoder = new AMap.Geocoder({
+                radius: 1000,
+                extensions: "all"
+            });
+            geocoder.getAddress(lnglatXY, function(status, result) {
+                if (status === 'complete' && result.info === 'OK') {
+                    geocoder_CallBack(result);
+                }
+            });
+        }
+        function geocoder_CallBack(data) {
+            var address = data.regeocode.formattedAddress; //返回地址描述
+            document.getElementById("detailAddress").value=address;
+        }
+
+        upload.render({
+            elem: '#imageUpload'
+            ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
+            ,multiple: false
+            ,before: function(obj){
+                //预读本地文件示例,不支持ie8
+                obj.preview(function(index, file, result){
+                    $('#addressPicImage').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img" style="width: 100px">')
+                });
+            }
+            ,done: function(res){
+                $("#addressPic").val(res.data.src);
+            }
+        });
         form.render();
 
         initUserValue();
 
         function initUserValue() {
+            //图片回显
+            if(leaderInfo.addressPic != null || leaderInfo.addressPic != ''){
+                $('#addressPicImage').append('<img src="'+ leaderInfo.addressPic +'" class="layui-upload-img" style="width: 100px">')
+            }
             form.val("febs-leader-update-form", {
                 "id": leaderInfo.id,
                 "name": leaderInfo.name,
                 "phone": leaderInfo.phone,
                 "addressPic": leaderInfo.addressPic,
-                "province": leaderInfo.province,
-                "city": leaderInfo.city,
-                "township": leaderInfo.township,
+                // "province": leaderInfo.province,
+                // "city": leaderInfo.city,
+                // "township": leaderInfo.township,
                 "addressArea": leaderInfo.addressArea,
                 "detailAddress": leaderInfo.detailAddress,
                 "longitude": leaderInfo.longitude,
+                "bonusPercent": leaderInfo.bonusPercent,
                 "latitude": leaderInfo.latitude
             });
         }
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html
index 42206c8..df87d76 100644
--- a/src/main/resources/templates/index.html
+++ b/src/main/resources/templates/index.html
@@ -20,7 +20,7 @@
             securityJsCode:'8fd9b92f6e07b1f18d3ae39b42ff71bc',
         }
     </script>
-    <script src="https://webapi.amap.com/maps?v=1.4.15&key=04934a2cf5cfa8a29ffcf0fdcfaabb5f&plugin=AMap.Autocomplete,AMap.PolyEditor"></script>
+    <script src="https://webapi.amap.com/maps?v=1.4.15&key=04934a2cf5cfa8a29ffcf0fdcfaabb5f&plugin=AMap.Autocomplete,AMap.PolyEditor,AMap.Geocoder"></script>
     <link href="https://unpkg.com/@wangeditor/editor@5.0.1/dist/css/style.css" rel="stylesheet">
     <script src="https://unpkg.com/@wangeditor/editor@latest/dist/index.js"></script>
     <link rel="icon" th:href="@{febs/images/favicon.ico}" type="image/x-icon"/>

--
Gitblit v1.9.1