소스 검색

渠道管理

dingxin 5 년 전
부모
커밋
1d40a2f289

+ 30
- 8
src/main/java/com/huiju/estateagents/controller/TaChannelController.java 파일 보기

6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.BaseController;
8
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
9
+
10
+import com.huiju.estateagents.common.JWTUtils;
11
+import com.huiju.estateagents.common.StringUtils;
9
 import com.huiju.estateagents.entity.TaChannel;
12
 import com.huiju.estateagents.entity.TaChannel;
10
 import com.huiju.estateagents.entity.TaPerson;
13
 import com.huiju.estateagents.entity.TaPerson;
14
+import com.huiju.estateagents.mapper.TaChannelMapper;
11
 import com.huiju.estateagents.service.ITaPersonService;
15
 import com.huiju.estateagents.service.ITaPersonService;
12
 import com.huiju.estateagents.service.TaChannelService;
16
 import com.huiju.estateagents.service.TaChannelService;
17
+import org.apache.http.HttpRequest;
13
 import org.slf4j.Logger;
18
 import org.slf4j.Logger;
14
 import org.slf4j.LoggerFactory;
19
 import org.slf4j.LoggerFactory;
15
 import org.springframework.beans.factory.annotation.Autowired;
20
 import org.springframework.beans.factory.annotation.Autowired;
21
 import org.springframework.web.bind.annotation.ResponseBody;
26
 import org.springframework.web.bind.annotation.ResponseBody;
22
 import org.springframework.web.bind.annotation.RestController;
27
 import org.springframework.web.bind.annotation.RestController;
23
 
28
 
29
+import javax.servlet.http.HttpServletRequest;
30
+import java.util.HashMap;
31
+import java.util.List;
32
+
24
 
33
 
25
 /**
34
 /**
26
  * <p>
35
  * <p>
42
     @Autowired
51
     @Autowired
43
     public ITaPersonService taPersonService;
52
     public ITaPersonService taPersonService;
44
 
53
 
54
+    @Autowired
55
+    public TaChannelMapper taChannelMapper;
56
+
45
 
57
 
46
     /**
58
     /**
47
      * 分页查询列表
59
      * 分页查询列表
51
      */
63
      */
52
     @RequestMapping(value="/admin/channel",method= RequestMethod.GET)
64
     @RequestMapping(value="/admin/channel",method= RequestMethod.GET)
53
     public ResponseBean channelList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
65
     public ResponseBean channelList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
54
-                                    @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
66
+                                    @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
67
+                                    @RequestParam(value ="channelId",required = false) Integer channelId,
68
+                                    HttpServletRequest request){
55
         ResponseBean responseBean = new ResponseBean();
69
         ResponseBean responseBean = new ResponseBean();
70
+        String orgid = JWTUtils.getSubject(request);
56
         try {
71
         try {
57
             //使用分页插件
72
             //使用分页插件
58
 		    IPage<TaChannel> pg = new Page<>(pageNum, pageSize);
73
 		    IPage<TaChannel> pg = new Page<>(pageNum, pageSize);
59
             QueryWrapper<TaChannel> queryWrapper = new QueryWrapper<>();
74
             QueryWrapper<TaChannel> queryWrapper = new QueryWrapper<>();
75
+            queryWrapper.eq(null != channelId, "channel_id", channelId);
60
             queryWrapper.orderByDesc("create_date");
76
             queryWrapper.orderByDesc("create_date");
61
 
77
 
62
             IPage<TaChannel> result = taChannelService.page(pg, queryWrapper);
78
             IPage<TaChannel> result = taChannelService.page(pg, queryWrapper);
63
-            responseBean.addSuccess(result);
79
+          HashMap hashMap  = new HashMap<>();
80
+            hashMap.put("result",result);
81
+            // 下拉列表的数据 all
82
+            List<TaChannel> taChannelList = taChannelMapper.selectChannelList();
83
+            hashMap.put("channelNmae",taChannelList);
84
+            responseBean.addSuccess(hashMap);
64
         }catch (Exception e){
85
         }catch (Exception e){
65
             e.printStackTrace();
86
             e.printStackTrace();
66
             logger.error("channelList -=- {}",e.toString());
87
             logger.error("channelList -=- {}",e.toString());
74
      * @param channel 实体对象
95
      * @param channel 实体对象
75
      * @return
96
      * @return
76
      */
97
      */
77
-    @RequestMapping(value="/channel",method= RequestMethod.POST)
98
+    @RequestMapping(value="/admin/channel",method= RequestMethod.POST)
78
     public ResponseBean channelAdd(@RequestBody TaChannel channel){
99
     public ResponseBean channelAdd(@RequestBody TaChannel channel){
79
         ResponseBean responseBean = new ResponseBean();
100
         ResponseBean responseBean = new ResponseBean();
80
         try {
101
         try {
102
+            // 生成6位数的渠道码
103
+            int channelCode= taChannelMapper.channelCode();
104
+            channel.setChannelCode(String.valueOf(channelCode));
81
             if (taChannelService.save(channel)){
105
             if (taChannelService.save(channel)){
82
                 responseBean.addSuccess(channel);
106
                 responseBean.addSuccess(channel);
83
             }else {
107
             }else {
157
     /**
181
     /**
158
      * 渠道管理下的经纪人
182
      * 渠道管理下的经纪人
159
      */
183
      */
160
-    @RequestMapping(value="/channel/broker",method= RequestMethod.GET)
161
-    public  ResponseBean channelBrokerList(@RequestBody String  Param,
184
+    @RequestMapping(value="/admin/channel/broker",method= RequestMethod.GET)
185
+    public  ResponseBean channelBrokerList(@RequestParam(value="name",required = false) String name,
186
+                                           @RequestParam(value="phone",required = false) String phone,
162
                                            @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
187
                                            @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
163
                                            @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
188
                                            @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
164
-        JSONObject jSONObject = JSONObject.parseObject(Param);
165
-        String name = jSONObject.getString("name");
166
-        String phone = jSONObject.getString("phone");
167
         ResponseBean taPerson =  taPersonService.channelBrokerList(name,phone,pageNum,pageSize);
189
         ResponseBean taPerson =  taPersonService.channelBrokerList(name,phone,pageNum,pageSize);
168
         return taPerson;
190
         return taPerson;
169
     }
191
     }

+ 0
- 1
src/main/java/com/huiju/estateagents/controller/TaChannelPersonController.java 파일 보기

51
             //使用分页插件
51
             //使用分页插件
52
 		    IPage<TaChannelPerson> pg = new Page<>(pageNum, pageSize);
52
 		    IPage<TaChannelPerson> pg = new Page<>(pageNum, pageSize);
53
             QueryWrapper<TaChannelPerson> queryWrapper = new QueryWrapper<>();
53
             QueryWrapper<TaChannelPerson> queryWrapper = new QueryWrapper<>();
54
-            queryWrapper.eq("channel_name",channelName);
55
             queryWrapper.orderByDesc("create_date");
54
             queryWrapper.orderByDesc("create_date");
56
 
55
 
57
             IPage<TaChannelPerson> result = iChannelPersonService.page(pg, queryWrapper);
56
             IPage<TaChannelPerson> result = iChannelPersonService.page(pg, queryWrapper);

+ 3
- 0
src/main/java/com/huiju/estateagents/entity/TaPerson.java 파일 보기

234
 
234
 
235
     @TableField(exist = false)
235
     @TableField(exist = false)
236
     private Integer isSave;
236
     private Integer isSave;
237
+
238
+    @TableField(exist = false)
239
+    private int recommendCount;
237
 }
240
 }

+ 13
- 0
src/main/java/com/huiju/estateagents/mapper/TaChannelMapper.java 파일 보기

4
 import com.huiju.estateagents.entity.TaChannel;
4
 import com.huiju.estateagents.entity.TaChannel;
5
 import org.apache.ibatis.annotations.Mapper;
5
 import org.apache.ibatis.annotations.Mapper;
6
 
6
 
7
+import java.util.List;
8
+
7
 /**
9
 /**
8
  * <p>
10
  * <p>
9
  *   Mapper 接口
11
  *   Mapper 接口
15
 @Mapper
17
 @Mapper
16
 public interface TaChannelMapper extends BaseMapper<TaChannel> {
18
 public interface TaChannelMapper extends BaseMapper<TaChannel> {
17
 
19
 
20
+    /**
21
+     * 渠道码
22
+     * @return
23
+     */
24
+    int channelCode();
25
+
26
+    /**
27
+     * 渠道页面下拉列表的所有数据
28
+     * @return
29
+     */
30
+    List<TaChannel> selectChannelList();
18
 }
31
 }

+ 24
- 0
src/main/resources/mapper/TaChannelMapper.xml 파일 보기

2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
 <mapper namespace="com.huiju.estateagents.mapper.TaChannelMapper">
3
 <mapper namespace="com.huiju.estateagents.mapper.TaChannelMapper">
4
 
4
 
5
+    <select id="channelCode" resultType="int">
6
+        drop FUNCTION if exists roundNum;
7
+        create function roundNum() returns int
8
+        begin
9
+        declare x int default 1;
10
+        declare y int default 0;
11
+        declare a int default 20;
12
+        declare b int default 1;
13
+        while (b <![CDATA[ < a ]]> ) do
14
+        set x = (select (select FLOOR(100000 + RAND()*900000))  as num);
15
+        set y = (select count(1) from ta_channel where channel_code = x);
16
+        if y = 0
17
+        then return x;
18
+        END IF;
19
+        set b = b + 1;
20
+        end while;
21
+        return 0;
22
+        end;
23
+        select roundNum();
24
+    </select>
25
+    
26
+    <select id="selectChannelList" resultType="com.huiju.estateagents.entity.TaChannel">
27
+        select * from ta_channel ;
28
+    </select>
5
 </mapper>
29
 </mapper>

+ 9
- 1
src/main/resources/mapper/TaPersonMapper.xml 파일 보기

490
     </select>
490
     </select>
491
 
491
 
492
     <select id="channelBrokerList" resultType="com.huiju.estateagents.entity.TaPerson">
492
     <select id="channelBrokerList" resultType="com.huiju.estateagents.entity.TaPerson">
493
-        select * from ta_person
493
+        select
494
+        p.avatarurl,
495
+        p.name,
496
+        p.tel,
497
+        p.sex,
498
+        COUNT(rc.person_id) as recommendCount
499
+        from ta_person p
500
+        LEFT JOIN ta_recommend_customer rc ON p.person_id = rc.person_id and rc.report_recommend_status = 1
494
         <where>
501
         <where>
495
         <if test="name !=null and name !=''">
502
         <if test="name !=null and name !=''">
496
             and name = #{name}
503
             and name = #{name}
500
         </if>
507
         </if>
501
         and person_type = 'estate agent'
508
         and person_type = 'estate agent'
502
         </where>
509
         </where>
510
+        GROUP BY p.person_id
503
     </select>
511
     </select>
504
 
512
 
505
 </mapper>
513
 </mapper>