Browse Source

活动列表页

傅行帆 5 years ago
parent
commit
92dd22ff99

+ 31
- 0
src/main/java/com/huiju/estateagents/activity/controller/ActivityController.java View File

@@ -1,10 +1,13 @@
1 1
 package com.huiju.estateagents.activity.controller;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.huiju.estateagents.activity.service.ActivityServiceI;
4 5
 import com.huiju.estateagents.base.BaseController;
5 6
 import com.huiju.estateagents.base.ResponseBean;
6 7
 import com.huiju.estateagents.entity.TaPerson;
8
+import com.huiju.estateagents.entity.TaRecommendCustomer;
7 9
 import com.huiju.estateagents.service.ITaPersonService;
10
+import com.huiju.estateagents.service.ITaRecommendCustomerService;
8 11
 import io.swagger.annotations.Api;
9 12
 import org.springframework.beans.factory.annotation.Autowired;
10 13
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -30,6 +33,9 @@ public class ActivityController extends BaseController {
30 33
 	@Autowired
31 34
 	private ITaPersonService taPersonService;
32 35
 	
36
+	@Autowired
37
+	ITaRecommendCustomerService taRecommendCustomerService;
38
+	
33 39
 	@RequestMapping(value = "/wx/activity/list", method = RequestMethod.GET)
34 40
 	public ResponseBean wxBuildingDynamiceList(@RequestParam(value = "pageNumber",defaultValue = "1")Integer pageNumber,
35 41
 	                                           @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
@@ -47,4 +53,29 @@ public class ActivityController extends BaseController {
47 53
 		
48 54
 		return responseBean;
49 55
 	}
56
+	
57
+	@RequestMapping(value = "/wx/customer/activity/list", method = RequestMethod.GET)
58
+	public ResponseBean wxActivityList(@RequestParam(value = "pageNumber",defaultValue = "1")Integer pageNumber,
59
+	                                           @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
60
+	                                           @RequestParam(value = "customerId") String customerId,
61
+	                                           HttpServletRequest request){
62
+		ResponseBean  responseBean = new ResponseBean();
63
+		Integer orgId = getOrgId(request);
64
+		//查找客户信息
65
+		QueryWrapper<TaRecommendCustomer> queryWrapper = new QueryWrapper<>();
66
+		queryWrapper.eq("customer_id",customerId);
67
+		TaRecommendCustomer taRecommendCustomer = taRecommendCustomerService.getOne(queryWrapper);
68
+		if (null == taRecommendCustomer){
69
+			return ResponseBean.error("验证人员信息失败",ResponseBean.ERROR_UNAVAILABLE);
70
+		}
71
+		if (null == taRecommendCustomer.getPersonId()){
72
+			return ResponseBean.error("验证人员信息失败",ResponseBean.ERROR_UNAVAILABLE);
73
+		}
74
+		
75
+		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
76
+		taPersonQueryWrapper.eq("person_id",taRecommendCustomer.getPersonId());
77
+		TaPerson person = taPersonService.getOne(taPersonQueryWrapper);
78
+		responseBean = activityService.getCustomerActivityList(pageNumber,pageSize,orgId,person);
79
+		return responseBean;
80
+	}
50 81
 }

+ 10
- 0
src/main/java/com/huiju/estateagents/activity/mapper/ActivityMapper.java View File

@@ -6,8 +6,18 @@ import org.apache.ibatis.annotations.Mapper;
6 6
 import org.apache.ibatis.annotations.Param;
7 7
 
8 8
 import java.util.List;
9
+import java.util.Map;
9 10
 
10 11
 @Mapper
11 12
 public interface ActivityMapper {
12 13
 	List<Activity> getActivityList(Page pg, @Param("orgId") Integer orgId,@Param("status") Integer status,@Param("cityId") Integer cityId);
14
+	
15
+	/**
16
+	 * 获取客户参与的活动列表
17
+	 * @param pg
18
+	 * @param orgId
19
+	 * @param personId
20
+	 * @return
21
+	 */
22
+	List<Map<String,Object>> getCustomerActivityList(Page pg,@Param("orgId") Integer orgId,@Param("personId") String personId);
13 23
 }

+ 10
- 0
src/main/java/com/huiju/estateagents/activity/service/ActivityServiceI.java View File

@@ -14,4 +14,14 @@ public interface ActivityServiceI {
14 14
 	 * @return
15 15
 	 */
16 16
 	ResponseBean getActivityList(Integer pageNumber, Integer pageSize, Integer orgId, TaPerson person,Integer cityId);
17
+	
18
+	/**
19
+	 * 获取客户参加的活动信息
20
+	 * @param pageNumber
21
+	 * @param pageSize
22
+	 * @param orgId
23
+	 * @param person
24
+	 * @return
25
+	 */
26
+	ResponseBean getCustomerActivityList(Integer pageNumber, Integer pageSize, Integer orgId, TaPerson person);
17 27
 }

+ 19
- 0
src/main/java/com/huiju/estateagents/activity/service/impl/ActivityServiceImpl.java View File

@@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
21 21
 import org.springframework.stereotype.Service;
22 22
 
23 23
 import java.util.List;
24
+import java.util.Map;
24 25
 
25 26
 /**
26 27
  * @author FXF
@@ -113,4 +114,22 @@ public class ActivityServiceImpl implements ActivityServiceI {
113 114
 		pg.setRecords(list);
114 115
 		return ResponseBean.success(pg);
115 116
 	}
117
+	
118
+	/**
119
+	 * 获取客户参加的活动信息
120
+	 *
121
+	 * @param pageNumber
122
+	 * @param pageSize
123
+	 * @param orgId
124
+	 * @param person
125
+	 * @return
126
+	 */
127
+	@Override
128
+	public ResponseBean getCustomerActivityList(Integer pageNumber, Integer pageSize, Integer orgId, TaPerson person) {
129
+		//分页获取全部数据
130
+		Page pg = new Page(pageNumber,pageSize);
131
+		List<Map<String, Object>> customerActivityList = activityMapper.getCustomerActivityList(pg, orgId, person.getPersonId());
132
+		pg.setRecords(customerActivityList);
133
+		return ResponseBean.success(pg);
134
+	}
116 135
 }

+ 76
- 0
src/main/resources/mapper/Activity.xml View File

@@ -25,4 +25,80 @@
25 25
         </if>
26 26
         ORDER BY weight desc,activity_status,start_date
27 27
     </select>
28
+    <select id="getCustomerActivityList" resultType="java.util.Map">
29
+        SELECT
30
+            t.enlist_id AS id,
31
+            t.dynamic_id AS activityId,
32
+            t.create_date AS createDate,
33
+            IF( t.is_checkin = 1, "已签到", "未签到" ) AS `status`,
34
+            d.img_url AS mainImg,
35
+            d.title,
36
+            d.start_date AS startDate,
37
+            d.enlist_end AS endDate,
38
+            'dynamic' AS type
39
+        FROM
40
+            ta_activity_dynamic_enlist t
41
+            LEFT JOIN ta_building_dynamic d ON t.dynamic_id = d.dynamic_id
42
+        WHERE
43
+            t.org_id = #{orgId}
44
+            AND t.person_id = #{personId}
45
+      UNION ALL
46
+        SELECT
47
+            t.record_id AS id,
48
+            t.group_activity_id AS activityId,
49
+            t.create_time AS createDate,
50
+        CASE
51
+            WHEN t.STATUS = 1 THEN
52
+            "进行中"
53
+            WHEN t.STATUS = 0
54
+            AND t.verification_status = 1 THEN
55
+            "成功已核销"
56
+        WHEN t.STATUS = 0
57
+        AND t.verification_status != 1 THEN
58
+        "成功未核销"
59
+        WHEN t.STATUS = 2 THEN
60
+        "失败"
61
+        END `status`,
62
+            d.main_img AS mainImg,
63
+            d.activity_name AS title,
64
+            d.start_time AS startDate,
65
+            d.end_time AS endDate,
66
+            'group' AS type
67
+        FROM
68
+            ta_share_record t
69
+            LEFT JOIN ta_share_activity d ON t.group_activity_id = d.group_activity_id
70
+        WHERE
71
+            t.org_id = #{orgId}
72
+            AND t.person_id = #{personId}
73
+      UNION ALL
74
+        SELECT
75
+            t.help_record_initiate_id AS id,
76
+            t.help_activity_id AS activityId,
77
+            t.create_date AS createDate,
78
+        CASE
79
+                WHEN t.STATUS = 1 THEN
80
+                "进行中"
81
+                WHEN t.STATUS = 0
82
+                AND t.verification_status = 1 THEN
83
+                    "成功已核销"
84
+                    WHEN t.STATUS = 0
85
+                    AND t.verification_status != 1 THEN
86
+                        "成功未核销"
87
+                        WHEN t.STATUS = 2 THEN
88
+                        "失败"
89
+                    END `status`,
90
+            d.img AS mainImg,
91
+            d.title,
92
+            d.start_date AS startDate,
93
+            d.end_date AS endDate,
94
+            'help' AS type
95
+        FROM
96
+            ta_help_initiate_record t
97
+            LEFT JOIN ta_help_activity d ON t.help_activity_id = d.help_activity_id
98
+        WHERE
99
+            t.org_id = #{orgId}
100
+            AND t.person_id = #{personId}
101
+        ORDER BY
102
+        createDate DESC
103
+    </select>
28 104
 </mapper>