From f29e367ec0b85a04c8da3a110fd0e0bdf95fba58 Mon Sep 17 00:00:00 2001 From: itcast Date: Sat, 13 Jan 2024 19:56:13 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=BE=99=E8=99=8E=E6=A6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- huike-admin/pom.xml | 5 ++ .../controller/report/IndexController.java | 34 +++++++++ .../src/main/resources/application.yml | 4 +- .../business/mapper/TbBusinessMapper.java | 2 + huike-clues/pom.xml | 7 +- .../huike/clues/mapper/TbActivityMapper.java | 2 + .../clues/mapper/TbAssignRecordMapper.java | 2 + .../com/huike/clues/mapper/TbClueMapper.java | 3 + .../service/impl/TbActivityServiceImpl.java | 11 ++- .../java/com/huike/clues/strategy/Rule.java | 2 + .../mapper/clues/TbActivityMapper.xml | 10 +-- .../resources/mapper/clues/TbClueMapper.xml | 1 + huike-report/pom.xml | 6 ++ .../report/domain/vo/IndexSalesStatistic.java | 19 +++++ .../domain/vo/IndexSalesStatisticCp.java | 18 +++++ .../com/huike/report/mapper/ReportMapper.java | 12 +++ .../huike/report/service/IReportService.java | 5 ++ .../service/impl/ReportServiceImpl.java | 74 +++++++++++++++---- .../resources/mapper/report/ReportMapper.xml | 54 ++++++++++++++ .../com/huike/clues/mapper/SysDeptMapper.java | 3 + .../huike/clues/mapper/SysDictDataMapper.java | 3 + .../com/huike/clues/mapper/SysUserMapper.java | 3 + pom.xml | 6 +- 23 files changed, 259 insertions(+), 27 deletions(-) create mode 100644 huike-report/src/main/java/com/huike/report/domain/vo/IndexSalesStatistic.java create mode 100644 huike-report/src/main/java/com/huike/report/domain/vo/IndexSalesStatisticCp.java diff --git a/huike-admin/pom.xml b/huike-admin/pom.xml index d4c25a7..01eee9f 100644 --- a/huike-admin/pom.xml +++ b/huike-admin/pom.xml @@ -91,6 +91,11 @@ 3.4.0 compile + + com.fhs-opensource + mybatis-plus-boot-starter + 4.0.5 + com.huike diff --git a/huike-admin/src/main/java/com/huike/web/controller/report/IndexController.java b/huike-admin/src/main/java/com/huike/web/controller/report/IndexController.java index bba680c..438a28d 100644 --- a/huike-admin/src/main/java/com/huike/web/controller/report/IndexController.java +++ b/huike-admin/src/main/java/com/huike/web/controller/report/IndexController.java @@ -1,11 +1,45 @@ package com.huike.web.controller.report; +import com.huike.clues.service.impl.TbActivityServiceImpl; +import com.huike.common.core.domain.AjaxResult; +import com.huike.report.domain.vo.IndexSalesStatistic; +import com.huike.report.service.IReportService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.time.LocalDate; +import java.util.Date; +import java.util.List; + @RestController @RequestMapping("/index") +@Slf4j public class IndexController { + @Autowired + private IReportService iReportService; + + @GetMapping("/salesStatistic") + private AjaxResult salesStatistic(@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate beginCreateTime , + @DateTimeFormat(pattern = "yyyy-MM-dd")LocalDate endCreateTime){ + log.info("线索转化龙虎榜接口:{},{}",beginCreateTime,endCreateTime); + List list = iReportService.salesStatistic(beginCreateTime,endCreateTime); + + return AjaxResult.success(list); + } + + @GetMapping("/businessChangeStatistics") + private AjaxResult businessChangeStatistics(@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate beginCreateTime , + @DateTimeFormat(pattern = "yyyy-MM-dd")LocalDate endCreateTime){ + log.info("线索转化龙虎榜接口:{},{}",beginCreateTime,endCreateTime); + List list = iReportService.businessChangeStatistics(beginCreateTime,endCreateTime); + + return AjaxResult.success(list); + } } \ No newline at end of file diff --git a/huike-admin/src/main/resources/application.yml b/huike-admin/src/main/resources/application.yml index a0cd5ff..982870a 100644 --- a/huike-admin/src/main/resources/application.yml +++ b/huike-admin/src/main/resources/application.yml @@ -62,7 +62,7 @@ spring: # 数据库索引 database: 0 # 密码 - password: 123456 + password: 1234 #e # 连接超时时间 timeout: 10s @@ -104,7 +104,7 @@ pagehelper: supportMethodsArguments: true params: count=countSql -# Miniio配置 +# Minio配置 minio: endpoint: 127.0.0.1 port: 9000 diff --git a/huike-business/src/main/java/com/huike/business/mapper/TbBusinessMapper.java b/huike-business/src/main/java/com/huike/business/mapper/TbBusinessMapper.java index c6965df..6384dcf 100644 --- a/huike-business/src/main/java/com/huike/business/mapper/TbBusinessMapper.java +++ b/huike-business/src/main/java/com/huike/business/mapper/TbBusinessMapper.java @@ -6,12 +6,14 @@ import java.util.Map; import com.huike.business.domain.TbBusiness; import com.huike.clues.domain.vo.IndexStatisticsVo; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** * 商机Mapper接口 * @date 2021-04-25 */ +@Mapper public interface TbBusinessMapper { /** * 查询商机 diff --git a/huike-clues/pom.xml b/huike-clues/pom.xml index 3897ad3..81536a9 100644 --- a/huike-clues/pom.xml +++ b/huike-clues/pom.xml @@ -35,7 +35,12 @@ com.huike huike-system - + diff --git a/huike-clues/src/main/java/com/huike/clues/mapper/TbActivityMapper.java b/huike-clues/src/main/java/com/huike/clues/mapper/TbActivityMapper.java index 388f45e..6a4b470 100644 --- a/huike-clues/src/main/java/com/huike/clues/mapper/TbActivityMapper.java +++ b/huike-clues/src/main/java/com/huike/clues/mapper/TbActivityMapper.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Map; import com.huike.clues.domain.TbActivity; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** @@ -12,6 +13,7 @@ import org.apache.ibatis.annotations.Param; * @author wgl * @date 2021-04-01 */ +@Mapper public interface TbActivityMapper { /** * 查询活动管理 diff --git a/huike-clues/src/main/java/com/huike/clues/mapper/TbAssignRecordMapper.java b/huike-clues/src/main/java/com/huike/clues/mapper/TbAssignRecordMapper.java index 352642b..7cfadbf 100644 --- a/huike-clues/src/main/java/com/huike/clues/mapper/TbAssignRecordMapper.java +++ b/huike-clues/src/main/java/com/huike/clues/mapper/TbAssignRecordMapper.java @@ -2,12 +2,14 @@ package com.huike.clues.mapper; import java.util.List; import com.huike.clues.domain.TbAssignRecord; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** * 线索分配记录Mapper接口 * @date 2021-04-19 */ +@Mapper public interface TbAssignRecordMapper { /** diff --git a/huike-clues/src/main/java/com/huike/clues/mapper/TbClueMapper.java b/huike-clues/src/main/java/com/huike/clues/mapper/TbClueMapper.java index 0be8696..f32b5b0 100644 --- a/huike-clues/src/main/java/com/huike/clues/mapper/TbClueMapper.java +++ b/huike-clues/src/main/java/com/huike/clues/mapper/TbClueMapper.java @@ -1,11 +1,13 @@ package com.huike.clues.mapper; +import java.time.LocalDateTime; import java.util.Date; import java.util.List; import java.util.Map; import com.huike.clues.domain.TbClue; import com.huike.clues.domain.vo.IndexStatisticsVo; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** @@ -13,6 +15,7 @@ import org.apache.ibatis.annotations.Param; * @date 2021-04-02 */ +@Mapper public interface TbClueMapper { /** * 查询线索管理 diff --git a/huike-clues/src/main/java/com/huike/clues/service/impl/TbActivityServiceImpl.java b/huike-clues/src/main/java/com/huike/clues/service/impl/TbActivityServiceImpl.java index 6e793d7..71810ff 100644 --- a/huike-clues/src/main/java/com/huike/clues/service/impl/TbActivityServiceImpl.java +++ b/huike-clues/src/main/java/com/huike/clues/service/impl/TbActivityServiceImpl.java @@ -1,9 +1,6 @@ package com.huike.clues.service.impl; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import com.huike.common.utils.uuid.UUIDUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -59,6 +56,12 @@ public class TbActivityServiceImpl implements ITbActivityService { */ @Override public List selectTbActivityList(TbActivity tbActivity) { + if(tbActivity.getEndTime() == null && tbActivity.getBeginTime()== null){ + Date now = new Date(); + // tbActivity.setBeginTime(now); + tbActivity.setEndTime(now); + tbActivity.setBeginTime(now); + } return tbActivityMapper.selectTbActivityList(tbActivity); } diff --git a/huike-clues/src/main/java/com/huike/clues/strategy/Rule.java b/huike-clues/src/main/java/com/huike/clues/strategy/Rule.java index f99ebab..e62783b 100644 --- a/huike-clues/src/main/java/com/huike/clues/strategy/Rule.java +++ b/huike-clues/src/main/java/com/huike/clues/strategy/Rule.java @@ -2,6 +2,7 @@ package com.huike.clues.strategy; import com.huike.clues.domain.TbClue; import com.huike.clues.domain.TbRuleAssign; +import org.springframework.stereotype.Component; import java.util.List; @@ -12,6 +13,7 @@ import java.util.List; * admin 选择adminStrategy作为策略的实现类 * rule 选择RuleStrategy作为策略的实现类 */ +@Component public interface Rule { /** diff --git a/huike-clues/src/main/resources/mapper/clues/TbActivityMapper.xml b/huike-clues/src/main/resources/mapper/clues/TbActivityMapper.xml index 5be9b3e..abc6018 100644 --- a/huike-clues/src/main/resources/mapper/clues/TbActivityMapper.xml +++ b/huike-clues/src/main/resources/mapper/clues/TbActivityMapper.xml @@ -26,7 +26,7 @@ + \ No newline at end of file diff --git a/huike-report/pom.xml b/huike-report/pom.xml index 57c775e..dd4142c 100644 --- a/huike-report/pom.xml +++ b/huike-report/pom.xml @@ -24,6 +24,12 @@ 3.4.0 compile + + com.fhs-opensource + mybatis-plus-annotation + 4.0.5 + compile + \ No newline at end of file diff --git a/huike-report/src/main/java/com/huike/report/domain/vo/IndexSalesStatistic.java b/huike-report/src/main/java/com/huike/report/domain/vo/IndexSalesStatistic.java new file mode 100644 index 0000000..4e113e6 --- /dev/null +++ b/huike-report/src/main/java/com/huike/report/domain/vo/IndexSalesStatistic.java @@ -0,0 +1,19 @@ +package com.huike.report.domain.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author 卢鹏程 + * @version 1.0 + */ +@Data +public class IndexSalesStatistic { + private String create_by; + private String deptName; + private Integer num; + private Long dep_id; + private BigDecimal radio; +} diff --git a/huike-report/src/main/java/com/huike/report/domain/vo/IndexSalesStatisticCp.java b/huike-report/src/main/java/com/huike/report/domain/vo/IndexSalesStatisticCp.java new file mode 100644 index 0000000..1c1b5aa --- /dev/null +++ b/huike-report/src/main/java/com/huike/report/domain/vo/IndexSalesStatisticCp.java @@ -0,0 +1,18 @@ +package com.huike.report.domain.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author 卢鹏程 + * @version 1.0 + */ +@Data +public class IndexSalesStatisticCp { + private String createBy; + private String deptName; + private Integer num; + private Long depId; + private BigDecimal radio; +} diff --git a/huike-report/src/main/java/com/huike/report/mapper/ReportMapper.java b/huike-report/src/main/java/com/huike/report/mapper/ReportMapper.java index 7554cd0..e7d3d37 100644 --- a/huike-report/src/main/java/com/huike/report/mapper/ReportMapper.java +++ b/huike-report/src/main/java/com/huike/report/mapper/ReportMapper.java @@ -1,7 +1,12 @@ package com.huike.report.mapper; +import java.time.LocalDateTime; +import java.util.List; import java.util.Map; +import com.huike.report.domain.vo.IndexSalesStatistic; +import com.huike.report.domain.vo.IndexSalesStatisticCp; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.huike.clues.domain.vo.IndexStatisticsVo; @@ -11,6 +16,7 @@ import com.huike.clues.domain.vo.IndexStatisticsVo; * @author Administrator * */ +@Mapper public interface ReportMapper { /**=========================================基本数据========================================*/ @@ -21,5 +27,11 @@ public interface ReportMapper { /**=========================================待办========================================*/ + Integer getCountClues(@Param("begin")LocalDateTime begin,@Param("end")LocalDateTime end); + List getStatistic(@Param("begin") LocalDateTime begin, @Param("end") LocalDateTime end); + + List getBusinessChangeStatistics(@Param("begin")LocalDateTime begin,@Param("end") LocalDateTime end); + + Integer getCountBusiness(@Param("begin")LocalDateTime begin, @Param("end")LocalDateTime end); } diff --git a/huike-report/src/main/java/com/huike/report/service/IReportService.java b/huike-report/src/main/java/com/huike/report/service/IReportService.java index 92d920c..0f103d2 100644 --- a/huike-report/src/main/java/com/huike/report/service/IReportService.java +++ b/huike-report/src/main/java/com/huike/report/service/IReportService.java @@ -1,5 +1,7 @@ package com.huike.report.service; +import java.time.LocalDate; +import java.util.Date; import java.util.List; import java.util.Map; @@ -13,4 +15,7 @@ import com.huike.contract.domain.TbContract; public interface IReportService { + List salesStatistic(LocalDate beginCreateTime, LocalDate endCreateTime); + + List businessChangeStatistics(LocalDate beginCreateTime, LocalDate endCreateTime); } diff --git a/huike-report/src/main/java/com/huike/report/service/impl/ReportServiceImpl.java b/huike-report/src/main/java/com/huike/report/service/impl/ReportServiceImpl.java index 9f83747..2ad69ec 100644 --- a/huike-report/src/main/java/com/huike/report/service/impl/ReportServiceImpl.java +++ b/huike-report/src/main/java/com/huike/report/service/impl/ReportServiceImpl.java @@ -3,15 +3,13 @@ package com.huike.report.service.impl; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.util.*; +import java.util.stream.Collectors; +import com.huike.clues.mapper.*; import com.huike.report.domain.vo.*; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -22,11 +20,6 @@ import com.huike.clues.domain.TbActivity; import com.huike.clues.domain.TbAssignRecord; import com.huike.clues.domain.TbClue; import com.huike.clues.domain.vo.IndexStatisticsVo; -import com.huike.clues.mapper.SysDeptMapper; -import com.huike.clues.mapper.SysDictDataMapper; -import com.huike.clues.mapper.TbActivityMapper; -import com.huike.clues.mapper.TbAssignRecordMapper; -import com.huike.clues.mapper.TbClueMapper; import com.huike.common.core.domain.entity.SysDept; import com.huike.common.utils.SecurityUtils; import com.huike.contract.domain.TbContract; @@ -37,6 +30,20 @@ import com.huike.report.service.IReportService; @Service public class ReportServiceImpl implements IReportService { + @Autowired + private ReportMapper reportMapper; + @Autowired + private TbClueMapper tbClueMapper; + @Autowired + private TbAssignRecordMapper tbAssignRecordMapper; + @Autowired + private TbBusinessMapper tbBusinessMapper; + @Autowired + private SysUserMapper sysUserMapper; + @Autowired + private SysDeptMapper sysDeptMapper; + + /** * *************看我看我************** @@ -80,7 +87,7 @@ public class ReportServiceImpl implements IReportService { * @param num * @return */ - private BigDecimal getRadio(Integer all,Long num) { + private BigDecimal getRadio(Integer all,Integer num) { if(all.intValue()==0){ return new BigDecimal(0); } @@ -91,4 +98,43 @@ public class ReportServiceImpl implements IReportService { } + @Override + public List salesStatistic(LocalDate beginCreateTime, LocalDate endCreateTime) { + LocalDateTime begin = LocalDateTime.of(beginCreateTime, LocalTime.MIN); + LocalDateTime end = LocalDateTime.of(endCreateTime, LocalTime.MAX); + Integer count = reportMapper.getCountClues(begin,end); + List list = reportMapper.getStatistic(begin,end); + List list2 = new ArrayList<>(); + list.stream().forEach(s -> { + IndexSalesStatistic indexSalesStatistic = new IndexSalesStatistic(); + BeanUtils.copyProperties(s,indexSalesStatistic); + indexSalesStatistic.setCreate_by(s.getCreateBy()); + indexSalesStatistic.setDep_id(s.getDepId()); + BigDecimal radio = new ReportServiceImpl().getRadio(count, s.getNum()); + indexSalesStatistic.setRadio(radio); + list2.add(indexSalesStatistic); + }); + List listq = list2.stream().sorted(Comparator.comparing(IndexSalesStatistic::getRadio).reversed()).collect(Collectors.toList()); + return listq; + } + + @Override + public List businessChangeStatistics(LocalDate beginCreateTime, LocalDate endCreateTime) { + LocalDateTime begin = LocalDateTime.of(beginCreateTime, LocalTime.MIN); + LocalDateTime end = LocalDateTime.of(endCreateTime, LocalTime.MAX); + Integer count = reportMapper.getCountBusiness(begin,end); + List list = reportMapper.getBusinessChangeStatistics(begin,end); + List list2 = new ArrayList<>(); + list.stream().forEach(s -> { + IndexSalesStatistic indexSalesStatistic = new IndexSalesStatistic(); + BeanUtils.copyProperties(s,indexSalesStatistic); + indexSalesStatistic.setCreate_by(s.getCreateBy()); + indexSalesStatistic.setDep_id(s.getDepId()); + BigDecimal radio = new ReportServiceImpl().getRadio(count, s.getNum()); + indexSalesStatistic.setRadio(radio); + list2.add(indexSalesStatistic); + }); + List list1 = list2.stream().sorted(Comparator.comparing(IndexSalesStatistic::getRadio).reversed()).collect(Collectors.toList()); + return list1; + } } \ No newline at end of file diff --git a/huike-report/src/main/resources/mapper/report/ReportMapper.xml b/huike-report/src/main/resources/mapper/report/ReportMapper.xml index 73a50b4..8089337 100644 --- a/huike-report/src/main/resources/mapper/report/ReportMapper.xml +++ b/huike-report/src/main/resources/mapper/report/ReportMapper.xml @@ -3,7 +3,61 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + + \ No newline at end of file diff --git a/huike-system/src/main/java/com/huike/clues/mapper/SysDeptMapper.java b/huike-system/src/main/java/com/huike/clues/mapper/SysDeptMapper.java index 39fae88..13dd577 100644 --- a/huike-system/src/main/java/com/huike/clues/mapper/SysDeptMapper.java +++ b/huike-system/src/main/java/com/huike/clues/mapper/SysDeptMapper.java @@ -1,6 +1,8 @@ package com.huike.clues.mapper; import java.util.List; + +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.huike.common.core.domain.entity.SysDept; @@ -9,6 +11,7 @@ import com.huike.common.core.domain.entity.SysDept; * * */ +@Mapper public interface SysDeptMapper { /** * 查询部门管理数据 diff --git a/huike-system/src/main/java/com/huike/clues/mapper/SysDictDataMapper.java b/huike-system/src/main/java/com/huike/clues/mapper/SysDictDataMapper.java index a9cfd23..bbbf8ad 100644 --- a/huike-system/src/main/java/com/huike/clues/mapper/SysDictDataMapper.java +++ b/huike-system/src/main/java/com/huike/clues/mapper/SysDictDataMapper.java @@ -1,6 +1,8 @@ package com.huike.clues.mapper; import java.util.List; + +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.huike.common.core.domain.entity.SysDictData; @@ -9,6 +11,7 @@ import com.huike.common.core.domain.entity.SysDictData; * * */ +@Mapper public interface SysDictDataMapper{ /** * 根据条件分页查询字典数据 diff --git a/huike-system/src/main/java/com/huike/clues/mapper/SysUserMapper.java b/huike-system/src/main/java/com/huike/clues/mapper/SysUserMapper.java index 79c3132..cd82bf9 100644 --- a/huike-system/src/main/java/com/huike/clues/mapper/SysUserMapper.java +++ b/huike-system/src/main/java/com/huike/clues/mapper/SysUserMapper.java @@ -1,6 +1,8 @@ package com.huike.clues.mapper; import java.util.List; + +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.huike.common.core.domain.entity.SysUser; @@ -9,6 +11,7 @@ import com.huike.common.core.domain.entity.SysUser; * * */ +@Mapper public interface SysUserMapper{ /** * 根据条件分页查询用户列表 diff --git a/pom.xml b/pom.xml index 1d71d98..99765f7 100644 --- a/pom.xml +++ b/pom.xml @@ -42,7 +42,11 @@ - + + com.fhs-opensource + mybatis-plus-boot-starter + 4.0.5 + org.springframework.boot -- Gitee From 7d0cfef5fcad090dd5029012dc433b141e5018ad Mon Sep 17 00:00:00 2001 From: itcast Date: Sat, 13 Jan 2024 20:39:01 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=BE=99=E8=99=8E=E6=A6=9Cupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- huike-report/src/main/resources/mapper/report/ReportMapper.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/huike-report/src/main/resources/mapper/report/ReportMapper.xml b/huike-report/src/main/resources/mapper/report/ReportMapper.xml index 8089337..3ff9f1c 100644 --- a/huike-report/src/main/resources/mapper/report/ReportMapper.xml +++ b/huike-report/src/main/resources/mapper/report/ReportMapper.xml @@ -9,7 +9,6 @@ and create_time >= #{begin} and create_time <= #{end} - and status = 6 @@ -37,7 +36,6 @@ and create_time >= #{begin} and create_time <= #{end} - and status = 7