张延森 2 anos atrás
pai
commit
7d94f45a84

+ 11
- 0
src/main/java/com/yunzhi/marketing/borker/controller/BorkerController.java Ver arquivo

@@ -59,6 +59,17 @@ public class BorkerController  extends BaseController {
59 59
         return ResponseBean.success(result);
60 60
     }
61 61
 
62
+    @RequestMapping(value="/wx/borker/rank",method= RequestMethod.GET)
63
+    @ApiOperation(value="小程序端经纪人榜单", notes = "小程序端经纪人榜单", httpMethod = "GET", response = ResponseBean.class)
64
+    public ResponseBean getWxBorkerRank(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
65
+                                        @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
66
+                                       @ApiParam(value = "榜单类型", allowableValues = "person,money") @RequestParam(value ="rankType") String rankType,
67
+                                        HttpServletRequest request) throws Exception {
68
+        IPage<BorkerSummery> page = new Page<>(pageNum, pageSize);
69
+        IPage<BorkerSummery> result = iTaPersonService.getWxBorkerRankPage(page, rankType);
70
+        return ResponseBean.success(result);
71
+    }
72
+
62 73
 
63 74
     @RequestMapping(value="/wx/bindBorker",method= RequestMethod.PUT)
64 75
     @ApiOperation(value="成为经纪人", notes = "成为经纪人", httpMethod = "PUT", response = ResponseBean.class)

+ 3
- 0
src/main/java/com/yunzhi/marketing/borker/vo/BorkerSummery.java Ver arquivo

@@ -41,4 +41,7 @@ public class BorkerSummery {
41 41
     @TableField(exist = false)
42 42
     @ApiModelProperty("经纪人数")
43 43
     Integer borkerNum;
44
+
45
+    @ApiModelProperty("总佣金")
46
+    private Integer totalCommission;
44 47
 }

+ 2
- 0
src/main/java/com/yunzhi/marketing/mapper/TaPersonMapper.java Ver arquivo

@@ -278,4 +278,6 @@ public interface TaPersonMapper extends BaseMapper<TaPerson> {
278 278
     IPage<BorkerSummery> getWxBorkerPage(IPage<BorkerSummery> page,
279 279
                                          @Param("personType") String personType,
280 280
                                          @Param("recommendAgent") String recommendAgent);
281
+
282
+    IPage<BorkerSummery> getWxBorkerRankPage(IPage<BorkerSummery> page, @Param("personType") String personBorker, @Param("recommendAgent") String rankType);
281 283
 }

+ 2
- 0
src/main/java/com/yunzhi/marketing/service/ITaPersonService.java Ver arquivo

@@ -136,4 +136,6 @@ public interface ITaPersonService extends IService<TaPerson> {
136 136
     IPage<BorkerVO> getBorkerPage(IPage<BorkerVO> page, String name, String phone, String recommendPersonName, String sortOrder, String sortField);
137 137
 
138 138
     IPage<BorkerSummery> getWxBorkerPage(IPage<BorkerSummery> page, String personId);
139
+
140
+    IPage<BorkerSummery> getWxBorkerRankPage(IPage<BorkerSummery> page, String rankType);
139 141
 }

+ 5
- 0
src/main/java/com/yunzhi/marketing/service/impl/TaPersonServiceImpl.java Ver arquivo

@@ -1356,4 +1356,9 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
1356 1356
     public IPage<BorkerSummery> getWxBorkerPage(IPage<BorkerSummery> page, String personId) {
1357 1357
         return baseMapper.getWxBorkerPage(page, CommConstant.PERSON_BORKER, personId);
1358 1358
     }
1359
+
1360
+    @Override
1361
+    public IPage<BorkerSummery> getWxBorkerRankPage(IPage<BorkerSummery> page, String rankType) {
1362
+        return baseMapper.getWxBorkerRankPage(page, CommConstant.PERSON_BORKER, rankType);
1363
+    }
1359 1364
 }

+ 40
- 0
src/main/resources/mapper/TaPersonMapper.xml Ver arquivo

@@ -732,6 +732,46 @@ FROM
732 732
         ORDER BY
733 733
             t.create_date DESC
734 734
     </select>
735
+    <select id="getWxBorkerRankPage" resultType="com.yunzhi.marketing.borker.vo.BorkerSummery">
736
+        SELECT
737
+            t.*,
738
+            s.customer_num,
739
+            m.borker_num
740
+        FROM
741
+            ta_person t
742
+                LEFT JOIN (
743
+                SELECT
744
+                    a.recommend_person,
745
+                    count( 1 ) AS customer_num
746
+                FROM
747
+                    xlk_channel_customer a
748
+                WHERE
749
+                    a.recommend_person_type = #{personType}
750
+                  AND a.`status` = 2
751
+                GROUP BY
752
+                    a.recommend_person
753
+            ) s ON s.recommend_person = t.person_id
754
+                LEFT JOIN (
755
+                SELECT
756
+                    a.recommend_agent,
757
+                    count( 1 ) AS borker_num
758
+                FROM
759
+                    ta_person a
760
+                WHERE
761
+                    a.person_type = #{personType}
762
+                  AND a.`status` > - 1
763
+            ) m ON m.recommend_agent = t.person_id
764
+        WHERE t.person_type = #{personType}
765
+          AND t.`status` &gt; -1
766
+        <if test="rankType == 'person'">
767
+            ORDER BY
768
+            m.borker_num DESC
769
+        </if>
770
+        <if test="rankType == 'money'">
771
+            ORDER BY
772
+            t.total_commission DESC
773
+        </if>
774
+    </select>
735 775
 
736 776
     <insert id="savePersonPosition" parameterType="com.yunzhi.marketing.entity.TaPersonPositon">
737 777
         insert into ta_person_position