张延森 4 年 前
コミット
1f191bf5a0

+ 10
- 0
src/main/java/com/huiju/estateagents/common/StringUtils.java ファイルの表示

@@ -160,4 +160,14 @@ public class StringUtils {
160 160
 
161 161
         return source.replaceAll(regx, repl);
162 162
     }
163
+
164
+
165
+    public static String getGenderFromIdCard(String idCard) {
166
+        if (null == idCard || idCard.length() != 18) {
167
+            return null;
168
+        }
169
+
170
+        String sign = idCard.substring(16, 17);
171
+        return Integer.parseInt(sign) % 2 == 0 ? "2" : "1";
172
+    }
163 173
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/mapper/TaMpTemplateMapper.java ファイルの表示

@@ -19,4 +19,6 @@ import java.util.List;
19 19
 public interface TaMpTemplateMapper extends BaseMapper<TaMpTemplate> {
20 20
 
21 21
     List<TaMpTemplate> getAvailableList(@Param("orgId") Integer orgId,@Param("typeCode") String typeCode);
22
+
23
+    TaMpTemplate getByCode(Integer orgId, String typeCode);
22 24
 }

+ 37
- 0
src/main/java/com/huiju/estateagents/property/controller/UserVerifyController.java ファイルの表示

@@ -1,6 +1,8 @@
1 1
 package com.huiju.estateagents.property.controller;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4 6
 import com.huiju.estateagents.base.BaseController;
5 7
 import com.huiju.estateagents.base.ResponseBean;
6 8
 import com.huiju.estateagents.center.taUser.entity.TaUser;
@@ -16,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
16 18
 import org.springframework.web.bind.annotation.*;
17 19
 
18 20
 import javax.servlet.http.HttpServletRequest;
21
+import java.util.HashMap;
19 22
 import java.util.Map;
20 23
 
21 24
 @RestController
@@ -122,6 +125,40 @@ public class UserVerifyController extends BaseController {
122 125
         return responseBean;
123 126
     }
124 127
 
128
+    @GetMapping("/admin/prop-user/points")
129
+    public ResponseBean getListWithPoints(@RequestParam(value = "communityId") Integer communityId,
130
+                                          @RequestParam(value = "phaseId", required = false) Integer phaseId,
131
+                                          @RequestParam(value = "buildingId", required = false)Integer buildingId,
132
+                                          @RequestParam(value = "unitId", required = false)Integer unitId,
133
+                                          @RequestParam(value = "levelId", required = false)Integer levelId,
134
+                                          @RequestParam(value = "roomNoId", required = false)Integer roomNoId,
135
+                                          @RequestParam(value = "phone", required = false) String phone,
136
+                                          @RequestParam(value = "ownerName", required = false) String ownerName,
137
+                                          @RequestParam(value = "idCard", required = false) String idCard,
138
+                                          @RequestParam(value = "minPoints", required = false) Integer minPoints,
139
+                                          @RequestParam(value = "maxPoints", required = false) Integer maxPoints,
140
+                                          @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
141
+                                          @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
142
+                                          HttpServletRequest request) {
143
+        Map<String, Object> params = new HashMap<>();
144
+        params.put("orgId", getOrgId(request));
145
+        params.put("communityId", communityId);
146
+        params.put("phaseId", phaseId);
147
+        params.put("buildingId", buildingId);
148
+        params.put("unitId", unitId);
149
+        params.put("levelId", levelId);
150
+        params.put("roomNoId", roomNoId);
151
+        params.put("phone", phone);
152
+        params.put("ownerName", ownerName);
153
+        params.put("idCard", idCard);
154
+        params.put("minPoints", minPoints);
155
+        params.put("maxPoints", maxPoints);
156
+        //
157
+        IPage<TaUserVerify> page = new Page<TaUserVerify>(pageNum, pageSize);
158
+        IPage<TaUserVerify> result = iTaUserVerifyService.getListWithPoints(page, params);
159
+        return ResponseBean.success(result);
160
+    }
161
+
125 162
     /**
126 163
      * 校验该 房产是否有房主
127 164
      * @param phaseId

+ 2
- 0
src/main/java/com/huiju/estateagents/property/dao/TaUserVerifyMapper.java ファイルの表示

@@ -172,4 +172,6 @@ public interface TaUserVerifyMapper extends BaseMapper<TaUserVerify> {
172 172
     List<Map<String, Object>> getVerifyMapList(@Param("orgId") Integer orgId,@Param("communityId") Integer communityId, @Param("startDate") String startDate, @Param("endDate") String endDate);
173 173
 
174 174
     int getNoVerifyNum(Integer orgId, Integer communityId);
175
+
176
+    IPage<TaUserVerify> getListWithPoints(IPage<TaUserVerify> page,@Param("params") Map<String, Object> params);
175 177
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/property/service/ITaUserVerifyService.java ファイルの表示

@@ -1,5 +1,6 @@
1 1
 package com.huiju.estateagents.property.service;
2 2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
3 4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4 5
 import com.baomidou.mybatisplus.extension.service.IService;
5 6
 import com.huiju.estateagents.base.ResponseBean;
@@ -103,4 +104,6 @@ public interface ITaUserVerifyService extends IService<TaUserVerify> {
103 104
     List<Map<String, Object>> getVerifyMapList(Integer orgId, Integer communityId, String startDate, String endDate);
104 105
 
105 106
     int getNoVerifyNum(Integer orgId, Integer communityId);
107
+
108
+    IPage<TaUserVerify> getListWithPoints(IPage<TaUserVerify> page, Map<String, Object> params);
106 109
 }

+ 2
- 1
src/main/java/com/huiju/estateagents/property/service/impl/BuildingOwnerInfoServiceImpl.java ファイルの表示

@@ -397,7 +397,8 @@ public class BuildingOwnerInfoServiceImpl extends ServiceImpl<TpBuildingOwnerInf
397 397
         tpBuildingOwnerInfo.setOwnerName(ownerName);
398 398
         tpBuildingOwnerInfo.setOwnerTel(ownerTel);
399 399
         tpBuildingOwnerInfo.setIdCard(idCard);
400
-        tpBuildingOwnerInfo.setGender(gender);
400
+//        tpBuildingOwnerInfo.setGender(gender);
401
+        tpBuildingOwnerInfo.setGender(com.huiju.estateagents.common.StringUtils.getGenderFromIdCard(idCard));
401 402
         tpBuildingOwnerInfo.setUpdateUser(userId);
402 403
         tpBuildingOwnerInfo.setUpdateDate(LocalDateTime.now());
403 404
         tpBuildingOwnerInfo.setCreateDate(LocalDateTime.now());

+ 7
- 1
src/main/java/com/huiju/estateagents/property/service/impl/TaUserVerifyServiceImpl.java ファイルの表示

@@ -233,7 +233,8 @@ public class TaUserVerifyServiceImpl extends ServiceImpl<TaUserVerifyMapper, TaU
233 233
         tpBuildingOwnerInfo.setRoomNoName(tpRoomNo.getName());
234 234
         tpBuildingOwnerInfo.setOwnerName(userVerify.getOwnerName());
235 235
         tpBuildingOwnerInfo.setOwnerTel(userVerify.getPhone());
236
-        tpBuildingOwnerInfo.setGender(userVerify.getGender());
236
+//        tpBuildingOwnerInfo.setGender(userVerify.getGender());
237
+        tpBuildingOwnerInfo.setGender(com.huiju.estateagents.common.StringUtils.getGenderFromIdCard(userVerify.getIdCard()));
237 238
         tpBuildingOwnerInfo.setPairStatus("1");
238 239
         tpBuildingOwnerInfo.setVerifyStatus("1");
239 240
         tpBuildingOwnerInfo.setCreateDate(LocalDateTime.now());
@@ -526,4 +527,9 @@ public class TaUserVerifyServiceImpl extends ServiceImpl<TaUserVerifyMapper, TaU
526 527
     public int getNoVerifyNum(Integer orgId, Integer communityId) {
527 528
         return taUserVerifyMapper.getNoVerifyNum(orgId, communityId);
528 529
     }
530
+
531
+    @Override
532
+    public IPage<TaUserVerify> getListWithPoints(IPage<TaUserVerify> page, Map<String, Object> params) {
533
+        return taUserVerifyMapper.getListWithPoints(page, params);
534
+    }
529 535
 }

+ 6
- 3
src/main/java/com/huiju/estateagents/property/service/impl/TpTicketServiceImpl.java ファイルの表示

@@ -410,11 +410,14 @@ public class TpTicketServiceImpl extends ServiceImpl<TpTicketMapper, TpTicket> i
410 410
             e.printStackTrace();
411 411
 
412 412
             // 如果客服消息发送失败, 则发送普通模板消息
413
-            List<TaMpTemplate> mpTemplateList = iTaMpTemplateService.getAvailableList(ticket.getOrgId(), CommConstant.TP_MESSAGE_TICKET);
414
-            if (null == mpTemplateList || mpTemplateList.size() < 1) {
413
+//            List<TaMpTemplate> mpTemplateList = iTaMpTemplateService.getAvailableList(ticket.getOrgId(), CommConstant.TP_MESSAGE_TICKET);
414
+//            if (null == mpTemplateList || mpTemplateList.size() < 1) {
415
+//                return;
416
+//            }
417
+            TaMpTemplate mpTemplate = iTaMpTemplateService.getByCode(ticket.getOrgId(), CommConstant.TP_MESSAGE_TICKET);
418
+            if (null == mpTemplate) {
415 419
                 return;
416 420
             }
417
-            TaMpTemplate mpTemplate = mpTemplateList.get(0);
418 421
 
419 422
             try {
420 423
                 TaPerson propOwner = iTaPersonService.getById(ticket.getPersonId());

+ 2
- 0
src/main/java/com/huiju/estateagents/service/ITaMpTemplateService.java ファイルの表示

@@ -16,4 +16,6 @@ import java.util.List;
16 16
 public interface ITaMpTemplateService extends IService<TaMpTemplate> {
17 17
 
18 18
     List<TaMpTemplate> getAvailableList(Integer orgId, String typeCode);
19
+
20
+    TaMpTemplate getByCode(Integer orgId, String typeCode);
19 21
 }

+ 5
- 0
src/main/java/com/huiju/estateagents/service/impl/TaMpTemplateServiceImpl.java ファイルの表示

@@ -29,4 +29,9 @@ public class TaMpTemplateServiceImpl extends ServiceImpl<TaMpTemplateMapper, TaM
29 29
     public List<TaMpTemplate> getAvailableList(Integer orgId, String typeCode) {
30 30
         return taMpTemplateMapper.getAvailableList(orgId, typeCode);
31 31
     }
32
+
33
+    @Override
34
+    public TaMpTemplate getByCode(Integer orgId, String typeCode) {
35
+        return taMpTemplateMapper.getByCode(orgId, typeCode);
36
+    }
32 37
 }

+ 10
- 0
src/main/resources/mapper/TaMpTemplateMapper.xml ファイルの表示

@@ -19,4 +19,14 @@
19 19
             AND t.`status` = 1
20 20
             AND s.`status` = 1
21 21
     </select>
22
+    <select id="getByCode" resultType="com.huiju.estateagents.entity.TaMpTemplate">
23
+        SELECT
24
+            t.*
25
+        FROM
26
+            ta_mp_template t
27
+        WHERE
28
+            t.org_id = #{orgId}
29
+            AND t.type_code = #{typeCode}
30
+            AND t.`status` = 1
31
+    </select>
22 32
 </mapper>

+ 59
- 0
src/main/resources/mapper/property/TaUserVerifyMapper.xml ファイルの表示

@@ -154,4 +154,63 @@
154 154
         AND t.community_id = #{communityId}
155 155
         AND t.verify_status = '0'
156 156
     </select>
157
+    <select id="getListWithPoints" resultType="com.huiju.estateagents.property.model.TaUserVerify">
158
+        SELECT
159
+            t.id,
160
+            t.id_card,
161
+            t.owner_name,
162
+            t.phone,
163
+            t.person_id,
164
+            m.total_points,
165
+            GROUP_CONCAT( CONCAT( t.phase_name, t.building_name, t.unit_name, t.room_no_name ) ) AS room_no_name
166
+        FROM
167
+            ta_user_verify t
168
+            INNER JOIN  (
169
+                SELECT
170
+                    s.person_id,
171
+                    sum( s.points_amount ) AS total_points
172
+                FROM
173
+                    ta_points_records s
174
+                WHERE
175
+                    s.org_id = #{params.orgId}
176
+                GROUP BY
177
+                    s.person_id
178
+            ) m ON m.person_id = t.person_id
179
+        WHERE
180
+            t.org_id = #{params.orgId}
181
+            AND t.community_id = #{params.communityId}
182
+        <if test="null != params.phaseId">
183
+            AND t.phase_id = #{params.phaseId}
184
+        </if>
185
+        <if test="null != params.buildingId">
186
+            AND t.building_id = #{params.buildingId}
187
+        </if>
188
+        <if test="null != params.unitId">
189
+            AND t.unit_id = #{params.unitId}
190
+        </if>
191
+        <if test="null != params.levelId">
192
+            AND t.level_id = #{params.levelId}
193
+        </if>
194
+        <if test="null != params.roomNoId">
195
+            AND t.room_no_id = #{params.roomNoId}
196
+        </if>
197
+        <if test="null != params.ownerName and '' != params.ownerName">
198
+            AND t.owner_name LIKE CONCAT('%', #{params.ownerName}, '%')
199
+        </if>
200
+        <if test="null != params.phone and '' != params.phone">
201
+            AND t.phone LIKE CONCAT('%', #{params.phone}, '%')
202
+        </if>
203
+        <if test="null != params.idCard and '' != params.idCard">
204
+            AND t.id_card LIKE CONCAT('%', #{params.idCard}, '%')
205
+        </if>
206
+        <if test="null != params.minPoints">
207
+            AND m.total_points &gt;= #{params.minPoints}
208
+        </if>
209
+        <if test="null != params.maxPoints">
210
+            AND m.total_points &lt;= #{params.maxPoints}
211
+        </if>
212
+            AND t.verify_status = 1
213
+        GROUP BY t.person_id
214
+        ORDER BY t.create_date DESC
215
+    </select>
157 216
 </mapper>