diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitVisitorChartFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitVisitorChartFormDTO.java new file mode 100644 index 0000000000..aee3bdb042 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitVisitorChartFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 租客表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-07-26 + */ +@Data +public class VisitVisitorChartFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 时间 + */ + private String date; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitorInfoFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitorInfoFormDTO.java new file mode 100644 index 0000000000..4c1467a774 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitorInfoFormDTO.java @@ -0,0 +1,14 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class VisitorInfoFormDTO implements Serializable { + + private String userId; + + private String customerId; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VisitVisitorChartResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VisitVisitorChartResultDTO.java new file mode 100644 index 0000000000..7836d3a866 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VisitVisitorChartResultDTO.java @@ -0,0 +1,30 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 租客表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-07-26 + */ +@Data +public class VisitVisitorChartResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 时间 + */ + private String hour; + + /** + * 数量 + */ + private String num; + + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectVisitorController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectVisitorController.java index 60995a0211..2019de84d1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectVisitorController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectVisitorController.java @@ -1,7 +1,6 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; -import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; @@ -14,10 +13,8 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcResiCollectVisitorDTO; import com.epmet.dto.SaveCollectVisitorFormDTO; -import com.epmet.dto.form.CollectDetailFormDTO; -import com.epmet.dto.form.CollectListFormDTO; -import com.epmet.dto.form.VisitListFormDTO; -import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.VisitVisitorChartResultDTO; import com.epmet.excel.IcResiCollectVisitorExcel; import com.epmet.service.IcResiCollectVisitorService; import org.springframework.beans.factory.annotation.Autowired; @@ -42,7 +39,7 @@ public class IcResiCollectVisitorController { private IcResiCollectVisitorService icResiCollectVisitorService; @RequestMapping("page") - public Result> page(@RequestParam Map params){ + public Result> page(@RequestParam Map params) { // PageData page = icResiCollectVisitorService.page(params); PageData page = icResiCollectVisitorService.getPhrasePage(params); return new Result>().ok(page); @@ -52,6 +49,7 @@ public class IcResiCollectVisitorController { /** * Desc: 访客记录列表 + * * @param formDTO * @param tokenDto * @author wgf @@ -60,22 +58,22 @@ public class IcResiCollectVisitorController { @PostMapping("list") // @MaskResponse(fieldNames = { "memberIdNum", "memberMobile" }, // fieldsMaskType = { MaskResponse.MASK_TYPE_ID_CARD, MaskResponse.MASK_TYPE_MOBILE }) - public Result> getVisitorList(@RequestBody VisitListFormDTO formDTO, @LoginUser TokenDto tokenDto){ - ValidatorUtils.validateEntity(formDTO,CollectListFormDTO.CollectListForm.class); + public Result> getVisitorList(@RequestBody VisitListFormDTO formDTO, @LoginUser TokenDto tokenDto) { + ValidatorUtils.validateEntity(formDTO, CollectListFormDTO.CollectListForm.class); formDTO.setUserId(tokenDto.getUserId()); formDTO.setCustomerId(tokenDto.getCustomerId()); return new Result>().ok(icResiCollectVisitorService.getVisitorList(formDTO)); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id) { IcResiCollectVisitorDTO data = icResiCollectVisitorService.get(id); return new Result().ok(data); } @NoRepeatSubmit @PostMapping("save") - public Result save(@RequestBody IcResiCollectVisitorDTO dto){ + public Result save(@RequestBody IcResiCollectVisitorDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); icResiCollectVisitorService.save(dto); @@ -84,7 +82,7 @@ public class IcResiCollectVisitorController { @NoRepeatSubmit @PostMapping("update") - public Result update(@RequestBody IcResiCollectVisitorDTO dto){ + public Result update(@RequestBody IcResiCollectVisitorDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); icResiCollectVisitorService.update(dto); @@ -92,7 +90,7 @@ public class IcResiCollectVisitorController { } @PostMapping("delete") - public Result delete(@RequestBody String[] ids){ + public Result delete(@RequestBody String[] ids) { //效验数据 AssertUtils.isArrayEmpty(ids, "id"); icResiCollectVisitorService.delete(ids); @@ -106,32 +104,62 @@ public class IcResiCollectVisitorController { } /** - * @describe: 保存访客信息 - * @author wangtong - * @date 2022/8/3 10:33 - * @params [dto] - * @return com.epmet.commons.tools.utils.Result - */ + * @return com.epmet.commons.tools.utils.Result + * @describe: 保存访客信息 + * @author wangtong + * @date 2022/8/3 10:33 + * @params [dto] + */ @NoRepeatSubmit @PostMapping("saveInfo") - public Result saveInfo(@RequestBody SaveCollectVisitorFormDTO dto){ + public Result saveInfo(@RequestBody SaveCollectVisitorFormDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto); return icResiCollectVisitorService.saveInfo(dto); } /** - * @describe: 访客信息详情 - * @author wangtong - * @date 2022/8/3 15:41 - * @params [dto] - * @return com.epmet.commons.tools.utils.Result - */ + * @return com.epmet.commons.tools.utils.Result + * @describe: 访客信息详情 + * @author wangtong + * @date 2022/8/3 15:41 + * @params [dto] + */ @PostMapping("getVisitorDetail") public Result getVisitorDetail(@RequestBody CollectDetailFormDTO dto) { ValidatorUtils.validateEntity(dto); return icResiCollectVisitorService.getVisitorDetail(dto); } + /** + * 登陆访客用户信息 + * + * @param tokenDto + * @param dto + * @return com.epmet.commons.tools.utils.Result + * @author zhy + * @date 2022/8/19 15:24 + */ + @PostMapping("visitorinfo") + public Result getVisitorInfo(@LoginUser TokenDto tokenDto, @RequestBody VisitorInfoFormDTO dto) { + ValidatorUtils.validateEntity(dto); + return icResiCollectVisitorService.getVisitorInfo(tokenDto, dto); + } + + /** + * 访客折线图 + * + * @param dto + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/8/22 9:56 + */ + @NoRepeatSubmit + @PostMapping("chart/traffic") + public Result> getTraffic(@RequestBody VisitVisitorChartFormDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + return new Result>().ok(icResiCollectVisitorService.getTraffic(dto)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectVisitorDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectVisitorDao.java index acf3fe568c..f4ef4e0178 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectVisitorDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectVisitorDao.java @@ -2,9 +2,10 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.IcResiCollectVisitorDTO; -import com.epmet.dto.form.CollectListFormDTO; import com.epmet.dto.form.VisitListFormDTO; -import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.dto.form.VisitVisitorChartFormDTO; +import com.epmet.dto.form.VisitorInfoFormDTO; +import com.epmet.dto.result.VisitVisitorChartResultDTO; import com.epmet.entity.IcResiCollectVisitorEntity; import org.apache.ibatis.annotations.Mapper; @@ -22,6 +23,7 @@ public interface IcResiCollectVisitorDao extends BaseDao getCollectList(VisitListFormDTO formDTO); + /** + * 最新一条访客信息 + * + * @param formDTO + * @return com.epmet.entity.IcResiCollectVisitorEntity + * @author zhy + * @date 2022/8/19 15:33 + */ + IcResiCollectVisitorEntity getLastInfo(VisitorInfoFormDTO formDTO); + + /** + * 人流量 + * + * @param dto + * @return void + * @author generator + * @date 2022-07-26 + */ + List getTraffic(VisitVisitorChartFormDTO dto); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectVisitorService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectVisitorService.java index 5f7f3e4d25..6b92a7b16b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectVisitorService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectVisitorService.java @@ -2,13 +2,15 @@ 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.IcResiCollectVisitorDTO; import com.epmet.dto.SaveCollectVisitorFormDTO; import com.epmet.dto.form.CollectDetailFormDTO; -import com.epmet.dto.form.CollectListFormDTO; import com.epmet.dto.form.VisitListFormDTO; -import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.dto.form.VisitVisitorChartFormDTO; +import com.epmet.dto.form.VisitorInfoFormDTO; +import com.epmet.dto.result.VisitVisitorChartResultDTO; import com.epmet.entity.IcResiCollectVisitorEntity; import java.util.List; @@ -34,6 +36,7 @@ public interface IcResiCollectVisitorService extends BaseService getTraffic(VisitVisitorChartFormDTO dto); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectVisitorServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectVisitorServiceImpl.java index 2dccca05b0..5a5937324a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectVisitorServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectVisitorServiceImpl.java @@ -8,17 +8,15 @@ import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +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.IcResiCollectVisitorDao; import com.epmet.dto.IcNeighborHoodDTO; import com.epmet.dto.IcResiCollectVisitorDTO; import com.epmet.dto.SaveCollectVisitorFormDTO; -import com.epmet.dto.form.CollectDetailFormDTO; -import com.epmet.dto.form.CollectListFormDTO; -import com.epmet.dto.form.VisitListFormDTO; -import com.epmet.dto.form.VisitVisitorFormDTO; -import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.VisitVisitorChartResultDTO; import com.epmet.entity.IcResiCollectVisitorEntity; import com.epmet.redis.IcResiCollectVisitorRedis; import com.epmet.service.IcResiCollectVisitorService; @@ -30,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -171,4 +170,21 @@ public class IcResiCollectVisitorServiceImpl extends BaseServiceImpl getTraffic(VisitVisitorChartFormDTO dto) { + if (StringUtils.isBlank(dto.getDate())) { + dto.setDate(LocalDate.now().toString()); + } + return baseDao.getTraffic(dto); + } + } diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.66__chart_hour.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.66__chart_hour.sql new file mode 100644 index 0000000000..85d2713385 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.66__chart_hour.sql @@ -0,0 +1,56 @@ +/* + Navicat Premium Data Transfer + + Source Server : epmet_cloud_dev_user + Source Server Type : MySQL + Source Server Version : 50726 + Source Host : 192.168.1.140:3306 + Source Schema : epmet_user + + Target Server Type : MySQL + Target Server Version : 50726 + File Encoding : 65001 + + Date: 22/08/2022 13:31:44 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for pli_chart_hour +-- ---------------------------- +DROP TABLE IF EXISTS `pli_chart_hour`; +CREATE TABLE `pli_chart_hour` ( + `hour` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '图表日期链表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of pli_chart_hour +-- ---------------------------- +INSERT INTO `pli_chart_hour` VALUES ('01'); +INSERT INTO `pli_chart_hour` VALUES ('02'); +INSERT INTO `pli_chart_hour` VALUES ('03'); +INSERT INTO `pli_chart_hour` VALUES ('04'); +INSERT INTO `pli_chart_hour` VALUES ('05'); +INSERT INTO `pli_chart_hour` VALUES ('06'); +INSERT INTO `pli_chart_hour` VALUES ('07'); +INSERT INTO `pli_chart_hour` VALUES ('08'); +INSERT INTO `pli_chart_hour` VALUES ('09'); +INSERT INTO `pli_chart_hour` VALUES ('10'); +INSERT INTO `pli_chart_hour` VALUES ('11'); +INSERT INTO `pli_chart_hour` VALUES ('12'); +INSERT INTO `pli_chart_hour` VALUES ('13'); +INSERT INTO `pli_chart_hour` VALUES ('14'); +INSERT INTO `pli_chart_hour` VALUES ('15'); +INSERT INTO `pli_chart_hour` VALUES ('16'); +INSERT INTO `pli_chart_hour` VALUES ('17'); +INSERT INTO `pli_chart_hour` VALUES ('18'); +INSERT INTO `pli_chart_hour` VALUES ('19'); +INSERT INTO `pli_chart_hour` VALUES ('20'); +INSERT INTO `pli_chart_hour` VALUES ('21'); +INSERT INTO `pli_chart_hour` VALUES ('22'); +INSERT INTO `pli_chart_hour` VALUES ('23'); +INSERT INTO `pli_chart_hour` VALUES ('00'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectVisitorDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectVisitorDao.xml index 52cdb9ace8..f525fb9e6d 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectVisitorDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectVisitorDao.xml @@ -104,5 +104,33 @@ order by CREATED_TIME desc + + +