张延森 2 yıl önce
ebeveyn
işleme
c2b77b03b7

+ 1
- 1
src/main/java/com/yunzhi/marketing/borker/controller/BkFirstScreenController.java Dosyayı Görüntüle

@@ -57,7 +57,7 @@ public class BkFirstScreenController extends BaseController {
57 57
                                           @ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
58 58
                                           @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
59 59
                                           @ApiParam("城市") @RequestParam(value ="cityId", required = false) String cityId,
60
-                                          HttpServletRequest request) throws Exception{
60
+                                          HttpServletRequest request) throws Exception {
61 61
 
62 62
         IPage<BkFirstScreen> pg = new Page<>(pageNum, pageSize);
63 63
         QueryWrapper<BkFirstScreen> queryWrapper = new QueryWrapper<>();

+ 18
- 4
src/main/java/com/yunzhi/marketing/borker/controller/BorkerController.java Dosyayı Görüntüle

@@ -1,5 +1,7 @@
1 1
 package com.yunzhi.marketing.borker.controller;
2 2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
3 5
 import com.yunzhi.marketing.base.BaseController;
4 6
 import com.yunzhi.marketing.base.ResponseBean;
5 7
 import com.yunzhi.marketing.borker.entity.BkBankCard;
@@ -13,10 +15,7 @@ import io.swagger.annotations.ApiOperation;
13 15
 import io.swagger.annotations.ApiParam;
14 16
 import org.springframework.beans.BeanUtils;
15 17
 import org.springframework.beans.factory.annotation.Autowired;
16
-import org.springframework.web.bind.annotation.RequestBody;
17
-import org.springframework.web.bind.annotation.RequestMapping;
18
-import org.springframework.web.bind.annotation.RequestMethod;
19
-import org.springframework.web.bind.annotation.RestController;
18
+import org.springframework.web.bind.annotation.*;
20 19
 
21 20
 import javax.servlet.http.HttpServletRequest;
22 21
 
@@ -30,6 +29,21 @@ public class BorkerController  extends BaseController {
30 29
     IBkBankCardService iBkBankCardService;
31 30
 
32 31
 
32
+    @RequestMapping(value="/admin/borker",method= RequestMethod.GET)
33
+    @ApiOperation(value="经纪人列表", notes = "经纪人列表", httpMethod = "GET", response = ResponseBean.class)
34
+    public ResponseBean getBorkerList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
35
+                                      @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
36
+                                      @ApiParam("手机号") @RequestParam(value ="phone", required = false) String phone,
37
+                                      @ApiParam("姓名") @RequestParam(value ="name", required = false) String name,
38
+                                      @ApiParam("排序规则") @RequestParam(value ="sortOrder", defaultValue = "DESC") String sortOrder,
39
+                                      @ApiParam("排序字段") @RequestParam(value ="sortField", defaultValue = "create_date") String sortField) throws Exception {
40
+
41
+        IPage<BorkerVO> page = new Page<>(pageNum, pageSize);
42
+        IPage<BorkerVO> result = iTaPersonService.getBorkerPage(page, name, phone, sortOrder, sortField);
43
+        return ResponseBean.success(result);
44
+    }
45
+
46
+
33 47
     @RequestMapping(value="/wx/bindBorker",method= RequestMethod.PUT)
34 48
     @ApiOperation(value="成为经纪人", notes = "成为经纪人", httpMethod = "PUT", response = ResponseBean.class)
35 49
     public ResponseBean bindBorker(@ApiParam("经纪人信息") @RequestBody BorkerVO borkerVO,

+ 12
- 0
src/main/java/com/yunzhi/marketing/borker/vo/BorkerVO.java Dosyayı Görüntüle

@@ -8,6 +8,7 @@ import lombok.Data;
8 8
 import lombok.EqualsAndHashCode;
9 9
 import lombok.experimental.Accessors;
10 10
 
11
+import java.time.LocalDateTime;
11 12
 import java.util.List;
12 13
 
13 14
 @Data
@@ -58,6 +59,17 @@ public class BorkerVO {
58 59
     @ApiModelProperty("待结算佣金")
59 60
     private Integer unsettledCommission;
60 61
 
62
+    @ApiModelProperty("创建时间")
63
+    private LocalDateTime createDate;
64
+
65
+    @TableField(exist = false)
66
+    @ApiModelProperty("推荐人名称(上家)")
67
+    String recommendPersonName;
68
+
69
+    @TableField(exist = false)
70
+    @ApiModelProperty("客户数")
71
+    List<BkBankCard> customerNum;
72
+
61 73
     @TableField(exist = false)
62 74
     @ApiModelProperty("银行卡列表")
63 75
     List<BkBankCard> bankCardList;

+ 8
- 0
src/main/java/com/yunzhi/marketing/mapper/TaPersonMapper.java Dosyayı Görüntüle

@@ -3,6 +3,7 @@ package com.yunzhi.marketing.mapper;
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.yunzhi.marketing.borker.vo.BorkerVO;
6 7
 import com.yunzhi.marketing.entity.TaBuildingDynamic;
7 8
 import com.yunzhi.marketing.entity.TaChannel;
8 9
 import com.yunzhi.marketing.entity.TaPerson;
@@ -264,4 +265,11 @@ public interface TaPersonMapper extends BaseMapper<TaPerson> {
264 265
     IPage<TaPerson> getMarketingList(Page<TaBuildingDynamic> page,@Param("buildingId") String buildingId);
265 266
 
266 267
     TaPerson getByPhone(@Param("phone") String phone);
268
+
269
+    IPage<BorkerVO> getBorkerPage(IPage<BorkerVO> page,
270
+                                  @Param("personType") String personType,
271
+                                  @Param("name") String name,
272
+                                  @Param("phone") String phone,
273
+                                  @Param("sortOrder") String sortOrder,
274
+                                  @Param("sortField") String sortField);
267 275
 }

+ 3
- 1
src/main/java/com/yunzhi/marketing/service/ITaPersonService.java Dosyayı Görüntüle

@@ -3,7 +3,7 @@ package com.yunzhi.marketing.service;
3 3
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.yunzhi.marketing.base.ResponseBean;
6
-import com.yunzhi.marketing.center.taUser.entity.TaUser;
6
+import com.yunzhi.marketing.borker.vo.BorkerVO;
7 7
 import com.yunzhi.marketing.center.taUser.entity.TaUserVO;
8 8
 import com.yunzhi.marketing.dto.PersonMarketingDTO;
9 9
 import com.yunzhi.marketing.entity.TaCustomerFrom;
@@ -131,4 +131,6 @@ public interface ITaPersonService extends IService<TaPerson> {
131 131
      * @return
132 132
      */
133 133
     ResponseBean marketing(PersonMarketingDTO marketingDTO, String openid);
134
+
135
+    IPage<BorkerVO> getBorkerPage(IPage<BorkerVO> page, String name, String phone, String sortOrder, String sortField);
134 136
 }

+ 6
- 0
src/main/java/com/yunzhi/marketing/service/impl/TaPersonServiceImpl.java Dosyayı Görüntüle

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
8 8
 import com.baomidou.mybatisplus.core.metadata.IPage;
9 9
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
10 10
 import com.yunzhi.marketing.base.ResponseBean;
11
+import com.yunzhi.marketing.borker.vo.BorkerVO;
11 12
 import com.yunzhi.marketing.center.taUser.entity.TaUser;
12 13
 import com.yunzhi.marketing.center.taUser.entity.TaUserVO;
13 14
 import com.yunzhi.marketing.center.taUser.mapper.TaUserMapper;
@@ -1344,4 +1345,9 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
1344 1345
         // 返回刚刚绑定的楼盘ID
1345 1346
         return ResponseBean.success(taBuilding.getBuildingId());
1346 1347
     }
1348
+
1349
+    @Override
1350
+    public IPage<BorkerVO> getBorkerPage(IPage<BorkerVO> page, String name, String phone, String sortOrder, String sortField) {
1351
+        return baseMapper.getBorkerPage(page, CommConstant.PERSON_BORKER, name, phone, sortOrder, sortField);
1352
+    }
1347 1353
 }

+ 35
- 0
src/main/resources/mapper/TaPersonMapper.xml Dosyayı Görüntüle

@@ -658,6 +658,41 @@ FROM
658 658
             t.phone = #{phone}
659 659
           AND t.`status` &gt; -1
660 660
     </select>
661
+    <select id="getBorkerPage" resultType="com.yunzhi.marketing.borker.vo.BorkerVO">
662
+        SELECT
663
+            t.*,
664
+            IFNULL(m.`name`, m.nickname) AS recommend_person_name,
665
+            s.customer_num
666
+        FROM
667
+            ta_person t
668
+            LEFT JOIN (
669
+                SELECT
670
+                    a.recommend_person,
671
+                    count( 1 ) as customer_num
672
+                FROM xlk_channel_customer a
673
+                WHERE a.recommend_person_type = #{personType}
674
+                    AND a.status = 2
675
+                GROUP BY a.recommend_person
676
+                ) s ON s.recommend_person = t.person_id
677
+            LEFT JOIN ta_person m ON m.person_id = t.recommend_agent
678
+        WHERE
679
+            t.person_type = #{personType}
680
+          AND t.`status` &gt; -1
681
+          <if test="name != null and name != ''">
682
+              AND ( t.NAME LIKE CONCAT( '%', #{name}, '%' ) OR t.nickname LIKE CONCAT( '%', #{name}, '%' ) )
683
+          </if>
684
+          <if test="phone != null and phone != ''">
685
+              AND t.phone LIKE CONCAT( '%', #{phone}, '%' )
686
+          </if>
687
+        ORDER BY
688
+            <if test="sortField == 'customer_num'">
689
+                s.customer_num
690
+            </if>
691
+            <if test="sortField != 'customer_num'">
692
+                t.${sortField}
693
+            </if>
694
+            ${sortOrder}
695
+    </select>
661 696
 
662 697
     <insert id="savePersonPosition" parameterType="com.yunzhi.marketing.entity.TaPersonPositon">
663 698
         insert into ta_person_position