Parcourir la source

Merge branch 'v3.5.1' of http://git.ycjcjy.com/zhiyuxing/estateagents into v3.5.1

weiximei il y a 5 ans
Parent
révision
5adfc7aef4

+ 10
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java Voir le fichier

495
      * 户型图
495
      * 户型图
496
      */
496
      */
497
     public static final String BUILDING_IMG_APARMENT = "aparment";
497
     public static final String BUILDING_IMG_APARMENT = "aparment";
498
+    
499
+    /**
500
+     * 高德地图url
501
+     */
502
+	public static final String AMAP_HTTP = "https://restapi.amap.com/v3/geocode/regeo";
503
+    
504
+    /**
505
+     * 高德地图key
506
+     */
507
+    public static final String AMAP_KEY = "14f05ce59c26364fd0674014dc0d8b1b";
498
 }
508
 }

+ 7
- 1
src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java Voir le fichier

245
         try{
245
         try{
246
             Integer orgId = getOrgId(request);
246
             Integer orgId = getOrgId(request);
247
             Integer sumPoints = taPersonService.sumPointsByOrgId(orgId);
247
             Integer sumPoints = taPersonService.sumPointsByOrgId(orgId);
248
+            sumPoints = sumPoints == null ? 0 : sumPoints;
248
             QueryWrapper<TaPerson> taPersonWrapper = new QueryWrapper<>();
249
             QueryWrapper<TaPerson> taPersonWrapper = new QueryWrapper<>();
249
             taPersonWrapper.eq("org_id", orgId);
250
             taPersonWrapper.eq("org_id", orgId);
250
             Integer personNum = taPersonService.count(taPersonWrapper);
251
             Integer personNum = taPersonService.count(taPersonWrapper);
251
             TaShareActivity taShareActivity = new TaShareActivity();
252
             TaShareActivity taShareActivity = new TaShareActivity();
252
-            taShareActivity.setAverageScore(sumPoints/personNum);
253
+            if (personNum == 0){
254
+                taShareActivity.setAverageScore(0);
255
+            }else{
256
+                taShareActivity.setAverageScore(sumPoints/personNum);
257
+            }
258
+
253
             responseBean.addSuccess(taShareActivity);
259
             responseBean.addSuccess(taShareActivity);
254
         }catch (Exception e){
260
         }catch (Exception e){
255
             e.printStackTrace();
261
             e.printStackTrace();

+ 18
- 0
src/main/java/com/huiju/estateagents/controller/TdCityController.java Voir le fichier

171
         }
171
         }
172
         return responseBean;
172
         return responseBean;
173
     }
173
     }
174
+    
175
+    /**
176
+     * 根据经纬度查询城市ID
177
+     * 经度在前,纬度在后,经纬度间以“,”分割,经纬度小数点后不要超过 6 位
178
+     * @return
179
+     */
180
+    @RequestMapping(value="/wx/location/city",method= RequestMethod.GET)
181
+    public ResponseBean wxLocationCityDetail(@RequestParam(value = "location") String location,HttpServletRequest request){
182
+        ResponseBean responseBean = new ResponseBean();
183
+        try {
184
+            TdCity tdCity = iTdCityService.getLocationCity(location);
185
+            responseBean.addSuccess(tdCity);
186
+        }catch (Exception e){
187
+            logger.error("tdCityList -=- {}",e.toString());
188
+            responseBean.addError(e.getMessage());
189
+        }
190
+        return responseBean;
191
+    }
174
 }
192
 }

+ 2
- 1
src/main/java/com/huiju/estateagents/job/CustomerStatisticTimeJob.java Voir le fichier

42
      *
42
      *
43
      * 开启定时任务,每天23:50执行
43
      * 开启定时任务,每天23:50执行
44
      */
44
      */
45
-    @Scheduled(cron = "00 50 23 * * ?")
45
+    //@Scheduled(cron = "00 50 23 * * ?")
46
+    @Scheduled(cron = "* 0/2 * * * ?")
46
     private void configureTasks() {
47
     private void configureTasks() {
47
         LocalDateTime nowDate = LocalDateTime.now();
48
         LocalDateTime nowDate = LocalDateTime.now();
48
     
49
     

+ 7
- 0
src/main/java/com/huiju/estateagents/service/ITdCityService.java Voir le fichier

19
 
19
 
20
     // 微信端城市
20
     // 微信端城市
21
     List<TdCity> selectWxCity(String leveltype,Integer orgId);
21
     List<TdCity> selectWxCity(String leveltype,Integer orgId);
22
+	
23
+	/**
24
+	 * 根据经纬度获取城市详情信息
25
+	 * @param location
26
+	 * @return
27
+	 */
28
+	TdCity getLocationCity(String location);
22
 }
29
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java Voir le fichier

378
         taBuildingQuery.gt("status",-1);
378
         taBuildingQuery.gt("status",-1);
379
         int orgNum= taBuildingMapper.selectCount(taBuildingQuery);
379
         int orgNum= taBuildingMapper.selectCount(taBuildingQuery);
380
         if (orgNum >= taOrg.getBuildingNum()){
380
         if (orgNum >= taOrg.getBuildingNum()){
381
-            return ResponseBean.error("楼盘已超过最大限制", ResponseBean.ERROR_UNAVAILABLE);
381
+            return ResponseBean.error("当前系统仅供维护"+taOrg.getBuildingNum()+"个项目,需要维护更多项目,请联系相关管理人员", ResponseBean.ERROR_UNAVAILABLE);
382
         }
382
         }
383
 
383
 
384
         TaBuilding building = object.toJavaObject(TaBuilding.class);
384
         TaBuilding building = object.toJavaObject(TaBuilding.class);

+ 31
- 1
src/main/java/com/huiju/estateagents/service/impl/TdCityServiceImpl.java Voir le fichier

1
 package com.huiju.estateagents.service.impl;
1
 package com.huiju.estateagents.service.impl;
2
 
2
 
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
+import com.huiju.estateagents.common.CommConstant;
4
 import com.huiju.estateagents.entity.TdCity;
7
 import com.huiju.estateagents.entity.TdCity;
5
 import com.huiju.estateagents.mapper.TaOrgCityMapper;
8
 import com.huiju.estateagents.mapper.TaOrgCityMapper;
6
 import com.huiju.estateagents.mapper.TdCityMapper;
9
 import com.huiju.estateagents.mapper.TdCityMapper;
7
 import com.huiju.estateagents.service.ITdCityService;
10
 import com.huiju.estateagents.service.ITdCityService;
8
 import org.springframework.beans.factory.annotation.Autowired;
11
 import org.springframework.beans.factory.annotation.Autowired;
9
 import org.springframework.stereotype.Service;
12
 import org.springframework.stereotype.Service;
13
+import org.springframework.web.client.RestTemplate;
10
 
14
 
11
 import java.util.List;
15
 import java.util.List;
12
 
16
 
33
         List<TdCity>  tdCityList= tdCityMapper.selectWxCity(orgId);
37
         List<TdCity>  tdCityList= tdCityMapper.selectWxCity(orgId);
34
         return tdCityList;
38
         return tdCityList;
35
     }
39
     }
36
-
40
+    
41
+    /**
42
+     * 根据经纬度获取城市详情信息
43
+     *
44
+     * @param location
45
+     * @return
46
+     */
47
+    @Override
48
+    public TdCity getLocationCity(String location) {
49
+        //获取高德地图的坐标
50
+        String amapString = CommConstant.AMAP_HTTP + "?location="+location+"&key=" + CommConstant.AMAP_KEY;
51
+        RestTemplate restTemplate = new RestTemplate();
52
+        String forObject = restTemplate.getForObject(amapString, String.class);
53
+        JSONObject jsonObject = JSONObject.parseObject(forObject);
54
+        //返回城市信息
55
+        if (jsonObject.getString("status").equals("1")){
56
+            JSONObject addressComponent = jsonObject.getJSONObject("regeocode").getJSONObject("addressComponent");
57
+            String citycode = addressComponent.getString("citycode");
58
+            QueryWrapper<TdCity> queryWrapper = new QueryWrapper<>();
59
+            queryWrapper.eq("citycode",citycode);
60
+            queryWrapper.eq("leveltype",2);
61
+            TdCity tdCity = tdCityMapper.selectOne(queryWrapper);
62
+            return tdCity;
63
+        }
64
+        return null;
65
+    }
66
+    
37
 }
67
 }

+ 1
- 0
src/main/resources/mapper/statistic/TsCustomerStatisticDailyMapper.xml Voir le fichier

58
         AND customer_type = #{customerType}
58
         AND customer_type = #{customerType}
59
         AND date_format( create_date, '%Y-%m-%d' ) >= date_format( #{beforeDate}, '%Y-%m-%d' )
59
         AND date_format( create_date, '%Y-%m-%d' ) >= date_format( #{beforeDate}, '%Y-%m-%d' )
60
         AND date_format( create_date, '%Y-%m-%d' ) &lt;= date_format( #{nowDate}, '%Y-%m-%d' )
60
         AND date_format( create_date, '%Y-%m-%d' ) &lt;= date_format( #{nowDate}, '%Y-%m-%d' )
61
+        order by `day`
61
     </select>
62
     </select>
62
 </mapper>
63
 </mapper>

+ 1
- 0
src/main/resources/mapper/statistic/TsCustomerStatisticMonthlyMapper.xml Voir le fichier

54
         AND customer_type = #{customerType}
54
         AND customer_type = #{customerType}
55
         AND date_format( create_date, '%Y-%m-%d' ) >= date_format( #{beforeDate}, '%Y-%m-%d' )
55
         AND date_format( create_date, '%Y-%m-%d' ) >= date_format( #{beforeDate}, '%Y-%m-%d' )
56
         AND date_format( create_date, '%Y-%m-%d' ) &lt;= date_format( #{nowDate}, '%Y-%m-%d' )
56
         AND date_format( create_date, '%Y-%m-%d' ) &lt;= date_format( #{nowDate}, '%Y-%m-%d' )
57
+         order by `month`
57
     </select>
58
     </select>
58
 </mapper>
59
 </mapper>

+ 30
- 0
src/test/java/com/huiju/estateagents/TdCityServiceImplTest.java Voir le fichier

1
+package com.huiju.estateagents;
2
+
3
+import com.huiju.estateagents.entity.TdCity;
4
+import com.huiju.estateagents.service.ITdCityService;
5
+import org.junit.Assert;
6
+import org.junit.Test;
7
+import org.junit.runner.RunWith;
8
+import org.springframework.beans.factory.annotation.Autowired;
9
+import org.springframework.boot.test.context.SpringBootTest;
10
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
11
+import org.springframework.transaction.annotation.Transactional;
12
+
13
+
14
+@RunWith(SpringJUnit4ClassRunner.class)
15
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
16
+@Transactional
17
+public class TdCityServiceImplTest {
18
+	
19
+	@Autowired
20
+	private ITdCityService iTdCityService;
21
+	
22
+	@Test
23
+	public void getLocationCity() {
24
+		TdCity locationCity = iTdCityService.getLocationCity("116.310003,39.991957");
25
+		//断言 对象不为null
26
+		Assert.assertNotNull(locationCity);
27
+		//断言获取的是北京市
28
+		Assert.assertEquals("北京市",locationCity.getName());
29
+	}
30
+}