dingxin 5 years ago
parent
commit
7bafb6acd0

+ 2
- 1
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java View File

118
         return responseBean;
118
         return responseBean;
119
     }
119
     }
120
 
120
 
121
-    @PutMapping(value = "/center/turn/taUser/{id}/{type}")
121
+    @PutMapping(value = "/{plat}/turn/taUser/{id}/{type}")
122
     public ResponseBean turnUser(@PathVariable String type, @PathVariable Integer id) {
122
     public ResponseBean turnUser(@PathVariable String type, @PathVariable Integer id) {
123
         try {
123
         try {
124
             iTaUserService.turnUserOnOrNot(id, "on".equals(type));
124
             iTaUserService.turnUserOnOrNot(id, "on".equals(type));
323
             taUserQueryWrapper.like(!StringUtils.isEmpty(userName),"user_name",userName);
323
             taUserQueryWrapper.like(!StringUtils.isEmpty(userName),"user_name",userName);
324
             taUserQueryWrapper.like(!StringUtils.isEmpty(phone),"phone",phone);
324
             taUserQueryWrapper.like(!StringUtils.isEmpty(phone),"phone",phone);
325
             taUserQueryWrapper.eq(null != status,"status",status);
325
             taUserQueryWrapper.eq(null != status,"status",status);
326
+            taUserQueryWrapper.ne("IFNULL(is_admin,0)",CommConstant.STATUS_NORMAL);
326
             IPage<TaUser> result = iTaUserService.page(pg,taUserQueryWrapper);
327
             IPage<TaUser> result = iTaUserService.page(pg,taUserQueryWrapper);
327
             List<TaUser> taUserList = result.getRecords();
328
             List<TaUser> taUserList = result.getRecords();
328
             taUserList.forEach(e -> {
329
             taUserList.forEach(e -> {

+ 4
- 1
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java View File

235
 	
235
 	
236
 	@Override
236
 	@Override
237
 	public TaUser updateAdminUser(TaUser taUser) throws Exception {
237
 	public TaUser updateAdminUser(TaUser taUser) throws Exception {
238
+		TaUser taUserBefore = taUserMapper.selectById(taUser.getUserId());
238
 		if (StringUtils.isEmpty(taUser.getPhone())) {
239
 		if (StringUtils.isEmpty(taUser.getPhone())) {
239
 			throw new Exception("电话号码不能为空");
240
 			throw new Exception("电话号码不能为空");
240
 		}
241
 		}
241
 		if (StringUtils.isEmpty(taUser.getUserName())) {
242
 		if (StringUtils.isEmpty(taUser.getUserName())) {
242
 			throw new Exception("用户名称不能为空");
243
 			throw new Exception("用户名称不能为空");
243
 		}
244
 		}
244
-		taUser.setLoginName(taUser.getPhone());
245
+		if(taUserBefore.getLoginName().equals(taUserBefore.getPhone())){
246
+			taUser.setLoginName(taUser.getPhone());
247
+		}
245
 		
248
 		
246
 		QueryWrapper<TaUser> wrapper = new QueryWrapper<>();
249
 		QueryWrapper<TaUser> wrapper = new QueryWrapper<>();
247
 		wrapper.nested(q -> q.eq("phone", taUser.getPhone()).or().eq("login_Name", taUser.getLoginName()));
250
 		wrapper.nested(q -> q.eq("phone", taUser.getPhone()).or().eq("login_Name", taUser.getLoginName()));

+ 3
- 2
src/main/java/com/huiju/estateagents/common/CommConstant.java View File

382
     public static final String POSTER_CONTENT_TYPE_NEWS = "news";
382
     public static final String POSTER_CONTENT_TYPE_NEWS = "news";
383
     //人员
383
     //人员
384
     public static final String POSTER_CONTENT_TYPE_PERSON = "person";
384
     public static final String POSTER_CONTENT_TYPE_PERSON = "person";
385
-
386
-
385
+	
386
+	
387
+	public static final String GD_KEY = "c9fc664a9030aed2ec2183508c2ca476";
387
 }
388
 }

+ 17
- 10
src/main/java/com/huiju/estateagents/common/WxUtils.java View File

28
         System.out.println("-------------PostConstruct----------------");
28
         System.out.println("-------------PostConstruct----------------");
29
 
29
 
30
         List<TaMiniapp> taMiniappList = iMiniAppService.getAllAvaliableMiniapps();
30
         List<TaMiniapp> taMiniappList = iMiniAppService.getAllAvaliableMiniapps();
31
-        if (null != taMiniappList) {
31
+        if (null == taMiniappList) {
32
             return;
32
             return;
33
         }
33
         }
34
 
34
 
35
         for (TaMiniapp taMiniapp : taMiniappList) {
35
         for (TaMiniapp taMiniapp : taMiniappList) {
36
-            WxMaInMemoryConfig config = new WxMaInMemoryConfig();
37
-            config.setAppid(taMiniapp.getMiniappId());
38
-            config.setSecret(taMiniapp.getSecret());
39
-            config.setToken(taMiniapp.getToken());
40
-            config.setAesKey(taMiniapp.getAesKey());
41
-            config.setMsgDataFormat("JSON");
42
-
43
-            WxMaService service = new WxMaServiceImpl();
44
-            service.setWxMaConfig(config);
36
+            WxMaService service = newService(taMiniapp);
45
             serives.put(taMiniapp.getMiniappId(), service);
37
             serives.put(taMiniapp.getMiniappId(), service);
46
         }
38
         }
47
     }
39
     }
40
+
41
+    public WxMaService newService(TaMiniapp taMiniapp) {
42
+        serives.remove(taMiniapp.getMiniappId());
43
+
44
+        WxMaInMemoryConfig config = new WxMaInMemoryConfig();
45
+        config.setAppid(taMiniapp.getMiniappId());
46
+        config.setSecret(taMiniapp.getSecret());
47
+        config.setToken(taMiniapp.getToken());
48
+        config.setAesKey(taMiniapp.getAesKey());
49
+        config.setMsgDataFormat("JSON");
50
+
51
+        WxMaService service = new WxMaServiceImpl();
52
+        service.setWxMaConfig(config);
53
+        return service;
54
+    }
48
 }
55
 }

+ 79
- 5
src/main/java/com/huiju/estateagents/controller/TaPersonController.java View File

4
 import com.alibaba.fastjson.JSONObject;
4
 import com.alibaba.fastjson.JSONObject;
5
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
 import com.baomidou.mybatisplus.core.metadata.IPage;
7
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.center.taUser.entity.TaUser;
9
 import com.huiju.estateagents.center.taUser.entity.TaUser;
9
 import com.huiju.estateagents.center.taUser.service.ITaUserService;
10
 import com.huiju.estateagents.center.taUser.service.ITaUserService;
20
 import org.springframework.web.bind.annotation.*;
21
 import org.springframework.web.bind.annotation.*;
21
 
22
 
22
 import com.huiju.estateagents.base.BaseController;
23
 import com.huiju.estateagents.base.BaseController;
24
+import org.springframework.web.client.RestTemplate;
23
 
25
 
24
 import javax.servlet.http.HttpServletRequest;
26
 import javax.servlet.http.HttpServletRequest;
25
 import java.time.LocalDateTime;
27
 import java.time.LocalDateTime;
89
     }
91
     }
90
 
92
 
91
     @PutMapping("/wx/registerConsultant")
93
     @PutMapping("/wx/registerConsultant")
92
-    public ResponseBean registerConsultant(HttpServletRequest request) {
94
+    public ResponseBean registerConsultant(HttpServletRequest request,@RequestParam String phone) {
93
         Integer orgId =getOrgId(request);
95
         Integer orgId =getOrgId(request);
94
         ResponseBean responseBean = new ResponseBean();
96
         ResponseBean responseBean = new ResponseBean();
95
         String openid = JWTUtils.getSubject(request);
97
         String openid = JWTUtils.getSubject(request);
99
         }
101
         }
100
         TaPerson person = taPersons.get(0);
102
         TaPerson person = taPersons.get(0);
101
         QueryWrapper<TaUser>queryWrapper = new QueryWrapper<>();
103
         QueryWrapper<TaUser>queryWrapper = new QueryWrapper<>();
102
-        queryWrapper.eq("phone",person.getPhone());
104
+        queryWrapper.eq("phone",phone);
103
         queryWrapper.eq("org_id",orgId);
105
         queryWrapper.eq("org_id",orgId);
104
         List<TaUser> users = taUserService.list(queryWrapper);
106
         List<TaUser> users = taUserService.list(queryWrapper);
105
         if(users.size()>0){
107
         if(users.size()>0){
116
     }
118
     }
117
 
119
 
118
     @PutMapping("/wx/registerAgent")
120
     @PutMapping("/wx/registerAgent")
119
-    public ResponseBean registerAgent(@RequestParam String recommendAgentCode, @RequestParam String channelCode,HttpServletRequest request) {
121
+    public ResponseBean registerAgent(@RequestParam(required = false) String recommendAgentCode, @RequestParam(required = false) String channelCode,HttpServletRequest request) {
120
         ResponseBean responseBean = new ResponseBean();
122
         ResponseBean responseBean = new ResponseBean();
121
         Integer orgId =getOrgId(request);
123
         Integer orgId =getOrgId(request);
122
         String openid = JWTUtils.getSubject(request);
124
         String openid = JWTUtils.getSubject(request);
466
      * @param channelCode 渠道码
468
      * @param channelCode 渠道码
467
      * @return
469
      * @return
468
      */
470
      */
469
-    @RequestMapping(value="/wx/customer/recommend/becomeChannel/{channelCode}",method= RequestMethod.PUT)
470
-    public ResponseBean taRecommendAgentBecomeChannel(@PathVariable String channelCode,HttpServletRequest request,@RequestParam("personType")String personType){
471
+    @RequestMapping(value="/wx/customer/recommend/becomeChannel",method= RequestMethod.PUT)
472
+    public ResponseBean taRecommendAgentBecomeChannel(@RequestParam(required = false) String channelCode,HttpServletRequest request,@RequestParam("personType")String personType){
471
         ResponseBean responseBean = new ResponseBean();
473
         ResponseBean responseBean = new ResponseBean();
472
         String openid = JWTUtils.getSubject(request);
474
         String openid = JWTUtils.getSubject(request);
473
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
475
         List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
519
     }
521
     }
520
 
522
 
521
 
523
 
524
+    /**
525
+     * 获取名片详情
526
+     * @return
527
+     */
528
+    @GetMapping("/wx/agent/recommend/mine")
529
+    public ResponseBean getAgentIRecommend(@RequestParam(defaultValue = "1") int pageNum,
530
+                                           @RequestParam(defaultValue = "10") int pageSize, HttpServletRequest request) {
531
+        String openid = JWTUtils.getSubject(request);
532
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
533
+        if (null == taPersons || taPersons.size() != 1) {
534
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
535
+        }
536
+        TaPerson person = taPersons.get(0);
537
+        QueryWrapper<TaPerson>queryWrapper = new QueryWrapper<>();
538
+        queryWrapper.eq("recommend_agent",person.getRecommendAgent());
539
+        queryWrapper.eq("status",CommConstant.STATUS_NORMAL);
540
+        Page<TaPerson>page = new Page<>();
541
+        page.setPages(pageNum);
542
+        page.setCurrent(pageNum);
543
+        page.setSize(pageSize);
544
+        ResponseBean responseBean = new ResponseBean();
545
+        IPage<TaPerson>data = taPersonService.page(page,queryWrapper);
546
+        responseBean.addSuccess(data);
547
+
548
+        return responseBean;
549
+    }
550
+
551
+    /**
552
+     * 获取当前用户
553
+     * @param request
554
+     * @return
555
+     */
556
+    @GetMapping("/wx/user/current")
557
+    public ResponseBean getWxCurrentPerson(HttpServletRequest request) {
558
+        String personId = JWTUtils.getSubject(request);
559
+        TaPerson taPerson = taPersonService.getById(personId);
560
+        if (null == taPerson || taPerson.getStatus() != CommConstant.STATUS_NORMAL) {
561
+            return ResponseBean.error("用户状态异常", ResponseBean.ERROR_AUTH_EXPIRED);
562
+        }
522
 
563
 
564
+        return ResponseBean.success(taPerson);
565
+    }
566
+    
567
+    /**
568
+     * 微信添加人员添加城市
569
+     * @param location
570
+     * @param request
571
+     * @return
572
+     */
573
+    @PutMapping("/wx/person/city")
574
+    public ResponseBean updatePersonCity(@RequestBody String location, HttpServletRequest request) {
575
+        ResponseBean responseBean = new ResponseBean();
576
+        String openid = JWTUtils.getSubject(request);
577
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
578
+        if (null == taPersons || taPersons.size() != 1) {
579
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
580
+        }
581
+        TaPerson person = taPersons.get(0);
582
+        JSONObject jsonObject = JSONObject.parseObject(location);
583
+        RestTemplate restTemplate = new RestTemplate();
584
+        String result = restTemplate.getForObject("https://restapi.amap.com/v3/geocode/regeo?key="+ CommConstant.GD_KEY + "&location=" + jsonObject.getString("location") + "&output=json", String.class);
585
+        JSONObject resultJson = JSONObject.parseObject(result);
586
+        if (!resultJson.getString("status").equals(CommConstant.STATUS_NORMAL)){
587
+            String adcode =  resultJson.getJSONObject("regeocode").getJSONObject("addressComponent").getString("adcode");
588
+            adcode = adcode.substring(0,adcode.length()-2) + "00";
589
+            person.setCity(adcode);
590
+            taPersonService.updateById(person);
591
+            responseBean.addSuccess("保存城市成功");
592
+            return responseBean;
593
+        }
594
+        responseBean.addError("未找到城市");
595
+        return responseBean;
596
+    }
523
 }
597
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java View File

312
         }
312
         }
313
     }
313
     }
314
 
314
 
315
-    @GetMapping("/wx/customer/recommend/{customerId}")
315
+    @GetMapping("/wx/customer/recommend/mine")
316
     public ResponseBean getWxCustomersIRecommended (@RequestParam int pageNumber, @RequestParam int pageSize,HttpServletRequest request){
316
     public ResponseBean getWxCustomersIRecommended (@RequestParam int pageNumber, @RequestParam int pageSize,HttpServletRequest request){
317
         Integer orgId =getOrgId(request);
317
         Integer orgId =getOrgId(request);
318
         String openid = JWTUtils.getSubject(request);
318
         String openid = JWTUtils.getSubject(request);

+ 11
- 0
src/main/java/com/huiju/estateagents/service/impl/TaMiniappServiceImpl.java View File

1
 package com.huiju.estateagents.service.impl;
1
 package com.huiju.estateagents.service.impl;
2
 
2
 
3
+import cn.binarywang.wx.miniapp.api.WxMaService;
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
 import com.huiju.estateagents.common.StringUtils;
6
 import com.huiju.estateagents.common.StringUtils;
7
+import com.huiju.estateagents.common.WxUtils;
6
 import com.huiju.estateagents.entity.TaMiniapp;
8
 import com.huiju.estateagents.entity.TaMiniapp;
7
 import com.huiju.estateagents.entity.TaMiniappTemplate;
9
 import com.huiju.estateagents.entity.TaMiniappTemplate;
8
 import com.huiju.estateagents.mapper.TaMiniappMapper;
10
 import com.huiju.estateagents.mapper.TaMiniappMapper;
9
 import com.huiju.estateagents.mapper.TaMiniappTemplateMapper;
11
 import com.huiju.estateagents.mapper.TaMiniappTemplateMapper;
10
 import com.huiju.estateagents.service.ITaMiniappService;
12
 import com.huiju.estateagents.service.ITaMiniappService;
13
+import org.checkerframework.checker.units.qual.A;
11
 import org.springframework.beans.factory.annotation.Autowired;
14
 import org.springframework.beans.factory.annotation.Autowired;
12
 import org.springframework.stereotype.Service;
15
 import org.springframework.stereotype.Service;
13
 
16
 
24
     @Autowired
27
     @Autowired
25
     TaMiniappTemplateMapper taMiniappTemplateMapper;
28
     TaMiniappTemplateMapper taMiniappTemplateMapper;
26
 
29
 
30
+    @Autowired
31
+    WxUtils wxUtils;
32
+
27
     @Override
33
     @Override
28
     public TaMiniapp saveInfoWithTpls(TaMiniapp taMiniapp) throws Exception {
34
     public TaMiniapp saveInfoWithTpls(TaMiniapp taMiniapp) throws Exception {
29
         if (StringUtils.isEmpty(taMiniapp.getMiniappId())) {
35
         if (StringUtils.isEmpty(taMiniapp.getMiniappId())) {
63
             }
69
             }
64
         }
70
         }
65
 
71
 
72
+        WxMaService appService = wxUtils.getMiniApp(taMiniapp.getMiniappId());
73
+        if (null == appService || (null != orign && !taMiniapp.getSecret().equals(orign.getSecret()))) {
74
+            wxUtils.newService(taMiniapp);
75
+        }
76
+
66
         return taMiniapp;
77
         return taMiniapp;
67
     }
78
     }
68
 }
79
 }

+ 3
- 3
src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java View File

241
         result.put("name", user.getUserName());
241
         result.put("name", user.getUserName());
242
         result.put("company", user.getOrgName());
242
         result.put("company", user.getOrgName());
243
         result.put("department", user.getDepartment());
243
         result.put("department", user.getDepartment());
244
-        result.put("picture", person.getPhoto());
244
+        result.put("picture", user.getPhoto());
245
         result.put("hotNum", person.getHotNum());
245
         result.put("hotNum", person.getHotNum());
246
         result.put("likeNum", person.getLikeNum());
246
         result.put("likeNum", person.getLikeNum());
247
         result.put("pvNum", person.getPvNum());
247
         result.put("pvNum", person.getPvNum());
248
         result.put("post", person.getPost());
248
         result.put("post", person.getPost());
249
-        result.put("phone", person.getTel());
249
+        result.put("phone", user.getPhone());
250
         result.put("avatar",user.getAvatar());
250
         result.put("avatar",user.getAvatar());
251
         result.put("visitors", visitors);
251
         result.put("visitors", visitors);
252
         result.put("liked", false);
252
         result.put("liked", false);
253
         result.put("unReadNum", 0);
253
         result.put("unReadNum", 0);
254
         result.put("projects", buildings);
254
         result.put("projects", buildings);
255
-        result.put("address", person.getAddress());
255
+        result.put("address", user.getAddress());
256
         result.put("personTags",person.getPersonTags());
256
         result.put("personTags",person.getPersonTags());
257
         result.put("posters",taPosterService.getPostersForTarget(user.getUserId().toString(),CommConstant.POSTER_CONTENT_TYPE_PERSON));
257
         result.put("posters",taPosterService.getPostersForTarget(user.getUserId().toString(),CommConstant.POSTER_CONTENT_TYPE_PERSON));
258
         result.put("shareContent",taShareContentService.getPostersForTarget(user.getUserId().toString(),CommConstant.POSTER_CONTENT_TYPE_PERSON));
258
         result.put("shareContent",taShareContentService.getPostersForTarget(user.getUserId().toString(),CommConstant.POSTER_CONTENT_TYPE_PERSON));