Browse Source

Merge branches 'dev1.0' and 'dev1.0-authlogin' of http://121.42.41.42:7070/r/epmet-cloud into dev1.0-authlogin

master
yinzuomei 6 years ago
parent
commit
5e797af516
  1. 6
      epmet-gateway/pom.xml
  2. 3
      epmet-gateway/src/main/resources/bootstrap.yml
  3. 5
      epmet-module/epmet-demo/epmet-demo-server/pom.xml
  4. 1
      epmet-module/epmet-demo/epmet-demo-server/src/main/java/com/epmet/controller/DemoController.java
  5. 1
      epmet-module/epmet-demo/epmet-demo-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
  6. 10
      epmet-module/epmet-demo/epmet-demo-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
  7. 1
      epmet-module/epmet-demo/epmet-demo-server/src/main/java/com/epmet/service/DemoService.java
  8. 8
      epmet-module/epmet-message/pom.xml
  9. 29
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CustomerGridFormDTO.java
  10. 38
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ListCustomerGridFormDTO.java
  11. 31
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridForStrangerResultDTO.java
  12. 7
      epmet-module/gov-org/gov-org-server/pom.xml
  13. 28
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
  14. 94
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PdmanDbVersionController.java
  15. 41
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
  16. 20
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/exception/ModuleErrorCode.java
  17. 21
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
  18. 95
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/PdmanDbVersionService.java
  19. 54
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  20. 104
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PdmanDbVersionServiceImpl.java
  21. 102
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  22. 13
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/PdmanDbVersionDao.xml
  23. 25
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/constant/OperCustomizeConstant.java
  24. 34
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerHomeFormDTO.java
  25. 21
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/HomeController.java
  26. 3
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDetailDao.java
  27. 9
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/HomeService.java
  28. 36
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java
  29. 25
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml
  30. 64
      epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/CustomerGridListQueryDTO.java
  31. 111
      epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/StrangerAccessRecordDTO.java
  32. 61
      epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/form/CustomerGridListFormDTO.java
  33. 33
      epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/form/StrangerFormDTO.java
  34. 18
      epmet-module/resi-guide/resi-guide-server/pom.xml
  35. 89
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/StrangerAccessRecordController.java
  36. 94
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/StrangerResiGuideController.java
  37. 18
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/dao/StrangerAccessRecordDao.java
  38. 44
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/entity/StrangerAccessRecordEntity.java
  39. 71
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/excel/StrangerAccessRecordExcel.java
  40. 28
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  41. 39
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
  42. 27
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java
  43. 24
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
  44. 32
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignFallBack.java
  45. 23
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/fallback/OperCustomizeFeignClientFallBack.java
  46. 110
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/StrangerAccessRecordService.java
  47. 211
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java
  48. 2
      epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml
  49. 159
      epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml
  50. 43
      epmet-module/resi-guide/resi-guide-server/src/main/resources/mapper/StrangerAccessRecordDao.xml
  51. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GridVisitedDTO.java
  52. 51
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitedFormDTO.java
  53. 6
      epmet-user/epmet-user-server/pom.xml
  54. 1
      epmet-user/epmet-user-server/src/main/java/com/epmet/UserApplication.java
  55. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridVisitedController.java
  56. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridLatestDao.java
  57. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridVisitedDao.java
  58. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/GridVisitedEntity.java
  59. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/GridVisitedExcel.java
  60. 27
      epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
  61. 23
      epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
  62. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridLatestService.java
  63. 22
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridVisitedService.java
  64. 32
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridLatestServiceImpl.java
  65. 76
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java
  66. 29
      epmet-user/epmet-user-server/src/main/resources/mapper/GridLatestDao.xml
  67. 32
      epmet-user/epmet-user-server/src/main/resources/mapper/GridVisitedDao.xml

6
epmet-gateway/pom.xml

@ -143,7 +143,7 @@
<!-- 12、居民端陌生人导览 -->
<!-- <gateway.routes.resi-guide-server.uri>lb://oper-crm-server</gateway.routes.resi-guide-server.uri>-->
<gateway.routes.resi-guide-server.uri>http://127.0.0.1:8091</gateway.routes.resi-guide-server.uri>
<!-- 13、gov-org 数据网格库 原epmet-business -->
<!-- 13、政府组织管理 -->
<!-- <gateway.routes.gov-org-server.uri>lb://gov-org-server</gateway.routes.gov-org-server.uri>-->
<gateway.routes.gov-org-server.uri>http://127.0.0.1:8092</gateway.routes.gov-org-server.uri>
<!-- 14、#运营端访问权限控制 -->
@ -196,8 +196,8 @@
<!-- 11、运营端客户定制化服务 -->
<gateway.routes.oper-crm-server.uri>lb://oper-crm-server</gateway.routes.oper-crm-server.uri>
<!-- 12、居民端陌生人导览 -->
<gateway.routes.resi-guide-server.uri>lb://resi-guid-server</gateway.routes.resi-guide-server.uri>
<!-- 13、gov-org 数据网格库 原epmet-business -->
<gateway.routes.resi-guide-server.uri>lb://resi-guide-server</gateway.routes.resi-guide-server.uri>
<!-- 13、政府组织管理 -->
<gateway.routes.gov-org-server.uri>lb://gov-org-server</gateway.routes.gov-org-server.uri>
<!-- 14、#运营端访问权限控制 -->
<gateway.routes.oper-access-server.uri>lb://oper-access-server</gateway.routes.oper-access-server.uri>

3
epmet-gateway/src/main/resources/bootstrap.yml

@ -127,6 +127,7 @@ spring:
- Path=${server.servlet.context-path}/resi/guide/**
filters:
- StripPrefix=1
- CpAuth=true
#政府端组织管理
- id: gov-org-server
uri: @gateway.routes.gov-org-server.uri@
@ -179,6 +180,7 @@ renren:
- /epmetuser/**
- /gov/org/**
- /oper/access/**
- /resi/guide/**
management:
endpoints:
web:
@ -239,6 +241,7 @@ epmet:
- /epmetuser/**
- /gov/org/**
- /oper/access/**
- /resi/guide/**
swaggerUrls:
jwt:

5
epmet-module/epmet-demo/epmet-demo-server/pom.xml

@ -67,6 +67,11 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-user-server</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
<build>

1
epmet-module/epmet-demo/epmet-demo-server/src/main/java/com/epmet/controller/DemoController.java

@ -180,4 +180,5 @@ public class DemoController {
public Result<UserDetail> getSysUserInfoById(@RequestParam("id") Long id) {
return demoService.getSysUserInfoById(id);
}
}

1
epmet-module/epmet-demo/epmet-demo-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java

@ -17,4 +17,5 @@ import org.springframework.web.bind.annotation.PathVariable;
public interface GovOrgFeignClient {
@GetMapping("gov/org/customergrid/getcustomergrid/{id}")
Result<CustomerGridDTO> getcustomergrid(@PathVariable("id") String id);
}

10
epmet-module/epmet-demo/epmet-demo-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java

@ -14,8 +14,8 @@ import org.springframework.stereotype.Component;
*/
@Component
public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
@Override
public Result<CustomerGridDTO> getcustomergrid(String id) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getcustomergrid",id);
}
}
@Override
public Result<CustomerGridDTO> getcustomergrid(String id) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getcustomergrid",id);
}
}

1
epmet-module/epmet-demo/epmet-demo-server/src/main/java/com/epmet/service/DemoService.java

@ -154,4 +154,5 @@ public interface DemoService extends BaseService<DemoEntity> {
* @Date 2020/3/20 9:37
**/
Result<UserDetail> getSysUserInfoById(Long id);
}

8
epmet-module/epmet-message/pom.xml

@ -4,10 +4,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-module</artifactId>
<version>2.0.0</version>
</parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-module</artifactId>
<version>2.0.0</version>
</parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-message</artifactId>

29
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/PdmanDbVersionDTO.java → epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CustomerGridFormDTO.java

@ -15,37 +15,28 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto;
package com.epmet.dto.form;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-16
* epmet-user端调用gov-org端的入参
* @author sun
*/
@Data
public class PdmanDbVersionDTO implements Serializable {
public class CustomerGridFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
private String dbVersion;
/**
*
* 网格Id
*/
private String versionDesc;
@NotBlank(message = "网格ID不能为空")
private String gridId;
/**
*
*/
private String createdTime;
}

38
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ListCustomerGridFormDTO.java

@ -0,0 +1,38 @@
package com.epmet.dto.form;/**
* Created by 11 on 2020/3/19.
*/
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 陌生人导览查询附近网格传参定义
* @ClassName ListCustomerGridFormDTO
* @Author wangc
* @date 2020.03.19 15:00
*/
@Data
public class ListCustomerGridFormDTO implements Serializable{
private static final long serialVersionUID = -1L;
/**
* 地区编码城市区县
* */
@NotBlank(message = "地区码不能为空")
private String areaCode;
/**
* 当前页
* */
@Min(value = 1)
private Integer pageNo;
/**
* 每页显示数量
* */
private Integer pageSize = 20;
}

31
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridForStrangerResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 陌生人搜索网格返回结果
* @ClassName CustomerGridForStrangerResultDTO
* @Author wangc
* @date 2020.03.19 00:38
*/
@Data
public class CustomerGridForStrangerResultDTO implements Serializable {
private static final long serialVersionUID = -1L;
/**
* 网格ID
* */
private String gridId;
/**
* 客户ID
* */
private String customerId;
/**
* 网格名称
* */
private String gridName;
}

7
epmet-module/gov-org/gov-org-server/pom.xml

@ -54,6 +54,13 @@
<artifactId>feign-httpclient</artifactId>
<version>10.3.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-org-client</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
<build>

28
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java

@ -26,6 +26,9 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.excel.CustomerGridExcel;
import com.epmet.service.CustomerGridService;
import org.springframework.beans.factory.annotation.Autowired;
@ -91,6 +94,31 @@ public class CustomerGridController {
ExcelUtils.exportExcelToTarget(response, null, list, CustomerGridExcel.class);
}
/**
* 供epmet-user服务调用 查询客户网格表数据
* @author sun
* @param formDTO
* @return
* @throws Exception
*/
@PostMapping("getcustomergridbygridid")
public Result<CustomerGridDTO> getCustomerGridByGridId(@RequestBody CustomerGridFormDTO formDTO) {
return customerGridService.getCustomerGridByGridId(formDTO);
}
/**
* @Description 陌生人导览模块调用 根据陌生揽客传入的地区码进行分页查询显示
* @Param ListCustomerGridFormDTO
* @return Result<List<CustomerGridForStrangerResultDTO>>
* @Author wangc
* @Date 2020.03.19 15:23
**/
@PostMapping("queryListForStrangerByOrder")
public Result<List<CustomerGridForStrangerResultDTO>> queryListForStrangerByOrder(@RequestBody ListCustomerGridFormDTO listCustomerGridFormDTO ){
ValidatorUtils.validateEntity(listCustomerGridFormDTO);
return customerGridService.listGridForStrangerByOrder(listCustomerGridFormDTO);
}
@GetMapping("getcustomergrid/{id}")
public Result<CustomerGridDTO> getcustomergrid(@PathVariable("id") String id){
CustomerGridDTO data = customerGridService.get(id);

94
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PdmanDbVersionController.java

@ -1,94 +0,0 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.controller;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.PdmanDbVersionDTO;
import com.epmet.excel.PdmanDbVersionExcel;
import com.epmet.service.PdmanDbVersionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-16
*/
@RestController
@RequestMapping("pdmandbversion")
public class PdmanDbVersionController {
@Autowired
private PdmanDbVersionService pdmanDbVersionService;
@GetMapping("page")
public Result<PageData<PdmanDbVersionDTO>> page(@RequestParam Map<String, Object> params){
PageData<PdmanDbVersionDTO> page = pdmanDbVersionService.page(params);
return new Result<PageData<PdmanDbVersionDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<PdmanDbVersionDTO> get(@PathVariable("id") String id){
PdmanDbVersionDTO data = pdmanDbVersionService.get(id);
return new Result<PdmanDbVersionDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody PdmanDbVersionDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
pdmanDbVersionService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody PdmanDbVersionDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
pdmanDbVersionService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
pdmanDbVersionService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<PdmanDbVersionDTO> list = pdmanDbVersionService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, PdmanDbVersionExcel.class);
}
}

41
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java

@ -18,8 +18,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.entity.CustomerGridEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 客户网格表
@ -29,5 +37,36 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
/**
* @Description 查特定区的网格
* @Param areaCode
* @return CustomerGridForStrangerResultDTO
* @Author wangc
* @Date 2020.03.19 15:53
**/
List<CustomerGridForStrangerResultDTO> selectGridByAreaCode(@Param("areaCode")String areaCode);
/**
* @Description 查整个城市的网格
* @Param areaCode
* @return CustomerGridForStrangerResultDTO
* @Author wangc
* @Date 2020.03.19 15:53
**/
List<CustomerGridForStrangerResultDTO> selectGridByCityLike(ListCustomerGridFormDTO listCustomerGridFormDTO);
/**
* @Description 指定区时查询当前城市下除该区之外其余的网格
* @Param areaCode
* @Param cityCode
* @return CustomerGridForStrangerResultDTO
* @Author wangc
* @Date 2020.03.19 15:53
**/
List<CustomerGridForStrangerResultDTO> selectRestGridWithoutGivenAreaCode(Map<String,Object> paramsMap);
CustomerGridDTO getCustomerGridByGridId(CustomerGridFormDTO formDTO);
}

20
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/exception/ModuleErrorCode.java

@ -0,0 +1,20 @@
package com.epmet.exception;
import com.epmet.commons.tools.exception.ErrorCode;
/**
* 模块错误编码由9位数字组成前6位为模块编码后3位为业务编码
* <p>
* 100001001100001代表模块001代表业务代码
* </p>
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public interface ModuleErrorCode extends ErrorCode {
int ARGS_NOT_ALLOW_NULL_ERROR = 100019001;
int NOT_STANDARD_AREA_CODE_ERROR = 100019002;
}

21
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java

@ -19,7 +19,11 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.entity.CustomerGridEntity;
import java.util.List;
@ -92,4 +96,21 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
* @date 2020-03-16
*/
void delete(String[] ids);
/**
* 陌生人查询附近网格数据
* 不管传递的areaCode是市级还是县级都查询整个城市的网格信息需要特定的排序
* @param
* @return Result<List<CustomerGridForStrangerResultDTO>>
* @author wangc
* @date 2020-03-16
* */
Result<List<CustomerGridForStrangerResultDTO>> listGridForStrangerByOrder(ListCustomerGridFormDTO listCustomerGridFormDTO);
/** 根据网格Id查询用户数据
* @param formDTO
* @return
* @date 2020-03-17
*/
Result<CustomerGridDTO> getCustomerGridByGridId(CustomerGridFormDTO formDTO);
}

95
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/PdmanDbVersionService.java

@ -1,95 +0,0 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.PdmanDbVersionDTO;
import com.epmet.entity.PdmanDbVersionEntity;
import java.util.List;
import java.util.Map;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-16
*/
public interface PdmanDbVersionService extends BaseService<PdmanDbVersionEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<PdmanDbVersionDTO>
* @author generator
* @date 2020-03-16
*/
PageData<PdmanDbVersionDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<PdmanDbVersionDTO>
* @author generator
* @date 2020-03-16
*/
List<PdmanDbVersionDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return PdmanDbVersionDTO
* @author generator
* @date 2020-03-16
*/
PdmanDbVersionDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-03-16
*/
void save(PdmanDbVersionDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-03-16
*/
void update(PdmanDbVersionDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-03-16
*/
void delete(String[] ids);
}

54
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -23,9 +23,14 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.CustomerGridDao;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.entity.CustomerGridEntity;
import com.epmet.redis.CustomerGridRedis;
import com.epmet.service.CustomerGridService;
import org.apache.commons.lang3.StringUtils;
@ -34,11 +39,12 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 客户网格表
* 客户网格表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-16
@ -101,4 +107,48 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}
@Override
public Result<List<CustomerGridForStrangerResultDTO>> listGridForStrangerByOrder(ListCustomerGridFormDTO listCustomerGridFormDTO) {
Result<List<CustomerGridForStrangerResultDTO>> result = new Result<>();
String areaCode = listCustomerGridFormDTO.getAreaCode();
listCustomerGridFormDTO.setPageNo((listCustomerGridFormDTO.getPageNo() - 1) * listCustomerGridFormDTO.getPageSize());
if(areaCode.endsWith("00")){
//城市 - 查全部
listCustomerGridFormDTO.setAreaCode(areaCode.substring(0,areaCode.length()-2));
List<CustomerGridForStrangerResultDTO> gridList
= baseDao.selectGridByCityLike(listCustomerGridFormDTO);
result.setData(gridList);
result.setCode(0);
return result;
}else{
//行政区
Map<String,Object> map = new HashMap<>();
map.put("areaCode",areaCode);
map.put("cityCode",areaCode.substring(0,areaCode.length()-2));
map.put("pageSize",listCustomerGridFormDTO.getPageSize());
map.put("pageNo",listCustomerGridFormDTO.getPageNo());
List<CustomerGridForStrangerResultDTO> gridListArea
= baseDao.selectRestGridWithoutGivenAreaCode(map);
result.setData(gridListArea);
return result;
}
}
@Override
public Result<CustomerGridDTO> getCustomerGridByGridId(CustomerGridFormDTO formDTO) {
return new Result<CustomerGridDTO>().ok(baseDao.getCustomerGridByGridId(formDTO));
}
}

104
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PdmanDbVersionServiceImpl.java

@ -1,104 +0,0 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.PdmanDbVersionDao;
import com.epmet.dto.PdmanDbVersionDTO;
import com.epmet.entity.PdmanDbVersionEntity;
import com.epmet.redis.PdmanDbVersionRedis;
import com.epmet.service.PdmanDbVersionService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-16
*/
@Service
public class PdmanDbVersionServiceImpl extends BaseServiceImpl<PdmanDbVersionDao, PdmanDbVersionEntity> implements PdmanDbVersionService {
@Autowired
private PdmanDbVersionRedis pdmanDbVersionRedis;
@Override
public PageData<PdmanDbVersionDTO> page(Map<String, Object> params) {
IPage<PdmanDbVersionEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, PdmanDbVersionDTO.class);
}
@Override
public List<PdmanDbVersionDTO> list(Map<String, Object> params) {
List<PdmanDbVersionEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, PdmanDbVersionDTO.class);
}
private QueryWrapper<PdmanDbVersionEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<PdmanDbVersionEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public PdmanDbVersionDTO get(String id) {
PdmanDbVersionEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, PdmanDbVersionDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(PdmanDbVersionDTO dto) {
PdmanDbVersionEntity entity = ConvertUtils.sourceToTarget(dto, PdmanDbVersionEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(PdmanDbVersionDTO dto) {
PdmanDbVersionEntity entity = ConvertUtils.sourceToTarget(dto, PdmanDbVersionEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

102
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml

@ -22,5 +22,107 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 根据区县地区码匹配到当前区县下所有网格 -->
<select id="selectGridByAreaCode" parameterType="java.lang.String" resultType="com.epmet.dto.result.CustomerGridForStrangerResultDTO">
SELECT
id AS grid_id,
customer_id,
grid_name
FROM
CUSTOMER_GRID
WHERE
AREA_CODE = #{areaCode}
ORDER BY
customer_id,
CONVERT ( grid_name USING gbk ) ASC
</select>
<select id="getCustomerGridByGridId" parameterType="com.epmet.dto.form.CustomerGridFormDTO"
resultType="com.epmet.dto.CustomerGridDTO">
SELECT
gr.id,
gr.customer_id,
gr.grid_name,
gr.grid_code,
gr.pid,
gr.pids,
gr.sort,
gr.longitude,
gr.latitude,
gr.area_code
FROM customer_grid gr
WHERE
gr.del_flag = '0'
<if test='gridId != "" and gridId != null'>
AND gr.id = #{gridId}
</if>
</select>
<!-- 根据城市地区码前四位匹配到城市下所有网格 -->
<select id="selectGridByCityLike" parameterType="com.epmet.dto.form.ListCustomerGridFormDTO" resultType="com.epmet.dto.result.CustomerGridForStrangerResultDTO">
SELECT
id AS grid_id,
customer_id,
grid_name
FROM
CUSTOMER_GRID
WHERE
AREA_CODE LIKE CONCAT(#{areaCode},'%')
ORDER BY
customer_id,
CONVERT ( grid_name USING gbk ) ASC
LIMIT #{pageNo}, #{pageSize}
</select>
<!-- 根据区县地区码匹配到该地区置顶其余区域在后这种特定排序的数据集 -->
<select id="selectRestGridWithoutGivenAreaCode" parameterType="map" resultType="com.epmet.dto.result.CustomerGridForStrangerResultDTO">
SELECT c.*
FROM
(
(
SELECT
a.id AS grid_id,
a.customer_id,
a.grid_name
FROM
CUSTOMER_GRID a
WHERE
a.area_code = #{areaCode}
ORDER BY
CONVERT ( a.grid_name USING gbk ) ASC
LIMIT 99999
)
UNION
(
SELECT
b.id AS grid_id,
b.customer_id,
b.grid_name
FROM
CUSTOMER_GRID b
WHERE
b.area_code LIKE CONCAT(#{cityCode},'%')
AND <![CDATA[ b.area_code <> #{areaCode}
]]>
ORDER BY
CONVERT ( b.grid_name USING gbk ) ASC
LIMIT 999999
)
) AS c
LIMIT #{pageNo}, #{pageSize}
</select>
</mapper>

13
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/PdmanDbVersionDao.xml

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.PdmanDbVersionDao">
<resultMap type="com.epmet.entity.PdmanDbVersionEntity" id="pdmanDbVersionMap">
<result property="dbVersion" column="DB_VERSION"/>
<result property="versionDesc" column="VERSION_DESC"/>
<result property="createdTime" column="CREATED_TIME"/>
</resultMap>
</mapper>

25
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/constant/OperCustomizeConstant.java

@ -0,0 +1,25 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.dto.constant;
/**
* 常量
* @author sun
* @since 1.0.0
*/
public interface OperCustomizeConstant {
/**
* 数据状态-已发布
*/
String STATUS = "0";
/**
* 数据状态-草稿
*/
String STATUS_ONE = "1";
}

34
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerHomeFormDTO.java

@ -0,0 +1,34 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 陌生人导览-点击网格链接获取客户首页配置入参DTO
* @Author sun
* @Date 2020/3/16 11:27
*/
@Data
public class CustomerHomeFormDTO implements Serializable {
private static final long serialVersionUID = 5272251336837515372L;
/**
* 客户ID
*/
@NotBlank(message = "客户ID不能为空")
private String customerId;
/**
* 所属端类型0.居民端1.政府端
*/
@NotBlank(message = "所属端类型不能为空(0居民端1政府端)")
private String clientType;
/**
* 状态0.已发布 1.草稿
*/
@NotBlank(message = "状态(0已发布1草稿)")
private String status;
}

21
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/HomeController.java

@ -2,14 +2,19 @@ package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.constant.OperCustomizeConstant;
import com.epmet.dto.form.ComponentListByCustomerFormDTO;
import com.epmet.dto.form.CustomerHomeFormDTO;
import com.epmet.dto.form.HomeDesignByCustomerFormDTO;
import com.epmet.dto.form.HomeDesignFormDTO;
import com.epmet.dto.result.ComponentListByCustomerResultDTO;
import com.epmet.dto.result.HomeDesignByCustomerResultDTO;
import com.epmet.service.HomeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description 客户定制化服务-首页相关接口
@ -76,4 +81,18 @@ public class HomeController {
homeService.distributeHomeDesign(formDTO);
return new Result();
}
/**
* 供resi-guide服务调用 获取客户首页配置
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.CustomerHomeFormDTO>
* @Author sun
* @Description 获取客户首页发布数据
**/
@PostMapping("gethomereleasebycustomer")
public Result<HomeDesignByCustomerResultDTO> getHomeReleaseByCustomer(@RequestBody CustomerHomeFormDTO formDTO) {
formDTO.setStatus(OperCustomizeConstant.STATUS);//已发布数据
ValidatorUtils.validateEntity(formDTO);
return homeService.getHomeReleaseByCustomer(formDTO);
}
}

3
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDetailDao.java

@ -18,6 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.CustomerHomeFormDTO;
import com.epmet.dto.form.HomeDesignByCustomerFormDTO;
import com.epmet.dto.result.CommonComponentDesignResultDTO;
import com.epmet.entity.CustomerHomeDetailEntity;
@ -49,4 +50,6 @@ public interface CustomerHomeDetailDao extends BaseDao<CustomerHomeDetailEntity>
* @date 2020/3/1714:02
*/
List<CommonComponentDesignResultDTO> getCustomerHomeDetailComponent(HomeDesignByCustomerFormDTO form);
List<CommonComponentDesignResultDTO> getHomeReleaseByCustomer(CustomerHomeFormDTO form);
}

9
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/HomeService.java

@ -2,6 +2,7 @@ package com.epmet.service;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ComponentListByCustomerFormDTO;
import com.epmet.dto.form.CustomerHomeFormDTO;
import com.epmet.dto.form.HomeDesignByCustomerFormDTO;
import com.epmet.dto.form.HomeDesignFormDTO;
import com.epmet.dto.result.ComponentListByCustomerResultDTO;
@ -48,4 +49,12 @@ public interface HomeService {
* @date: 2020/03/16 13:49:41
*/
void distributeHomeDesign(HomeDesignFormDTO formDTO);
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.CustomerHomeFormDTO>
* @Author sun
* @Description 获取客户首页发布数据
**/
Result<HomeDesignByCustomerResultDTO> getHomeReleaseByCustomer(CustomerHomeFormDTO formDTO);
}

36
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java

@ -5,10 +5,7 @@ import com.epmet.constant.ReginConstant;
import com.epmet.dao.CustomerHomeDao;
import com.epmet.dao.CustomerHomeDetailDao;
import com.epmet.dao.HomeComponentDao;
import com.epmet.dto.form.ComponentListByCustomerFormDTO;
import com.epmet.dto.form.HomeComponentFormDTO;
import com.epmet.dto.form.HomeDesignByCustomerFormDTO;
import com.epmet.dto.form.HomeDesignFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.CommonComponentDesignResultDTO;
import com.epmet.dto.result.ComponentListByCustomerResultDTO;
import com.epmet.dto.result.HomeDesignByCustomerResultDTO;
@ -115,4 +112,35 @@ public class HomeServiceImpl implements HomeService {
}
}
@Override
public Result<HomeDesignByCustomerResultDTO> getHomeReleaseByCustomer(CustomerHomeFormDTO formDTO) {
HomeDesignByCustomerResultDTO resultDTO = new HomeDesignByCustomerResultDTO();
//根据客户id,所属端获取客户首页配置的设计稿
List<CommonComponentDesignResultDTO> list = customerHomeDetailDao.getHomeReleaseByCustomer(formDTO);
List<CommonComponentDesignResultDTO> titlelist=new ArrayList<CommonComponentDesignResultDTO>();
List<CommonComponentDesignResultDTO> toplist=new ArrayList<CommonComponentDesignResultDTO>();
List<CommonComponentDesignResultDTO> functionlist=new ArrayList<CommonComponentDesignResultDTO>();
List<CommonComponentDesignResultDTO> floatlist=new ArrayList<CommonComponentDesignResultDTO>();
//List<String> usedComponent=new ArrayList<>();//使用过的组件集合
for(CommonComponentDesignResultDTO c:list){
//usedComponent.add(c.getComponentId());
//所属区域:0.标题区、1.置顶区、2.功能区、3.悬浮区
if(ReginConstant.titleList.equals(c.getRegion())){
titlelist.add(c);
}else if(ReginConstant.topList.equals(c.getRegion())){
toplist.add(c);
}else if(ReginConstant.functionList.equals(c.getRegion())){
functionlist.add(c);
}else if(ReginConstant.floatingList.equals(c.getRegion())){
floatlist.add(c);
}
}
resultDTO.setTitleList(titlelist);
resultDTO.setTopList(toplist);
resultDTO.setFloatingList(floatlist);
resultDTO.setFunctionList(functionlist);
//resultDTO.setUsedComponentIdList(usedComponent);
return new Result<HomeDesignByCustomerResultDTO>().ok(resultDTO);
}
}

25
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml

@ -57,4 +57,29 @@
WHERE
b.DEL_FLAG = 0 and c.DEL_FLAG=0
</select>
<!-- 客户发布列表查询 -->
<select id="getHomeReleaseByCustomer" parameterType="com.epmet.dto.form.CustomerHomeFormDTO"
resultType="com.epmet.dto.result.CommonComponentDesignResultDTO">
SELECT
b.COMPONENT_ID,
c.COMPONENT_NAME,
b.REGION,
b.CONFIGURATION,
b.DEMO_DATA,
b.DISPLAY_ORDER
FROM
(
SELECT
id
FROM
customer_home
WHERE DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND CLIENT_TYPE = #{clientType}
AND `STATUS` = #{status}
) a
INNER JOIN customer_home_detail b ON a.id = b.HOME_ID AND b.DEL_FLAG = '0'
LEFT JOIN home_component c ON b.COMPONENT_ID = c.id AND c.DEL_FLAG = '0'
</select>
</mapper>

64
epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/CustomerGridListQueryDTO.java

@ -0,0 +1,64 @@
package com.epmet.dto;/**
* Created by 11 on 2020/3/17.
*/
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @ClassName CustomerGridListQueryDTO
* @Author wangc
* @date 2020.03.17 13:45
*/
@Data
public class CustomerGridListQueryDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 当前页
* */
@Min(value = 1)
private Integer pageNo;
/**
* 每页数量
* */
private Integer pageSize = 20;
/**
* 地区码
* */
private String areaCode;
/**
* 选定地区编码
* */
private String selectedAreaCode;
/**
* 是否首次位置授权(0: 1:)
*/
private Integer isAuthorized;
/**
* 前端传递的省份
* */
@NotBlank(message = "省份信息不能为空")
private String province;
/**
* 前端传递的城市
* */
@NotBlank(message = "城市信息不能为空")
private String city;
/**
* 前端传递的地区
* */
private String area;
}

111
epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/StrangerAccessRecordDTO.java

@ -0,0 +1,111 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 陌生人访问记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-19
*/
@Data
public class StrangerAccessRecordDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 定位地区编码 (用户允许获取位置)
*/
private String locationAreaCode;
/**
* 选择地区编码 (用户选择地区位置
*/
private String lelectedAreaCode;
/**
* 省份
*/
private String province;
/**
* 城市
*/
private String city;
/**
* 城市
*/
private String area;
/**
* 是否首次位置授权(0: 1:)
*/
private Integer isAuthorized;
/**
* 网格数 根据位置查询到的附近网格数
*/
private Integer gridNumber;
/**
* 访问时间 访问的当前时间
*/
private Date visitTime;
/**
* 删除标识0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

61
epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/form/CustomerGridListFormDTO.java

@ -0,0 +1,61 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @ClassName CustomerGridListFormDTO
* @Author wangc
* @date 2020.03.19 14:19
*/
@Data
public class CustomerGridListFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 当前页
* */
@Min(value = 1)
private Integer pageNo;
/**
* 每页数量
* */
private Integer pageSize = 20;
/**
* 地区码
* */
private String areaCode;
/**
* 选定地区编码
* */
private String selectedAreaCode;
/**
* 是否首次位置授权(0: 1:)
*/
private Integer isAuthorized;
/**
* 前端传递的省份
* */
@NotBlank(message = "省份信息不能为空")
private String province;
/**
* 前端传递的城市
* */
@NotBlank(message = "城市信息不能为空")
private String city;
/**
* 前端传递的地区
* */
private String area;
}

33
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/PdmanDbVersionExcel.java → epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/form/StrangerFormDTO.java

@ -15,30 +15,33 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.excel;
package com.epmet.dto.form;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-16
* 居民端-网格链接获取客户首页配置入参
* @author sun
*/
@Data
public class PdmanDbVersionExcel {
@Excel(name = "")
private String dbVersion;
public class StrangerFormDTO implements Serializable {
@Excel(name = "")
private String versionDesc;
private static final long serialVersionUID = 1L;
@Excel(name = "")
private String createdTime;
/**
* 网格Id
*/
@NotBlank(message = "网格ID不能为空")
private String gridId;
/**
* 客户Id CUSTOMER.id
*/
@NotBlank(message = "客户ID不能为空")
private String customerId;
}

18
epmet-module/resi-guide/resi-guide-server/pom.xml

@ -58,6 +58,24 @@
<artifactId>feign-httpclient</artifactId>
<version>10.3.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-user-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-org-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>oper-customize-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

89
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/StrangerAccessRecordController.java

@ -0,0 +1,89 @@
package com.epmet.controller;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.StrangerAccessRecordDTO;
import com.epmet.dto.form.CustomerGridListFormDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.excel.StrangerAccessRecordExcel;
import com.epmet.service.StrangerAccessRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* @Description 陌生人导览模块
* @ClassName StrangerAccessRecordController
* @Author wangc
* @date 2020.03.17 11:33
*/
@RestController
@RequestMapping("strangerAccessRecord")
public class StrangerAccessRecordController {
@Autowired
private StrangerAccessRecordService strangerAccessRecordService;
/**
* 查询陌生人访问记录
* @Author yangshaoping
* @date 2020.03.1811:33
* */
@GetMapping("getStrangerAccessRecordPage")
public Result<PageData<StrangerAccessRecordDTO>> getStrangerAccessRecordPage(@RequestParam Map<String, Object> params){
PageData<StrangerAccessRecordDTO> page = strangerAccessRecordService.getStrangerAccessRecordPage(params);
return new Result<PageData<StrangerAccessRecordDTO>>().ok(page);
}
@GetMapping("page")
public Result<PageData<StrangerAccessRecordDTO>> page(@RequestParam Map<String, Object> params){
PageData<StrangerAccessRecordDTO> page = strangerAccessRecordService.page(params);
return new Result<PageData<StrangerAccessRecordDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<StrangerAccessRecordDTO> get(@PathVariable("id") String id){
StrangerAccessRecordDTO data = strangerAccessRecordService.get(id);
return new Result<StrangerAccessRecordDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody StrangerAccessRecordDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
strangerAccessRecordService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody StrangerAccessRecordDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
strangerAccessRecordService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
strangerAccessRecordService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<StrangerAccessRecordDTO> list = strangerAccessRecordService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, StrangerAccessRecordExcel.class);
}
}

94
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/StrangerResiGuideController.java

@ -0,0 +1,94 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CustomerGridListFormDTO;
import com.epmet.dto.form.StrangerFormDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.dto.result.HomeDesignByCustomerResultDTO;
import com.epmet.service.StrangerAccessRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 居民端-陌生人导览
* @author sun
* @since v1.0.0 2020-03-16
*/
@RestController
@RequestMapping("stranger")
public class StrangerResiGuideController {
@Autowired
private StrangerAccessRecordService strangerAccessRecordService;
/**
* @param
* @Author sun
* @Description 居民端-陌生人导览-网格链接获取客户首页配置
* @Date 2020/3/16
**/
@PostMapping("getgridhome")
public Result<HomeDesignByCustomerResultDTO> getValidCustomerList( @LoginUser TokenDto tokenDTO, @RequestBody StrangerFormDTO formDTO) throws Exception {
return strangerAccessRecordService.getgridhome(tokenDTO, formDTO);
}
/**
* @Description 陌生访客根据自动定位获取附近网格数据
* @Param CustomerGridListFormDTO
* @return Result<List<CustomerGridForStrangerResultDTO>>
* @Author wangc
* @Date 2020.03.19 14:13
**/
@PostMapping("getlocationcustomergridlist")
Result<List<CustomerGridForStrangerResultDTO>> getLocationCustomerGridList(@RequestBody CustomerGridListFormDTO customerGridListFormDTO){
ValidatorUtils.validateEntity(customerGridListFormDTO);
return strangerAccessRecordService.listCustomerGrid(customerGridListFormDTO);
}
/**
* @Description 陌生访客手动选定位置获取附近网格数据
* @Param CustomerGridListFormDTO
* @return Result<List<CustomerGridForStrangerResultDTO>>
* @Author wangc
* @Date 2020.03.19 14:13
**/
@PostMapping("getselectcdcustomergridlist")
Result<List<CustomerGridForStrangerResultDTO>> getSelectcdCustomerGridList(@RequestBody CustomerGridListFormDTO customerGridListFormDTO){
ValidatorUtils.validateEntity(customerGridListFormDTO);
return strangerAccessRecordService.listCustomerGrid(customerGridListFormDTO);
}
}

18
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/PdmanDbVersionDao.java → epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/dao/StrangerAccessRecordDao.java

@ -17,17 +17,27 @@
package com.epmet.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.PdmanDbVersionEntity;
import com.epmet.entity.StrangerAccessRecordEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
*
* 陌生人访问记录
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-16
*/
@Mapper
public interface PdmanDbVersionDao extends BaseDao<PdmanDbVersionEntity> {
public interface StrangerAccessRecordDao extends BaseDao<StrangerAccessRecordEntity> {
/**
* 查询陌生人访问记录
* @param params
* @author yangshaoping
* @date 2020-03-19
*/
List<StrangerAccessRecordEntity> getStrangerAccessRecordPage(Map<String, Object> params);
}

44
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/PdmanDbVersionEntity.java → epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/entity/StrangerAccessRecordEntity.java

@ -26,26 +26,56 @@ import lombok.EqualsAndHashCode;
import java.util.Date;
/**
*
* 陌生人访问记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-16
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("pdman_db_version")
public class PdmanDbVersionEntity extends BaseEpmetEntity {
@TableName("stranger_access_record")
public class StrangerAccessRecordEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
*
* 定位地区编码 (用户允许获取位置)
*/
private String dbVersion;
private String locationAreaCode;
/**
*
* 选择地区编码 (用户选择地区位置
*/
private String versionDesc;
private String selectedAreaCode;
/**
* 是否首次位置授权(0: 1:)
*/
private Integer isAuthorized;
/**
* 网格数 根据位置查询到的附近网格数
*/
private Integer gridNumber;
/**
* 访问时间 访问的当前时间
*/
private Date visitTime;
/**
* 省份
* */
private String province;
/**
* 城市
* */
private String city;
/**
* 地区
* */
private String area;
}

71
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/excel/StrangerAccessRecordExcel.java

@ -0,0 +1,71 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 陌生人访问记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-16
*/
@Data
public class StrangerAccessRecordExcel {
@Excel(name = "唯一标识")
private String id;
@Excel(name = "定位地区编码 (用户允许获取位置)")
private String locationAreaCode;
@Excel(name = "选择地区编码 (用户选择地区位置")
private String lelectedAreaCode;
@Excel(name = "是否首次位置授权(0:是 1:否)")
private Integer isAuthorized;
@Excel(name = "网格数 根据位置查询到的附近网格数")
private Integer gridNumber;
@Excel(name = "访问时间 访问的当前时间")
private Date visitTime;
@Excel(name = "删除标识:0.未删除 1.已删除")
private Integer delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
}

28
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -0,0 +1,28 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.VisitedFormDTO;
import com.epmet.feign.fallback.EpmetUserFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
* @Description 居民端陌生人导览 调用epmet-user服务
* @Author sun
*/
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class)
public interface EpmetUserFeignClient {
/**
* 保存或更新网格访问记录表和最近访问网格表数据
* @param
* @Description
**/
@PostMapping("/epmetuser/gridvisited/savelatestandvisited")
Result saveLatestAndVisited(VisitedFormDTO formDTO);
}

39
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java

@ -0,0 +1,39 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.feign.fallback.GovOrgFeignFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @Description Feign调用gov-org-server模块下的CustomerGirdController
* @ClassName GovOrgFeginFallBack
* @Author wangc
* @date 2020.03.17 14:29
*/
@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignFallBack.class)
public interface GovOrgFeignClient {
/**
* 根据地区编码获取附近网格数据
* @Param areaCode 地区编码
* @Param pageNo 当前页
* @Param pageSize 每页数据量
* */
@PostMapping("/gov/org/customergrid/queryListForStrangerByOrder")
Result<List<CustomerGridForStrangerResultDTO>> getPageForStrangerGuideInterface(@RequestBody ListCustomerGridFormDTO listCustomerGridFormDTO);
}

27
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java

@ -0,0 +1,27 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.CustomerHomeFormDTO;
import com.epmet.dto.result.HomeDesignByCustomerResultDTO;
import com.epmet.feign.fallback.OperCustomizeFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
* @Description 居民端陌生人导览 调用oper_customize服务
* @Author sun
* @Date 2020/3/16
*/
@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallback = OperCustomizeFeignClientFallBack.class)
public interface OperCustomizeFeignClient {
/**
* @param
* @Description 根据客户Id查询客户用户表数据
* @Date 2020/3/17
**/
@PostMapping("/oper/customize/home/gethomereleasebycustomer")
Result<HomeDesignByCustomerResultDTO> getHomeReleaseByCustomer(CustomerHomeFormDTO formDTO);
}

24
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java

@ -0,0 +1,24 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.VisitedFormDTO;
import com.epmet.feign.EpmetUserFeignClient;
import org.springframework.stereotype.Component;
/**
* @Description 居民端-陌生人导览 调用epmet-user服务
* @Author sun
* @Date 2020/3/16
*/
@Component
public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
@Override
public Result saveLatestAndVisited(VisitedFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveLatestAndVisited",formDTO);
}
}

32
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignFallBack.java

@ -0,0 +1,32 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.feign.GovOrgFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Description Feign
* @ClassName GovOrgFeginFallBack
* @Author wangc
* @date 2020.03.17 14:29
*/
@Component
public class GovOrgFeignFallBack implements GovOrgFeignClient {
/**
* 根据地区编码获取附近网格数据
* @Param ListCustomerGridFormDTO 包含地区编码页码每页数据量
* @return Result<List<CustomerGridForStrangerResultDTO>>
* */
@Override
public Result<List<CustomerGridForStrangerResultDTO>> getPageForStrangerGuideInterface(ListCustomerGridFormDTO listCustomerGridFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "queryListForStrangerByOrder",listCustomerGridFormDTO);
}
}

23
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/fallback/OperCustomizeFeignClientFallBack.java

@ -0,0 +1,23 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.CustomerHomeFormDTO;
import com.epmet.dto.result.HomeDesignByCustomerResultDTO;
import com.epmet.feign.OperCustomizeFeignClient;
import org.springframework.stereotype.Component;
/**
* @Description 居民端-陌生人导览 调用oper-customize服务
* @Author sun
* @Date 2020/3/16
*/
@Component
public class OperCustomizeFeignClientFallBack implements OperCustomizeFeignClient {
@Override
public Result<HomeDesignByCustomerResultDTO> getHomeReleaseByCustomer(CustomerHomeFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getHomeReleaseByCustomer",formDTO);
}
}

110
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/StrangerAccessRecordService.java

@ -0,0 +1,110 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.StrangerAccessRecordDTO;
import com.epmet.dto.form.CustomerGridListFormDTO;
import com.epmet.dto.form.StrangerFormDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.dto.result.HomeDesignByCustomerResultDTO;
import com.epmet.entity.StrangerAccessRecordEntity;
import java.util.List;
import java.util.Map;
/**
* @Description 陌生人记录访问表
* @InterfaceName ResiGuideServiceImpl
* @Author wangc
* @date 2020.03.17 13:01
*/
public interface StrangerAccessRecordService extends BaseService<StrangerAccessRecordEntity> {
/**
* 查询陌生人访问记录
* @param params
* @return PageData<StrangerAccessRecordDTO>
* @author yangshaoping
* @date 2020-03-19
*/
PageData<StrangerAccessRecordDTO> getStrangerAccessRecordPage(Map<String, Object> params);
/**
* 默认分页
*
* @param params
* @return PageData<StrangerAccessRecordDTO>
* @author generator
* @date 2020-03-19
*/
PageData<StrangerAccessRecordDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<StrangerAccessRecordDTO>
* @author generator
* @date 2020-03-19
*/
List<StrangerAccessRecordDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return StrangerAccessRecordDTO
* @author generator
* @date 2020-03-19
*/
StrangerAccessRecordDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-03-19
*/
void save(StrangerAccessRecordDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-03-19
*/
void update(StrangerAccessRecordDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-03-19
*/
void delete(String[] ids);
/**
* @Description 陌生人根据地区编码查询附近网格数据接口定义
* @Param CustomerGridListFormDTO
* @return Result<List<CustomerGridForStrangerResultDTO>>
* @Author wangc
* @Date 2020.03.19 14:28
**/
Result<List<CustomerGridForStrangerResultDTO>> listCustomerGrid(CustomerGridListFormDTO customerGridListFormDTO);
/**
* 居民端-网格链接获取客户首页配置
* @param
* @return void
* @author sun
*/
Result<HomeDesignByCustomerResultDTO> getgridhome(TokenDto tokenDTO, StrangerFormDTO formDTO);
}

211
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java

@ -0,0 +1,211 @@
package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.StrangerAccessRecordDao;
import com.epmet.dto.StrangerAccessRecordDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.dto.result.HomeDesignByCustomerResultDTO;
import com.epmet.entity.StrangerAccessRecordEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.feign.OperCustomizeFeignClient;
import com.epmet.service.StrangerAccessRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.tools.page.PageData;
import org.apache.commons.lang3.StringUtils;
import org.springframework.transaction.annotation.Transactional;
import java.util.Map;
/**
* @Description 陌生人记录访问表
* @ClassName ResiGuideServiceImpl
* @Author wangc
* @date 2020.03.17 13:01
*/
@Service
public class StrangerAccessRecordServiceImpl extends BaseServiceImpl<StrangerAccessRecordDao, StrangerAccessRecordEntity> implements StrangerAccessRecordService {
@Autowired
private StrangerAccessRecordDao strangerAccessRecordDao;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Autowired
private OperCustomizeFeignClient operCustomizeFeignClient;
/**
* 查询陌生人访问记录
* @param params
* @return PageData<StrangerAccessRecordDTO>
* @author yangshaoping
* @date 2020-03-19
*/
@Override
public PageData<StrangerAccessRecordDTO> getStrangerAccessRecordPage(Map<String, Object> params) {
List<StrangerAccessRecordEntity> list = strangerAccessRecordDao.getStrangerAccessRecordPage(params);
return getPageData(list,list.size(), StrangerAccessRecordDTO.class);
}
@Override
public PageData<StrangerAccessRecordDTO> page(Map<String, Object> params) {
IPage<StrangerAccessRecordEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, StrangerAccessRecordDTO.class);
}
@Override
public List<StrangerAccessRecordDTO> list(Map<String, Object> params) {
List<StrangerAccessRecordEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, StrangerAccessRecordDTO.class);
}
private QueryWrapper<StrangerAccessRecordEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<StrangerAccessRecordEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public StrangerAccessRecordDTO get(String id) {
StrangerAccessRecordEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, StrangerAccessRecordDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(StrangerAccessRecordDTO dto) {
StrangerAccessRecordEntity entity = ConvertUtils.sourceToTarget(dto, StrangerAccessRecordEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(StrangerAccessRecordDTO dto) {
StrangerAccessRecordEntity entity = ConvertUtils.sourceToTarget(dto, StrangerAccessRecordEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Description 陌生人根据地区编码查询附近网格数据具体实现
* @Param CustomerGridListFormDTO
* @return Result<List<CustomerGridForStrangerResultDTO>>
* @Author wangc
* @Date 2020.03.19 14:28
**/
@Override
public Result<List<CustomerGridForStrangerResultDTO>> listCustomerGrid(CustomerGridListFormDTO customerGridListFormDTO) {
ListCustomerGridFormDTO listCustomerGridFormDTO = new ListCustomerGridFormDTO();
listCustomerGridFormDTO.setAreaCode(0 == customerGridListFormDTO.getIsAuthorized() ?
customerGridListFormDTO.getSelectedAreaCode() : customerGridListFormDTO.getAreaCode());
listCustomerGridFormDTO.setPageNo(null == customerGridListFormDTO.getPageNo() ? 1 : customerGridListFormDTO.getPageNo());
listCustomerGridFormDTO.setPageSize(customerGridListFormDTO.getPageSize());
Result<List<CustomerGridForStrangerResultDTO>> queryResult =
govOrgFeignClient
.getPageForStrangerGuideInterface(listCustomerGridFormDTO);
//Feign调用成功
if(queryResult.success()) {
List<CustomerGridForStrangerResultDTO> queryList = queryResult.getData();
if (null != queryResult && queryList.size() > 0) {
StrangerAccessRecordEntity strangerTrance = new StrangerAccessRecordEntity();
//未授权,手动选择
if (0 == customerGridListFormDTO.getIsAuthorized()) {
strangerTrance.setSelectedAreaCode(customerGridListFormDTO.getSelectedAreaCode());
strangerTrance.setLocationAreaCode("");
} else if (1 == customerGridListFormDTO.getIsAuthorized()) {
//已授权,自动选择
strangerTrance.setLocationAreaCode(customerGridListFormDTO.getAreaCode());
strangerTrance.setSelectedAreaCode("");
}
strangerTrance.setIsAuthorized(customerGridListFormDTO.getIsAuthorized());
strangerTrance.setGridNumber(queryList.size());
strangerTrance.setVisitTime(new Date());
strangerTrance.setProvince(customerGridListFormDTO.getProvince());
strangerTrance.setCity(customerGridListFormDTO.getCity());
strangerTrance.setArea(customerGridListFormDTO.getArea());
insert(strangerTrance);
return new Result<List<CustomerGridForStrangerResultDTO>>().ok(queryList);
} else {
//没有查询出结果
return new Result<List<CustomerGridForStrangerResultDTO>>().ok(new ArrayList<>());
}
}else{
//Feign调用失败
return new Result<List<CustomerGridForStrangerResultDTO>>().error(queryResult.getCode(),queryResult.getMsg());
}
}
/**
* 居民端-网格链接获取客户首页配置
* @return void
* @author sun
*/
@Override
public Result<HomeDesignByCustomerResultDTO> getgridhome(TokenDto tokenDTO, StrangerFormDTO formDTO) {
//token里边有所属端 userId这些参数 前台传递customerID和gridId
//1:调用epmet-user服务查询数据 新建网格记录数据
VisitedFormDTO vi = new VisitedFormDTO();
vi.setGridId(formDTO.getGridId());
vi.setCustomerId(formDTO.getCustomerId());
vi.setUserId(tokenDTO.getUserId());//token中获取userId
epmetUserFeignClient.saveLatestAndVisited(vi);
//2:调用ope-customize服务 获取首页发布数据
Result<HomeDesignByCustomerResultDTO> res = getCustomerHomeData(formDTO.getCustomerId(),tokenDTO.getClient());
return res;
}
/**
* 调用oper-customize服务 获取首页发布数据
* @param customerId 客户Id
* @param clientType 所属端
* @return
* @author sun
*/
public Result<HomeDesignByCustomerResultDTO> getCustomerHomeData(String customerId,String clientType){
CustomerHomeFormDTO dto = new CustomerHomeFormDTO();
dto.setCustomerId(customerId);
dto.setClientType(clientType);//居民端
return operCustomizeFeignClient.getHomeReleaseByCustomer(dto);
}
}

2
epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml

@ -4,6 +4,8 @@ server:
context-path: /resi/guide
spring:
main:
allow-bean-definition-overriding: true
application:
name: resi-guide-server
#环境 dev|test|prod

159
epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<property name="log.path" value="logs/resi-guide"/>
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!--1. 输出到控制台-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>debug</level>
</filter>
<encoder>
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
<!-- 设置字符集 -->
<charset>UTF-8</charset>
</encoder>
</appender>
<!--2. 输出到文档-->
<!-- 2.1 level为 DEBUG 日志,时间滚动输出 -->
<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/debug.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset> <!-- 设置字符集 -->
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志归档 -->
<fileNamePattern>${log.path}/debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录debug级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>debug</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 2.2 level为 INFO 日志,时间滚动输出 -->
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/info.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 每天日志归档路径以及格式 -->
<fileNamePattern>${log.path}/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录info级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 2.3 level为 WARN 日志,时间滚动输出 -->
<appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/warn.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录warn级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 2.4 level为 ERROR 日志,时间滚动输出 -->
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/error.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录ERROR级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 开发、测试环境 -->
<springProfile name="dev,test">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.dao" level="INFO"/>
<logger name="com.epmet.dao" level="DEBUG"/>
<root level="INFO">
<appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/>
<appender-ref ref="WARN_FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
</springProfile>
<!-- 生产环境 -->
<springProfile name="prod">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.dao" level="INFO"/>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/>
<appender-ref ref="WARN_FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
</springProfile>
</configuration>

43
epmet-module/resi-guide/resi-guide-server/src/main/resources/mapper/StrangerAccessRecordDao.xml

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.StrangerAccessRecordDao">
<resultMap type="com.epmet.entity.StrangerAccessRecordEntity" id="strangerAccessRecordMap">
<result property="id" column="ID"/>
<result property="locationAreaCode" column="LOCATION_AREA_CODE"/>
<result property="selectedAreaCode" column="SELECTED_AREA_CODE"/>
<result property="isAuthorized" column="IS_AUTHORIZED"/>
<result property="gridNumber" column="GRID_NUMBER"/>
<result property="visitTime" column="VISIT_TIME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="province" column="PROVINCE" />
<result property="city" column="CITY" />
<result property="area" column="AREA" />
</resultMap>
<!-- 查询陌生人访问记录-->
<select id="getStrangerAccessRecordPage" resultMap="strangerAccessRecordMap">
SELECT
a.LOCATION_AREA_CODE,
a.PROVINCE,
a.CITY,
a.AREA,
a.IS_AUTHORIZED,
a.VISIT_TIME
FROM
stranger_access_record AS a
where a.DEL_FLAG=0 and date_sub(curdate(), interval 3 day) &lt;= a.VISIT_TIME
ORDER BY a.VISIT_TIME desc
</select>
</mapper>

5
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GridVisitedDTO.java

@ -58,11 +58,6 @@ public class GridVisitedDTO implements Serializable {
*/
private String customerUserId;
/**
* 是否首次位置授权(0: 1:)
*/
private Integer isAuthorized;
/**
* 访问时间 一个用户一天访问一个网格只有一条记录
*/

51
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/PdmanDbVersionRedis.java → epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitedFormDTO.java

@ -15,33 +15,38 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.redis;
package com.epmet.dto.form;
import com.epmet.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import lombok.Data;
/**
*
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-16
*/
@Component
public class PdmanDbVersionRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
}
public void set(){
}
/**
* 居民端-网格链接获取客户首页配置
* @author sun
*/
@Data
public class VisitedFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 网格Id
*/
@NotBlank(message = "网格ID不能为空")
private String gridId;
/**
* 客户Id CUSTOMER.id
*/
@NotBlank(message = "客户ID不能为空")
private String customerId;
/**
* 用户Id
*/
@NotBlank(message = "用户ID不能为空")
private String userId;
public String get(String id){
return null;
}
}

6
epmet-user/epmet-user-server/pom.xml

@ -64,6 +64,12 @@
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-org-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

1
epmet-user/epmet-user-server/src/main/java/com/epmet/UserApplication.java

@ -19,6 +19,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients

14
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridVisitedController.java

@ -23,9 +23,10 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.GridVisitedDTO;
import com.epmet.dto.form.VisitedFormDTO;
import com.epmet.excel.GridVisitedExcel;
import com.epmet.service.GridVisitedService;
import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +92,15 @@ public class GridVisitedController {
ExcelUtils.exportExcelToTarget(response, null, list, GridVisitedExcel.class);
}
/**
* 网格访问记录表最近访问网格表新增数据
* 网格访问记录表新增数据(一天一条)
* 最近访问表更新访问时间字段
* @param formDTO
*/
@PostMapping("savelatestandvisited")
public void saveLatestAndVisited(@RequestBody VisitedFormDTO formDTO) throws Exception {
gridVisitedService.saveLatestAndVisited(formDTO);
}
}

4
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridLatestDao.java

@ -18,6 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.GridLatestDTO;
import com.epmet.entity.GridLatestEntity;
import org.apache.ibatis.annotations.Mapper;
@ -29,5 +30,6 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface GridLatestDao extends BaseDao<GridLatestEntity> {
GridLatestEntity getGridLatestByIds(GridLatestDTO formDTO);
}

6
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridVisitedDao.java

@ -18,6 +18,9 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.GridLatestDTO;
import com.epmet.dto.GridVisitedDTO;
import com.epmet.entity.GridLatestEntity;
import com.epmet.entity.GridVisitedEntity;
import org.apache.ibatis.annotations.Mapper;
@ -29,5 +32,6 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface GridVisitedDao extends BaseDao<GridVisitedEntity> {
GridVisitedDTO getGridVisitedByIds(GridVisitedDTO formDTO);
}

5
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/GridVisitedEntity.java

@ -58,11 +58,6 @@ public class GridVisitedEntity extends BaseEpmetEntity {
*/
private String customerUserId;
/**
* 是否首次位置授权(0: 1:)
*/
private Integer isAuthorized;
/**
* 访问时间 一个用户一天访问一个网格只有一条记录
*/

3
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/GridVisitedExcel.java

@ -46,9 +46,6 @@ public class GridVisitedExcel {
@Excel(name = "用户Id")
private String customerUserId;
@Excel(name = "是否首次位置授权(0:否 1:是)")
private Integer isAuthorized;
@Excel(name = "访问时间 一个用户一天访问一个网格只有一条记录")
private Date visitTime;

27
epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java

@ -0,0 +1,27 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.feign.fallback.GovOrgFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
* @Description 居民端陌生人导览 调用gov-org服务
* @Author sun
* @Date 2020/3/16
*/
@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class)
public interface GovOrgFeignClient {
/**
* @param
* @Description 根据客户Id查询客户用户表数据
* @Date 2020/3/17
**/
@PostMapping("/gov/org/customergrid/getcustomergridbygridid")
Result<CustomerGridDTO> getCustomerGridByGridId(CustomerGridFormDTO formDTO);
}

23
epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java

@ -0,0 +1,23 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.feign.GovOrgFeignClient;
import org.springframework.stereotype.Component;
/**
* @Description 居民端-陌生人导览 调用gov-org服务
* @Author sun
* @Date 2020/3/16
*/
@Component
public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
@Override
public Result<CustomerGridDTO> getCustomerGridByGridId(CustomerGridFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getCustomerGridByGridId",formDTO);
}
}

8
epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridLatestService.java

@ -19,7 +19,9 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.GridLatestDTO;
import com.epmet.dto.form.VisitedFormDTO;
import com.epmet.entity.GridLatestEntity;
import java.util.List;
@ -92,4 +94,10 @@ public interface GridLatestService extends BaseService<GridLatestEntity> {
* @date 2020-03-16
*/
void delete(String[] ids);
/**
* 最近访问网格表新增数据
* @param formDTO
*/
void saveGridLatest(VisitedFormDTO formDTO, CustomerGridDTO cu);
}

22
epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridVisitedService.java

@ -19,7 +19,9 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.GridLatestDTO;
import com.epmet.dto.GridVisitedDTO;
import com.epmet.dto.form.VisitedFormDTO;
import com.epmet.entity.GridVisitedEntity;
import java.util.List;
@ -92,4 +94,24 @@ public interface GridVisitedService extends BaseService<GridVisitedEntity> {
* @date 2020-03-16
*/
void delete(String[] ids);
/**
* 网格访问记录表新增数据
* @param formDTO
*/
//void saveGridVisited(GridVisitedDTO formDTO);
/**
* @param formDTO
*/
void saveLatestAndVisited(VisitedFormDTO formDTO) throws Exception;
}

32
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridLatestServiceImpl.java

@ -24,7 +24,9 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.GridLatestDao;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.GridLatestDTO;
import com.epmet.dto.form.VisitedFormDTO;
import com.epmet.entity.GridLatestEntity;
import com.epmet.redis.GridLatestRedis;
import com.epmet.service.GridLatestService;
@ -34,6 +36,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -101,4 +104,33 @@ public class GridLatestServiceImpl extends BaseServiceImpl<GridLatestDao, GridLa
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void saveGridLatest(VisitedFormDTO formDTO, CustomerGridDTO cu) {
Date date = new Date();
GridLatestDTO la = new GridLatestDTO();
la.setCustomerId(cu.getCustomerId());
la.setGridId(cu.getId());
//la.setCustomerUserId(formDTO.getUserId());//token传递的值
la.setCustomerUserId("1111111111");//token传递的值
la.setAreaCode(cu.getAreaCode());
la.setPid(cu.getPid());
la.setLatestTime(date);
la.setUpdatedTime(date);
//查询是否存在历史数据(一个用户对一个网格的访问只记录一条数据)
GridLatestEntity dto = baseDao.getGridLatestByIds(la);
GridLatestEntity entity = null;
if(dto==null||dto.getId()==null){
entity = ConvertUtils.sourceToTarget(la, GridLatestEntity.class);
insert(entity);
}else{
entity = ConvertUtils.sourceToTarget(dto, GridLatestEntity.class);
entity.setLatestTime(date);//最近访问时间
entity.setUpdatedTime(date);
updateById(entity);
}
}
}

76
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java

@ -20,13 +20,18 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.GridVisitedDao;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.GridVisitedDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.VisitedFormDTO;
import com.epmet.entity.GridVisitedEntity;
import com.epmet.redis.GridVisitedRedis;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.service.GridLatestService;
import com.epmet.service.GridVisitedService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -34,6 +39,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -47,7 +53,9 @@ import java.util.Map;
public class GridVisitedServiceImpl extends BaseServiceImpl<GridVisitedDao, GridVisitedEntity> implements GridVisitedService {
@Autowired
private GridVisitedRedis gridVisitedRedis;
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private GridLatestService gridLatestService;
@Override
public PageData<GridVisitedDTO> page(Map<String, Object> params) {
@ -101,4 +109,66 @@ public class GridVisitedServiceImpl extends BaseServiceImpl<GridVisitedDao, Grid
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 网格记录表新增数据
* @author sun
* @param formDTO
* @throws Exception
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void saveLatestAndVisited(VisitedFormDTO formDTO) throws Exception {
//1:调用gov-org服务 查询客户网格表数据
CustomerGridFormDTO dto = new CustomerGridFormDTO();
dto.setGridId(formDTO.getGridId());
Result<CustomerGridDTO> result = govOrgFeignClient.getCustomerGridByGridId(dto);
if(!result.success()){
throw new Exception("查询客户网格表数据失败!");
}
CustomerGridDTO cu = result.getData();
//2:网格访问记录表新增数据
saveGridVisited(formDTO,cu);
//3:最近访问网格表新增数据
gridLatestService.saveGridLatest(formDTO,cu);
}
/**
* 网格记录表和最近访问网格表新增数据
* @param formDTO
* @param cu
*/
public void saveGridVisited(VisitedFormDTO formDTO,CustomerGridDTO cu) {
Date date = new Date();
GridVisitedDTO vi = new GridVisitedDTO();
vi.setIsRegister(getRegister("0"));//后续再其他服务中获取这个状态值
vi.setCustomerId(cu.getCustomerId());
vi.setGridId(cu.getId());
vi.setCustomerUserId(formDTO.getUserId());
vi.setVisitTime(date);
vi.setUpdatedTime(date);
//查询是否存在历史数据( 一个用户一天对一个网格只存在一条访问记录)
GridVisitedDTO dto = baseDao.getGridVisitedByIds(vi);
GridVisitedEntity entity = null;
if(dto==null||dto.getId()==null){
entity = ConvertUtils.sourceToTarget(vi, GridVisitedEntity.class);
insert(entity);
}else{
entity = ConvertUtils.sourceToTarget(dto, GridVisitedEntity.class);
entity.setUpdatedTime(date);
updateById(entity);
}
}
/**
* (预留方法)查询是否注册状态值
* @param str
* @return
*/
public Integer getRegister(String str){
return 0;
}
}

29
epmet-user/epmet-user-server/src/main/resources/mapper/GridLatestDao.xml

@ -19,5 +19,34 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="getGridLatestByIds" parameterType="com.epmet.dto.GridLatestDTO"
resultType="com.epmet.entity.GridLatestEntity">
SELECT
la.id,
la.customer_id,
la.grid_id,
la.customer_user_id,
la.area_code,
la.pid,
la.latest_time,
la.del_flag,
la.revision,
la.created_by,
la.created_time,
la.updated_by,
la.updated_time
FROM grid_latest la
WHERE
la.del_flag = '0'
<if test='customerId != "" and customerId != null'>
AND la.customer_id = #{customerId}
</if>
<if test='gridId != "" and gridId != null'>
AND la.grid_id = #{gridId}
</if>
<if test='customerUserId != "" and customerUserId != null'>
AND la.customer_user_id = #{customerUserId}
</if>
</select>
</mapper>

32
epmet-user/epmet-user-server/src/main/resources/mapper/GridVisitedDao.xml

@ -9,7 +9,6 @@
<result property="customerId" column="CUSTOMER_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="customerUserId" column="CUSTOMER_USER_ID"/>
<result property="isAuthorized" column="IS_AUTHORIZED"/>
<result property="visitTime" column="VISIT_TIME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
@ -19,5 +18,36 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="getGridVisitedByIds" parameterType="com.epmet.dto.GridVisitedDTO"
resultType="com.epmet.dto.GridVisitedDTO">
SELECT
vi.id,
vi.is_register,
vi.customer_id,
vi.grid_id,
vi.customer_user_id,
vi.visit_time,
vi.del_flag,
vi.revision,
vi.created_by,
vi.created_time,
vi.updated_by,
vi.updated_time
FROM grid_visited vi
WHERE
vi.del_flag = '0'
<if test='customerId != "" and customerId != null'>
AND vi.customer_id = #{customerId}
</if>
<if test='gridId != "" and gridId != null'>
AND vi.grid_id = #{gridId}
</if>
<if test='customerUserId != "" and customerUserId != null'>
AND vi.customer_user_id = #{customerUserId}
</if>
<if test='visitTime != null'>
AND to_days(vi.visit_time) = to_days(#{visitTime})
</if>
</select>
</mapper>
Loading…
Cancel
Save