diff --git a/DB/version4.2.3to4.2.4.sql b/DB/version4.2.3to4.2.4.sql new file mode 100644 index 00000000..78764222 --- /dev/null +++ b/DB/version4.2.3to4.2.4.sql @@ -0,0 +1,2 @@ +/** 新增已退货数量 **/ +ALTER TABLE li_order_item ADD return_goods_number int DEFAULT 0 COMMENT '退货数量 '; \ No newline at end of file diff --git a/README.md b/README.md index 6094762c..d42cf646 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -## 🔥 Lilishop B2B2C商城系统 +## Lilishop B2B2C商城系统 -##### 🌹 开源不易,如有帮助请点Star +##### 开源不易,如有帮助请点Star @@ -20,51 +20,33 @@   ![github](https://img.shields.io/github/stars/hongyehuicheng/lilishop.svg?style=social&logo=#181717) -### 🔥 商城介绍 +### 商城介绍 **官网**:https://pickmall.cn Lilishop商城系统支持商家入驻,后端基于SpringBoot 研发,前端使用 Vue、uniapp开发, **系统全端全部代码开源** -商城前后端分离,支持分布式部署,各个API独立,并且有独立的消费者。 - -商城包含 会员模块、**第三方登录模块**、**第三方支付模块**、**楼层装修模块**、订单模块、商品模块、促销模块、分销模块、文章模块、系统设置模块、流量分析模块和平台运营模块 - -商城包含各种中间件、搜索引擎、多级缓存、分布式事务、分布式任务调度等,支持Docker,支持k8s。是一款高性能、支持分布式、支持扩展的商城系统。 +商城前后端分离,支持分布式部署,支持Docker,各个API独立,并且有独立的消费者。 ### 商城 API/消费者 聚合版 api不需要单独部署,只需启动一个jar包就可以正常运转 如有需要,可以点击跳转 https://gitee.com/beijing_hongye_huicheng/lilishop-simplify -### ☃️ 商城 开发/使用/常见问题 帮助文档 +### 商城 开发/使用/常见问题 帮助文档 https://docs.pickmall.cn -### 💧 开源商城项目地址(gitee) +### 项目地址 -**API(商城所有API)**:https://gitee.com/beijing_hongye_huicheng/lilishop.git +gitee : https://gitee.com/beijing_hongye_huicheng -**UI(平台管理端/商家端/买家PC端)**: https://gitee.com/beijing_hongye_huicheng/lilishop-ui.git +github 镜像: https://github.com/lilishop?tab=repositories -**uniapp(商城移动端,支持小程序/APP/H5)**:https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp.git - -**docker一键部署(商城部署脚本)**:https://gitee.com/beijing_hongye_huicheng/docker.git - -### 💧 开源商城项目地址(github) - -**API(商城所有API)**:https://github.com/hongyehuicheng/lilishop.git - -**UI(平台管理端/商家端/买家PC端)**: https://github.com/hongyehuicheng/lilishop-ui.git - -**uniapp(商城移动端,支持小程序/APP/H5)**:https://github.com/hongyehuicheng/lilishop-uniapp.git - -**docker一键部署(商城部署脚本)**:https://github.com/hongyehuicheng/docker.git +商城UI 项目下3个文件夹 +buyer:买家PC端,seller:商家端,manager:后台管理端 - -☃️ UI 项目下3个文件夹 buyer:买家PC端,seller:商家端,manager:后台管理端 - - -### 💧 演示地址(手机验证码为 ‘111111’) +### 演示地址 +PS:手机验证码为 ‘111111’ **平台管理端**:https://admin-b2b2c.pickmall.cn 账号:admin/123456 @@ -72,88 +54,54 @@ https://docs.pickmall.cn **商城PC页面**:https://pc-b2b2c.pickmall.cn -**商城移动端(请使浏览器手机模式,或者用手机浏览器打开)**:https://m-b2b2c.pickmall.cn - -**商城 小程序/公众号/APP(支持ios、android)**:扫描二维码 +**商城 小程序/公众号/APP**:扫描二维码 ![image-20210511171611793](https://pickmall.cn/assets/imgs/h5-qrcode.png) -### 🚙 3行命令搭建本地商城(注:只能本机访问,前端镜像固定访问 127.0.0.1,如果是非本机体验,请自行下载源码操作镜像) +### 快速部署本地商城 -温馨提示:由于服务中间件较多,如果笔记本环境启动内存没有32g可能无法启动成功(macbookpro 2020 16g内存启动无法成功),台式机在16g内存、AMD 3700x 的ubuntu系统成功运行。 +[点击跳转](https://docs.pickmall.cn/deploy/%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.html) -##### docker环境安装 [点击跳转](https://docs.pickmall.cn/deploy/%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.html) +**商城数据库** +[点击跳转](https://gitee.com/beijing_hongye_huicheng/docker/tree/master/init/mysql) -##### 下载docker-compose脚本 -`git clone https://gitee.com/beijing_hongye_huicheng/docker.git ` - -##### 部署商城所需中间件 -`docker-compose up -d` - -##### 部署商城应用 -`docker-compose -f docker-compose-application.yml up -d` - -PS:商城数据库非docker部署 -https://gitee.com/beijing_hongye_huicheng/docker/tree/master/init/mysql +使用docker-compose部署,自动初始化数据库不需要额外处理 这里有与tag版本一致的sql,根据tag获取sql,如果使用master代码 -##### 商城 API/UI 地址 - -| API | 地址 | -| -------------- | --------------- | -| 买家API | http://127.0.0.1:8888 | -| 商家API | http://127.0.0.1:8889 | -| 管理端API | http://127.0.0.1:8887 | -| 通用API | http://127.0.0.1:8890 | - -| 前端演示 | 地址 | -| -------------- | --------------- | -| 商城PC端 | http://127.0.0.1:10000 | -| 商城H5端 | http://127.0.0.1:10001 | -| 卖家端 | http://127.0.0.1:10002 | -| 平台管理端 | http://127.0.0.1:10003 | - -其他小程序/app等需自行打包。 +### 功能列表 -### ⚾️ 功能列表 - - - -#### 🥎 平台管理端功能 +#### 平台管理端功能 ![平台管理端功能](https://pickmall.cn/assets/imgs/other/managerList.jpg) -#### 🥎 卖家功能 +#### 卖家功能 ![商家端功能](https://pickmall.cn/assets/imgs/other/storeList.jpg) +### 商城前端功能展示 - - -### 🧩 商城前端功能展示 - -#### ⚽️ 商城移动端 +#### 商城移动端 移动端功能展示 -#### ⚽️ 平台管理端 +#### 平台管理端 ![管理端功能展示](https://pickmall.cn/assets/imgs/other/manager.gif) ### 技术选型 -#### 🥅 架构图 +#### 架构图 ![技术选型](https://lili-system.oss-cn-beijing.aliyuncs.com/docs/%E6%9E%B6%E6%9E%84.png) -##### 🕹 后台技术选型 +##### 后台技术选型 | 说明 | 框架 | 说明 | | | -------------- | --------------- | -------------- | ------------- | @@ -167,7 +115,7 @@ https://gitee.com/beijing_hongye_huicheng/docker/tree/master/init/mysql | 短信 | 阿里云短信 | 认证 | JWT | | 日志处理 | Log4j | 接口规范 | RESTful | -##### 🖥 前端-运营后台、店铺后台 +##### 前端-运营后台、店铺后台 | 说明 | 框架 | 说明 | 框架 | | ---------- | ---------- | ---------- | ------- | @@ -177,14 +125,14 @@ https://gitee.com/beijing_hongye_huicheng/docker/tree/master/init/mysql | 基础UI库 | iView | UI界面基于 | iView | | 网络请求 | axios | | | -##### 📱前端-移动端 +##### 前端-移动端 | 说明 | 架构 | 说明 | 架构 | | --------- | ------- | -------- | ------- | | 基础UI库 | uViewui | 基础框架 | uni-app | | CSS预处理 | scss | 地图引擎 | amap | -### 🌟 版本升级 +### 版本升级 ``` 商城后续会持续版本升级,修复bug,完善功能,覆盖更多业务场景 o2o/b2b/s2b2b2c/跨境电商 @@ -193,7 +141,7 @@ https://gitee.com/beijing_hongye_huicheng/docker/tree/master/init/mysql ``` -### ⚠️ 开源须知 +### 开源须知 1.仅允许用于个人学习研究使用. 2.禁止将本开源的代码和资源进行任何形式任何名义的出售. @@ -203,7 +151,7 @@ https://gitee.com/beijing_hongye_huicheng/docker/tree/master/init/mysql 4.限制商用,如果需要商业使用请联系我们。QQ3409056806. -### 🐧 交流群 +### 交流群 ##### 官方qq 1群 961316482(已满) ##### 官方qq 2群 875294241 diff --git a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionBuyerController.java similarity index 98% rename from buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/distribution/DistributionBuyerController.java index 68a87488..dc3567dc 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionBuyerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.other.distribution; +package cn.lili.controller.distribution; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; diff --git a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionCashBuyerController.java similarity index 98% rename from buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/distribution/DistributionCashBuyerController.java index d27ee742..4b6d310e 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionCashBuyerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.other.distribution; +package cn.lili.controller.distribution; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; diff --git a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsBuyerController.java similarity index 98% rename from buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsBuyerController.java index b2e68fa1..e4497dc9 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsBuyerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.other.distribution; +package cn.lili.controller.distribution; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; diff --git a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionOrderBuyerController.java similarity index 97% rename from buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/distribution/DistributionOrderBuyerController.java index 4ed20e94..4c7c3ddd 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionOrderBuyerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.other.distribution; +package cn.lili.controller.distribution; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; diff --git a/buyer-api/src/main/java/cn/lili/controller/member/MemberAddressBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/member/MemberAddressBuyerController.java index 3b056b97..f0dad3e3 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/MemberAddressBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/member/MemberAddressBuyerController.java @@ -1,12 +1,12 @@ package cn.lili.controller.member; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dos.MemberAddress; import cn.lili.modules.member.service.MemberAddressService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/buyer-api/src/main/java/cn/lili/controller/member/ServiceNoticeBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/member/ServiceNoticeBuyerController.java deleted file mode 100644 index 4cb786e7..00000000 --- a/buyer-api/src/main/java/cn/lili/controller/member/ServiceNoticeBuyerController.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.lili.controller.member; - -import cn.lili.common.enums.ResultUtil; -import cn.lili.common.vo.PageVO; -import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.system.entity.dos.ServiceNotice; -import cn.lili.modules.system.service.ServiceNoticeService; -import cn.lili.mybatis.util.PageUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -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; - - -/** - * 买家端,会员站服务消息接口 - * - * @author Chopper - * @since 2020/11/17 2:31 下午 - */ -@RestController -@RequestMapping("/service/notice") -@Api(tags = "买家端,会员站服务消息接口") -public class ServiceNoticeBuyerController { - - /** - * 服务消息 - */ - @Autowired - private ServiceNoticeService serviceNoticeService; - - @ApiOperation(value = "获取消息详情") - @ApiImplicitParam(name = "id", value = "商品ID", required = true, dataType = "Long", paramType = "path") - @GetMapping(value = "/{id}") - public ResultMessage get(@PathVariable String id) { - ServiceNotice serviceNotice = serviceNoticeService.getById(id); - return ResultUtil.data(serviceNotice); - } - - @ApiOperation(value = "分页获取服务消息") - @GetMapping - @ApiImplicitParam(name = "storeId", value = "商家id,默认为-1,代表平台消息,如果查询某商家发布的消息,传递商家id即可", dataType = "int", paramType = "query") - public ResultMessage> getByPage(PageVO page, String storeId) { - ServiceNotice serviceNotice = new ServiceNotice(); - if (storeId == null) { - storeId = "-1"; - } - serviceNotice.setStoreId(storeId); - IPage data = serviceNoticeService.page(PageUtil.initPage(page)); - return ResultUtil.data(data); - } -} diff --git a/buyer-api/src/main/java/cn/lili/controller/member/MemberMessageBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/message/MemberMessageBuyerController.java similarity index 98% rename from buyer-api/src/main/java/cn/lili/controller/member/MemberMessageBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/message/MemberMessageBuyerController.java index 552e6aeb..43c80b24 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/MemberMessageBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/message/MemberMessageBuyerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.member; +package cn.lili.controller.message; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; diff --git a/buyer-api/src/main/java/cn/lili/controller/trade/AfterSaleBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/AfterSaleBuyerController.java similarity index 88% rename from buyer-api/src/main/java/cn/lili/controller/trade/AfterSaleBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/order/AfterSaleBuyerController.java index d6cb030f..26e495fd 100644 --- a/buyer-api/src/main/java/cn/lili/controller/trade/AfterSaleBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/AfterSaleBuyerController.java @@ -1,19 +1,19 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.order.order.entity.dos.AfterSale; -import cn.lili.modules.order.order.entity.dos.AfterSaleReason; -import cn.lili.modules.order.order.entity.dto.AfterSaleDTO; -import cn.lili.modules.order.order.entity.vo.AfterSaleApplyVO; -import cn.lili.modules.order.order.entity.vo.AfterSaleSearchParams; -import cn.lili.modules.order.order.entity.vo.AfterSaleVO; -import cn.lili.modules.order.order.service.AfterSaleLogService; -import cn.lili.modules.order.order.service.AfterSaleReasonService; -import cn.lili.modules.order.order.service.AfterSaleService; -import cn.lili.modules.order.trade.entity.dos.AfterSaleLog; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dos.AfterSaleLog; +import cn.lili.modules.order.aftersale.entity.dos.AfterSaleReason; +import cn.lili.modules.order.aftersale.entity.dto.AfterSaleDTO; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleApplyVO; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleSearchParams; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO; +import cn.lili.modules.order.aftersale.service.AfterSaleLogService; +import cn.lili.modules.order.aftersale.service.AfterSaleReasonService; +import cn.lili.modules.order.aftersale.service.AfterSaleService; import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/buyer-api/src/main/java/cn/lili/controller/trade/CartController.java b/buyer-api/src/main/java/cn/lili/controller/order/CartController.java similarity index 99% rename from buyer-api/src/main/java/cn/lili/controller/trade/CartController.java rename to buyer-api/src/main/java/cn/lili/controller/order/CartController.java index 46b1107a..17e4f3ed 100644 --- a/buyer-api/src/main/java/cn/lili/controller/trade/CartController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/CartController.java @@ -1,8 +1,8 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultCode; -import cn.lili.common.exception.ServiceException; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.exception.ServiceException; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; diff --git a/buyer-api/src/main/java/cn/lili/controller/trade/OrderBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java similarity index 98% rename from buyer-api/src/main/java/cn/lili/controller/trade/OrderBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java index 83cb51bf..d5501ff8 100644 --- a/buyer-api/src/main/java/cn/lili/controller/trade/OrderBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java @@ -1,9 +1,10 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.AuthUser; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.order.order.entity.dos.Order; @@ -12,7 +13,6 @@ import cn.lili.modules.order.order.entity.enums.OrderStatusEnum; import cn.lili.modules.order.order.entity.vo.OrderDetailVO; import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; import cn.lili.modules.order.order.service.OrderService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/buyer-api/src/main/java/cn/lili/controller/trade/OrderComplaintBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/OrderComplaintBuyerController.java similarity index 97% rename from buyer-api/src/main/java/cn/lili/controller/trade/OrderComplaintBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/order/OrderComplaintBuyerController.java index 2fb5f007..63f21431 100644 --- a/buyer-api/src/main/java/cn/lili/controller/trade/OrderComplaintBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/OrderComplaintBuyerController.java @@ -1,7 +1,8 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.AuthUser; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -13,7 +14,6 @@ import cn.lili.modules.order.order.entity.vo.OrderComplaintSearchParams; import cn.lili.modules.order.order.entity.vo.OrderComplaintVO; import cn.lili.modules.order.order.service.OrderComplaintCommunicationService; import cn.lili.modules.order.order.service.OrderComplaintService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/buyer-api/src/main/java/cn/lili/controller/trade/ReceiptBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/ReceiptBuyerController.java similarity index 97% rename from buyer-api/src/main/java/cn/lili/controller/trade/ReceiptBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/order/ReceiptBuyerController.java index 220e3520..c707c2ea 100644 --- a/buyer-api/src/main/java/cn/lili/controller/trade/ReceiptBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/ReceiptBuyerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; diff --git a/buyer-api/src/main/java/cn/lili/controller/trade/RechargeTradeBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/RechargeTradeBuyerController.java similarity index 91% rename from buyer-api/src/main/java/cn/lili/controller/trade/RechargeTradeBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/order/RechargeTradeBuyerController.java index 2cfc49ae..81c38bb2 100644 --- a/buyer-api/src/main/java/cn/lili/controller/trade/RechargeTradeBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/RechargeTradeBuyerController.java @@ -1,9 +1,9 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.order.trade.entity.dos.Recharge; -import cn.lili.modules.order.trade.service.RechargeService; +import cn.lili.modules.wallet.entity.dos.Recharge; +import cn.lili.modules.wallet.service.RechargeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; diff --git a/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java index a1e6bccb..7f3b3789 100644 --- a/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java @@ -6,8 +6,8 @@ import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.entity.dto.MemberEditDTO; import cn.lili.modules.member.service.MemberService; -import cn.lili.modules.system.sms.SmsUtil; -import cn.lili.modules.verification.enums.VerificationEnums; +import cn.lili.modules.sms.SmsUtil; +import cn.lili.modules.verification.entity.enums.VerificationEnums; import cn.lili.modules.verification.service.VerificationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/buyer-api/src/main/java/cn/lili/controller/passport/connect/ConnectBuyerWebController.java b/buyer-api/src/main/java/cn/lili/controller/passport/connect/ConnectBuyerWebController.java index 30ef2cf8..f9071ab6 100644 --- a/buyer-api/src/main/java/cn/lili/controller/passport/connect/ConnectBuyerWebController.java +++ b/buyer-api/src/main/java/cn/lili/controller/passport/connect/ConnectBuyerWebController.java @@ -2,16 +2,16 @@ package cn.lili.controller.passport.connect; import cn.lili.common.enums.ResultCode; +import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.token.Token; -import cn.lili.common.enums.ResultUtil; +import cn.lili.common.utils.UuidUtils; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.connect.entity.dto.AuthCallback; import cn.lili.modules.connect.entity.dto.ConnectAuthUser; import cn.lili.modules.connect.request.AuthRequest; import cn.lili.modules.connect.service.ConnectService; import cn.lili.modules.connect.util.ConnectUtil; -import cn.lili.modules.connect.util.UuidUtils; import cn.lili.modules.member.service.MemberService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/buyer-api/src/main/java/cn/lili/controller/passport/connect/MiniProgramBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/passport/connect/MiniProgramBuyerController.java index f7c63f4a..708ce057 100644 --- a/buyer-api/src/main/java/cn/lili/controller/passport/connect/MiniProgramBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/passport/connect/MiniProgramBuyerController.java @@ -1,14 +1,14 @@ package cn.lili.controller.passport.connect; -import cn.lili.common.security.token.Token; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.token.Token; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.connect.entity.dto.WechatMPLoginParams; import cn.lili.modules.connect.service.ConnectService; -import cn.lili.modules.message.entity.dos.WechatMPMessage; import cn.lili.modules.message.service.ShortLinkService; -import cn.lili.modules.message.service.WechatMPMessageService; -import cn.lili.modules.message.util.WechatMpCodeUtil; +import cn.lili.modules.wechat.entity.dos.WechatMPMessage; +import cn.lili.modules.wechat.service.WechatMPMessageService; +import cn.lili.modules.wechat.util.WechatMpCodeUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; diff --git a/buyer-api/src/main/java/cn/lili/controller/promotion/CouponBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/promotion/CouponBuyerController.java index f014f644..9d213b55 100644 --- a/buyer-api/src/main/java/cn/lili/controller/promotion/CouponBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/promotion/CouponBuyerController.java @@ -2,6 +2,7 @@ package cn.lili.controller.promotion; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.AuthUser; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -12,7 +13,6 @@ import cn.lili.modules.promotion.entity.vos.CouponSearchParams; import cn.lili.modules.promotion.entity.vos.CouponVO; import cn.lili.modules.promotion.service.CouponService; import cn.lili.modules.promotion.service.MemberCouponService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java index c75fa25a..7dd1034e 100644 --- a/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java @@ -4,12 +4,13 @@ import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; +import cn.lili.modules.goods.entity.vos.StoreGoodsLabelVO; +import cn.lili.modules.goods.service.StoreGoodsLabelService; import cn.lili.modules.store.entity.dto.StoreBankDTO; import cn.lili.modules.store.entity.dto.StoreCompanyDTO; import cn.lili.modules.store.entity.dto.StoreOtherInfoDTO; import cn.lili.modules.store.entity.vos.*; import cn.lili.modules.store.service.StoreDetailService; -import cn.lili.modules.store.service.StoreGoodsLabelService; import cn.lili.modules.store.service.StoreService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; diff --git a/buyer-api/src/main/java/cn/lili/controller/member/MemberReceiptController.java b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberReceiptController.java similarity index 98% rename from buyer-api/src/main/java/cn/lili/controller/member/MemberReceiptController.java rename to buyer-api/src/main/java/cn/lili/controller/wallet/MemberReceiptController.java index 2d82d55c..63e2c6c4 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/MemberReceiptController.java +++ b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberReceiptController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.member; +package cn.lili.controller.wallet; import cn.lili.common.enums.ResultUtil; diff --git a/buyer-api/src/main/java/cn/lili/controller/member/MemberWalletBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWalletBuyerController.java similarity index 95% rename from buyer-api/src/main/java/cn/lili/controller/member/MemberWalletBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/wallet/MemberWalletBuyerController.java index ca2135c1..015342f3 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/MemberWalletBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWalletBuyerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.member; +package cn.lili.controller.wallet; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; @@ -7,12 +7,12 @@ import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dos.Member; -import cn.lili.modules.member.entity.dos.MemberWallet; -import cn.lili.modules.member.entity.vo.MemberWalletVO; import cn.lili.modules.member.service.MemberService; -import cn.lili.modules.member.service.MemberWalletService; -import cn.lili.modules.verification.enums.VerificationEnums; +import cn.lili.modules.verification.entity.enums.VerificationEnums; import cn.lili.modules.verification.service.VerificationService; +import cn.lili.modules.wallet.entity.dos.MemberWallet; +import cn.lili.modules.wallet.entity.vo.MemberWalletVO; +import cn.lili.modules.wallet.service.MemberWalletService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/buyer-api/src/main/java/cn/lili/controller/member/MemberWithdrawApplyBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyBuyerController.java similarity index 87% rename from buyer-api/src/main/java/cn/lili/controller/member/MemberWithdrawApplyBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyBuyerController.java index 5ac9e860..84bd1492 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/MemberWithdrawApplyBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyBuyerController.java @@ -1,13 +1,13 @@ -package cn.lili.controller.member; +package cn.lili.controller.wallet; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.member.entity.dos.MemberWithdrawApply; -import cn.lili.modules.member.entity.vo.MemberWithdrawApplyQueryVO; -import cn.lili.modules.member.service.MemberWithdrawApplyService; +import cn.lili.modules.wallet.entity.dos.MemberWithdrawApply; +import cn.lili.modules.wallet.entity.vo.MemberWithdrawApplyQueryVO; +import cn.lili.modules.wallet.service.MemberWithdrawApplyService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/buyer-api/src/main/java/cn/lili/controller/member/RechargeBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/wallet/RechargeBuyerController.java similarity index 91% rename from buyer-api/src/main/java/cn/lili/controller/member/RechargeBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/wallet/RechargeBuyerController.java index e75eea9b..f4b8d7d9 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/RechargeBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/wallet/RechargeBuyerController.java @@ -1,12 +1,12 @@ -package cn.lili.controller.member; +package cn.lili.controller.wallet; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.order.trade.entity.dos.Recharge; import cn.lili.modules.order.trade.entity.vo.RechargeQueryVO; -import cn.lili.modules.order.trade.service.RechargeService; +import cn.lili.modules.wallet.entity.dos.Recharge; +import cn.lili.modules.wallet.service.RechargeService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/buyer-api/src/main/java/cn/lili/controller/trade/WalletLogBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/wallet/WalletLogBuyerController.java similarity index 91% rename from buyer-api/src/main/java/cn/lili/controller/trade/WalletLogBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/wallet/WalletLogBuyerController.java index b48918f3..676301fe 100644 --- a/buyer-api/src/main/java/cn/lili/controller/trade/WalletLogBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/wallet/WalletLogBuyerController.java @@ -1,12 +1,12 @@ -package cn.lili.controller.trade; +package cn.lili.controller.wallet; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.order.trade.entity.dos.WalletLog; -import cn.lili.modules.order.trade.service.WalletLogService; +import cn.lili.modules.wallet.entity.dos.WalletLog; +import cn.lili.modules.wallet.service.WalletLogService; import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; diff --git a/common-api/src/main/java/cn/lili/controller/common/FileController.java b/common-api/src/main/java/cn/lili/controller/common/FileController.java index 84df93ff..04e65810 100644 --- a/common-api/src/main/java/cn/lili/controller/common/FileController.java +++ b/common-api/src/main/java/cn/lili/controller/common/FileController.java @@ -2,11 +2,11 @@ package cn.lili.controller.common; import cn.lili.cache.Cache; import cn.lili.common.enums.ResultCode; +import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; -import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.common.vo.SearchVO; @@ -78,9 +78,7 @@ public class FileController { } throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR); case MANAGER: - if (file.getUserEnums().equals(authUser.getRole().name())) { - break; - } + break; default: throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR); } diff --git a/manager-api/src/main/java/cn/lili/controller/member/IpInfoManagerController.java b/common-api/src/main/java/cn/lili/controller/common/IpInfoManagerController.java similarity index 89% rename from manager-api/src/main/java/cn/lili/controller/member/IpInfoManagerController.java rename to common-api/src/main/java/cn/lili/controller/common/IpInfoManagerController.java index 77881b55..f0db1c2d 100644 --- a/manager-api/src/main/java/cn/lili/controller/member/IpInfoManagerController.java +++ b/common-api/src/main/java/cn/lili/controller/common/IpInfoManagerController.java @@ -1,7 +1,7 @@ -package cn.lili.controller.member; +package cn.lili.controller.common; -import cn.lili.common.utils.IpHelper; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.utils.IpHelper; import cn.lili.common.vo.ResultMessage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -19,8 +19,8 @@ import javax.servlet.http.HttpServletRequest; * @since 2020-02-25 14:10:16 */ @RestController -@Api(tags = "管理端,IP接口") -@RequestMapping("/manager/common/ip") +@Api(tags = "获取IP信息以及天气") +@RequestMapping("/common/ip") public class IpInfoManagerController { @Autowired private IpHelper ipHelper; @@ -28,7 +28,6 @@ public class IpInfoManagerController { @RequestMapping(value = "/info", method = RequestMethod.GET) @ApiOperation(value = "IP及天气相关信息") public ResultMessage upload(HttpServletRequest request) { - String result = ipHelper.getIpCity(request); return ResultUtil.data(result); } diff --git a/common-api/src/main/java/cn/lili/controller/common/SliderImageController.java b/common-api/src/main/java/cn/lili/controller/common/SliderImageController.java index cdb6ba5c..bb22429f 100644 --- a/common-api/src/main/java/cn/lili/controller/common/SliderImageController.java +++ b/common-api/src/main/java/cn/lili/controller/common/SliderImageController.java @@ -3,7 +3,7 @@ package cn.lili.controller.common; import cn.lili.cache.limit.annotation.LimitPoint; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.verification.enums.VerificationEnums; +import cn.lili.modules.verification.entity.enums.VerificationEnums; import cn.lili.modules.verification.service.VerificationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/common-api/src/main/java/cn/lili/controller/common/SmsController.java b/common-api/src/main/java/cn/lili/controller/common/SmsController.java index d74b25dc..d6f9e506 100644 --- a/common-api/src/main/java/cn/lili/controller/common/SmsController.java +++ b/common-api/src/main/java/cn/lili/controller/common/SmsController.java @@ -4,8 +4,8 @@ import cn.lili.cache.limit.annotation.LimitPoint; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.system.sms.SmsUtil; -import cn.lili.modules.verification.enums.VerificationEnums; +import cn.lili.modules.sms.SmsUtil; +import cn.lili.modules.verification.entity.enums.VerificationEnums; import cn.lili.modules.verification.service.VerificationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/consumer/src/main/java/cn/lili/event/AfterSaleStatusChangeEvent.java b/consumer/src/main/java/cn/lili/event/AfterSaleStatusChangeEvent.java index 0229cfb0..b81196e8 100644 --- a/consumer/src/main/java/cn/lili/event/AfterSaleStatusChangeEvent.java +++ b/consumer/src/main/java/cn/lili/event/AfterSaleStatusChangeEvent.java @@ -1,7 +1,7 @@ package cn.lili.event; -import cn.lili.modules.order.order.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; /** * 售后单改变状态 diff --git a/consumer/src/main/java/cn/lili/event/MemberWithdrawalEvent.java b/consumer/src/main/java/cn/lili/event/MemberWithdrawalEvent.java index 0a2b333d..97904347 100644 --- a/consumer/src/main/java/cn/lili/event/MemberWithdrawalEvent.java +++ b/consumer/src/main/java/cn/lili/event/MemberWithdrawalEvent.java @@ -1,6 +1,6 @@ package cn.lili.event; -import cn.lili.modules.member.entity.dto.MemberWithdrawalMessage; +import cn.lili.modules.wallet.entity.dto.MemberWithdrawalMessage; /** * 会员提现消息 diff --git a/consumer/src/main/java/cn/lili/event/impl/DistributionOrderExecute.java b/consumer/src/main/java/cn/lili/event/impl/DistributionOrderExecute.java index fed28ee0..7b9f138a 100644 --- a/consumer/src/main/java/cn/lili/event/impl/DistributionOrderExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/DistributionOrderExecute.java @@ -7,7 +7,7 @@ import cn.lili.modules.distribution.entity.dos.DistributionOrder; import cn.lili.modules.distribution.entity.enums.DistributionOrderStatusEnum; import cn.lili.modules.distribution.mapper.DistributionOrderMapper; import cn.lili.modules.distribution.service.DistributionOrderService; -import cn.lili.modules.order.order.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.dto.OrderMessage; import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum; import cn.lili.timetask.handler.EveryDayExecute; diff --git a/consumer/src/main/java/cn/lili/event/impl/FullDiscountExecute.java b/consumer/src/main/java/cn/lili/event/impl/FullDiscountExecute.java index fadf757a..ca7b1385 100644 --- a/consumer/src/main/java/cn/lili/event/impl/FullDiscountExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/FullDiscountExecute.java @@ -26,7 +26,7 @@ import cn.lili.modules.order.trade.entity.dos.OrderLog; import cn.lili.modules.order.trade.service.OrderLogService; import cn.lili.modules.promotion.service.MemberCouponService; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; -import cn.lili.rocketmq.tags.MqOrderTagsEnum; +import cn.lili.rocketmq.tags.OrderTagsEnum; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; @@ -190,7 +190,7 @@ public class FullDiscountExecute implements TradeEvent, OrderStatusChangeEvent { orderMessage.setPaymentMethod(order.getPaymentMethod()); orderMessage.setNewStatus(OrderStatusEnum.PAID); - String destination = rocketmqCustomProperties.getOrderTopic() + ":" + MqOrderTagsEnum.STATUS_CHANGE.name(); + String destination = rocketmqCustomProperties.getOrderTopic() + ":" + OrderTagsEnum.STATUS_CHANGE.name(); //发送订单变更mq消息 rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(orderMessage), RocketmqSendCallbackBuilder.commonCallback()); diff --git a/consumer/src/main/java/cn/lili/event/impl/MemberPointExecute.java b/consumer/src/main/java/cn/lili/event/impl/MemberPointExecute.java index 6c32b979..ab4a8d1a 100644 --- a/consumer/src/main/java/cn/lili/event/impl/MemberPointExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/MemberPointExecute.java @@ -1,7 +1,6 @@ package cn.lili.event.impl; -import cn.hutool.core.convert.Convert; import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.StringUtils; import cn.lili.event.AfterSaleStatusChangeEvent; @@ -12,11 +11,10 @@ import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.entity.dos.MemberEvaluation; import cn.lili.modules.member.entity.enums.PointTypeEnum; import cn.lili.modules.member.service.MemberService; -import cn.lili.modules.order.order.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dto.OrderMessage; import cn.lili.modules.order.order.entity.enums.OrderPromotionTypeEnum; -import cn.lili.modules.order.order.entity.enums.OrderStatusEnum; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum; diff --git a/consumer/src/main/java/cn/lili/event/impl/MemberWalletExecute.java b/consumer/src/main/java/cn/lili/event/impl/MemberWalletExecute.java index 99703c25..49274773 100644 --- a/consumer/src/main/java/cn/lili/event/impl/MemberWalletExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/MemberWalletExecute.java @@ -3,8 +3,7 @@ package cn.lili.event.impl; import cn.lili.event.MemberRegisterEvent; import cn.lili.modules.member.entity.dos.Member; -import cn.lili.modules.member.service.MemberWalletService; -import lombok.RequiredArgsConstructor; +import cn.lili.modules.wallet.service.MemberWalletService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/consumer/src/main/java/cn/lili/event/impl/NoticeMessageExecute.java b/consumer/src/main/java/cn/lili/event/impl/NoticeMessageExecute.java index 81d120d2..386732a7 100644 --- a/consumer/src/main/java/cn/lili/event/impl/NoticeMessageExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/NoticeMessageExecute.java @@ -2,22 +2,22 @@ package cn.lili.event.impl; import cn.lili.event.*; import cn.lili.modules.member.entity.dto.MemberPointMessage; -import cn.lili.modules.member.entity.dto.MemberWithdrawalMessage; -import cn.lili.modules.member.entity.enums.MemberWithdrawalDestinationEnum; import cn.lili.modules.member.entity.enums.PointTypeEnum; -import cn.lili.modules.member.entity.enums.WithdrawStatusEnum; import cn.lili.modules.message.entity.dto.NoticeMessageDTO; import cn.lili.modules.message.entity.enums.NoticeMessageNodeEnum; import cn.lili.modules.message.entity.enums.NoticeMessageParameterEnum; import cn.lili.modules.message.service.NoticeMessageService; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.cart.entity.dto.TradeDTO; -import cn.lili.modules.order.order.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.dto.OrderMessage; import cn.lili.modules.order.order.entity.enums.OrderPromotionTypeEnum; import cn.lili.modules.order.order.entity.vo.OrderDetailVO; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum; import cn.lili.modules.order.trade.entity.enums.AfterSaleTypeEnum; +import cn.lili.modules.wallet.entity.dto.MemberWithdrawalMessage; +import cn.lili.modules.wallet.entity.enums.MemberWithdrawalDestinationEnum; +import cn.lili.modules.wallet.entity.enums.WithdrawStatusEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/consumer/src/main/java/cn/lili/event/impl/WechatMessageExecute.java b/consumer/src/main/java/cn/lili/event/impl/WechatMessageExecute.java index dbd1d6ea..cbab13e4 100644 --- a/consumer/src/main/java/cn/lili/event/impl/WechatMessageExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/WechatMessageExecute.java @@ -2,10 +2,10 @@ package cn.lili.event.impl; import cn.lili.event.OrderStatusChangeEvent; import cn.lili.event.TradeEvent; -import cn.lili.modules.message.util.WechatMessageUtil; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.order.entity.dto.OrderMessage; import cn.lili.modules.order.order.entity.vo.OrderVO; +import cn.lili.modules.wechat.util.WechatMessageUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/consumer/src/main/java/cn/lili/init/SensitiveWordsInit.java b/consumer/src/main/java/cn/lili/init/SensitiveWordsInit.java new file mode 100644 index 00000000..7099d68c --- /dev/null +++ b/consumer/src/main/java/cn/lili/init/SensitiveWordsInit.java @@ -0,0 +1,34 @@ +package cn.lili.init; + +import cn.lili.modules.system.service.SensitiveWordsService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.stereotype.Component; + +/** + * SensitiveWordsInit + * + * @author Chopper + * @version v1.0 + * 2021-11-29 11:38 + */ +@Slf4j +@Component +public class SensitiveWordsInit implements ApplicationRunner { + + @Autowired + private SensitiveWordsService sensitiveWordsService; + + /** + * consumer 启动时,实时更新一下过滤词 + * + * @param args 启动参数 + */ + @Override + public void run(ApplicationArguments args) { + sensitiveWordsService.resetCache(); + } + +} \ No newline at end of file diff --git a/consumer/src/main/java/cn/lili/listener/AfterSaleMessageListener.java b/consumer/src/main/java/cn/lili/listener/AfterSaleMessageListener.java index d950ac59..13dd5860 100644 --- a/consumer/src/main/java/cn/lili/listener/AfterSaleMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/AfterSaleMessageListener.java @@ -1,9 +1,9 @@ package cn.lili.listener; import cn.hutool.json.JSONUtil; -import cn.lili.rocketmq.tags.AfterSaleTagsEnum; import cn.lili.event.AfterSaleStatusChangeEvent; -import cn.lili.modules.order.order.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; +import cn.lili.rocketmq.tags.AfterSaleTagsEnum; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; @@ -17,7 +17,6 @@ import java.util.List; * 售后通知 * * @author paulG - * @since 2020/12/9 */ @Slf4j @Component diff --git a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java index 76ad47e5..44e53e0f 100644 --- a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java @@ -11,19 +11,13 @@ import cn.lili.modules.distribution.entity.dos.DistributionGoods; import cn.lili.modules.distribution.entity.dos.DistributionSelectedGoods; import cn.lili.modules.distribution.service.DistributionGoodsService; import cn.lili.modules.distribution.service.DistributionSelectedGoodsService; -import cn.lili.modules.goods.entity.dos.Brand; -import cn.lili.modules.goods.entity.dos.Category; -import cn.lili.modules.goods.entity.dos.Goods; -import cn.lili.modules.goods.entity.dos.GoodsSku; +import cn.lili.modules.goods.entity.dos.*; import cn.lili.modules.goods.entity.dto.GoodsCompleteMessage; import cn.lili.modules.goods.entity.dto.GoodsParamsDTO; import cn.lili.modules.goods.entity.dto.GoodsSearchParams; import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; -import cn.lili.modules.goods.service.BrandService; -import cn.lili.modules.goods.service.CategoryService; -import cn.lili.modules.goods.service.GoodsService; -import cn.lili.modules.goods.service.GoodsSkuService; +import cn.lili.modules.goods.service.*; import cn.lili.modules.member.entity.dos.FootPrint; import cn.lili.modules.member.entity.dos.MemberEvaluation; import cn.lili.modules.member.service.FootprintService; @@ -35,8 +29,6 @@ import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams; import cn.lili.modules.promotion.service.PromotionGoodsService; import cn.lili.modules.search.entity.dos.EsGoodsIndex; import cn.lili.modules.search.service.EsGoodsIndexService; -import cn.lili.modules.store.entity.dos.StoreGoodsLabel; -import cn.lili.modules.store.service.StoreGoodsLabelService; import cn.lili.modules.store.service.StoreService; import cn.lili.rocketmq.tags.GoodsTagsEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -197,10 +189,6 @@ public class GoodsMessageListener implements RocketMQListener { List skuIds = JSONUtil.toList(message, String.class); goodsCollectionService.deleteSkuCollection(skuIds); break; - //收藏商品 - case GOODS_COLLECTION: - storeService.updateStoreCollectionNum(new String(messageExt.getBody())); - break; //商品评价 case GOODS_COMMENT_COMPLETE: MemberEvaluation memberEvaluation = JSONUtil.toBean(new String(messageExt.getBody()), MemberEvaluation.class); @@ -394,9 +382,8 @@ public class GoodsMessageListener implements RocketMQListener { */ private void updateGoodsNum(MessageExt messageExt) { - Goods goods; try { - goods = JSONUtil.toBean(new String(messageExt.getBody()), Goods.class); + Goods goods = JSONUtil.toBean(new String(messageExt.getBody()), Goods.class); //更新店铺商品数量 assert goods != null; storeService.updateStoreGoodsNum(goods.getStoreId()); diff --git a/consumer/src/main/java/cn/lili/listener/MemberMessageListener.java b/consumer/src/main/java/cn/lili/listener/MemberMessageListener.java index 48800bb5..2e69d28a 100644 --- a/consumer/src/main/java/cn/lili/listener/MemberMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/MemberMessageListener.java @@ -1,15 +1,15 @@ package cn.lili.listener; import cn.hutool.json.JSONUtil; -import cn.lili.rocketmq.tags.MemberTagsEnum; import cn.lili.event.MemberPointChangeEvent; import cn.lili.event.MemberRegisterEvent; import cn.lili.event.MemberWithdrawalEvent; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.entity.dos.MemberSign; import cn.lili.modules.member.entity.dto.MemberPointMessage; -import cn.lili.modules.member.entity.dto.MemberWithdrawalMessage; import cn.lili.modules.member.service.MemberSignService; +import cn.lili.modules.wallet.entity.dto.MemberWithdrawalMessage; +import cn.lili.rocketmq.tags.MemberTagsEnum; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; diff --git a/consumer/src/main/java/cn/lili/listener/NoticeSendMessageListener.java b/consumer/src/main/java/cn/lili/listener/NoticeSendMessageListener.java index c45dad05..1f4adbbd 100644 --- a/consumer/src/main/java/cn/lili/listener/NoticeSendMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/NoticeSendMessageListener.java @@ -10,15 +10,15 @@ import cn.lili.modules.member.service.MemberService; import cn.lili.modules.message.entity.dos.MemberMessage; import cn.lili.modules.message.entity.dos.Message; import cn.lili.modules.message.entity.dos.StoreMessage; -import cn.lili.modules.message.entity.dto.SmsReachDTO; import cn.lili.modules.message.entity.enums.MessageSendClient; import cn.lili.modules.message.entity.enums.MessageStatusEnum; import cn.lili.modules.message.entity.enums.RangeEnum; import cn.lili.modules.message.service.MemberMessageService; import cn.lili.modules.message.service.StoreMessageService; +import cn.lili.modules.sms.SmsUtil; +import cn.lili.modules.sms.entity.dto.SmsReachDTO; import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.service.StoreService; -import cn.lili.modules.system.sms.SmsUtil; import cn.lili.rocketmq.tags.OtherTagsEnum; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; diff --git a/consumer/src/main/java/cn/lili/listener/OrderMessageListener.java b/consumer/src/main/java/cn/lili/listener/OrderMessageListener.java index 6c32fc44..29f5bda7 100644 --- a/consumer/src/main/java/cn/lili/listener/OrderMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/OrderMessageListener.java @@ -2,11 +2,11 @@ package cn.lili.listener; import cn.hutool.json.JSONUtil; import cn.lili.cache.Cache; -import cn.lili.rocketmq.tags.MqOrderTagsEnum; import cn.lili.event.OrderStatusChangeEvent; import cn.lili.event.TradeEvent; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.order.entity.dto.OrderMessage; +import cn.lili.rocketmq.tags.OrderTagsEnum; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; @@ -58,7 +58,7 @@ public class OrderMessageListener implements RocketMQListener { */ public void orderStatusEvent(MessageExt messageExt) { - switch (MqOrderTagsEnum.valueOf(messageExt.getTags())) { + switch (OrderTagsEnum.valueOf(messageExt.getTags())) { //订单创建 case ORDER_CREATE: String key = new String(messageExt.getBody()); diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponExecute.java index 4894a994..613380d6 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/coupon/CouponExecute.java @@ -1,6 +1,5 @@ package cn.lili.timetask.handler.impl.coupon; -import cn.lili.common.utils.DateUtil; import cn.lili.modules.promotion.entity.dos.MemberCoupon; import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum; import cn.lili.modules.promotion.service.MemberCouponService; @@ -43,7 +42,7 @@ public class CouponExecute implements EveryDayExecute { this.memberCouponService.update(updateWrapper); Calendar calendar = Calendar.getInstance(); - calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + EXPIRATION_DAY); + calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) - EXPIRATION_DAY); Date removeTime = calendar.getTime(); //删除过期/已使用的优惠券 LambdaUpdateWrapper deleteWrapper = new LambdaUpdateWrapper() diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java index 820d5aff..bfe509b3 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java @@ -8,6 +8,7 @@ import cn.lili.common.exception.ServiceException; import cn.lili.modules.member.entity.dto.MemberEvaluationDTO; import cn.lili.modules.member.entity.enums.EvaluationGradeEnum; import cn.lili.modules.member.service.MemberEvaluationService; +import cn.lili.modules.order.aftersale.service.AfterSaleService; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.OrderItem; import cn.lili.modules.order.order.entity.enums.CommentStatusEnum; @@ -15,7 +16,6 @@ import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderStatusEnum; import cn.lili.modules.order.order.mapper.OrderItemMapper; -import cn.lili.modules.order.order.service.AfterSaleService; import cn.lili.modules.order.order.service.OrderItemService; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.system.entity.dos.Setting; diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/order/RechargeOrderTaskExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/order/RechargeOrderTaskExecute.java index b64f740c..e0ca23a1 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/order/RechargeOrderTaskExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/order/RechargeOrderTaskExecute.java @@ -4,12 +4,12 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONUtil; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; -import cn.lili.modules.order.trade.entity.dos.Recharge; -import cn.lili.modules.order.trade.service.RechargeService; import cn.lili.modules.system.entity.dos.Setting; import cn.lili.modules.system.entity.dto.OrderSetting; import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; +import cn.lili.modules.wallet.entity.dos.Recharge; +import cn.lili.modules.wallet.service.RechargeService; import cn.lili.timetask.handler.EveryMinuteExecute; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/MemberStatisticsExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/MemberStatisticsExecute.java index 63b43f2b..b349250d 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/MemberStatisticsExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/MemberStatisticsExecute.java @@ -1,7 +1,7 @@ package cn.lili.timetask.handler.impl.statistics; import cn.lili.modules.statistics.entity.dos.MemberStatisticsData; -import cn.lili.modules.statistics.service.MemberStatisticsDataService; +import cn.lili.modules.statistics.service.MemberStatisticsService; import cn.lili.timetask.handler.EveryDayExecute; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -24,7 +24,7 @@ public class MemberStatisticsExecute implements EveryDayExecute { * 会员统计 */ @Autowired - private MemberStatisticsDataService memberStatisticsDataService; + private MemberStatisticsService memberStatisticsService; @Override public void execute() { @@ -43,30 +43,13 @@ public class MemberStatisticsExecute implements EveryDayExecute { calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) - 1); startTime = calendar.getTime(); MemberStatisticsData memberStatisticsData = new MemberStatisticsData(); - memberStatisticsData.setMemberCount(memberStatisticsDataService.memberCount(endTime)); + memberStatisticsData.setMemberCount(memberStatisticsService.memberCount(endTime)); memberStatisticsData.setCreateDate(startTime); - memberStatisticsData.setActiveQuantity(memberStatisticsDataService.activeQuantity(startTime)); - memberStatisticsData.setNewlyAdded(memberStatisticsDataService.newlyAdded(startTime, endTime)); - memberStatisticsDataService.save(memberStatisticsData); + memberStatisticsData.setActiveQuantity(memberStatisticsService.activeQuantity(startTime)); + memberStatisticsData.setNewlyAdded(memberStatisticsService.newlyAdded(startTime, endTime)); + memberStatisticsService.save(memberStatisticsData); } catch (Exception e) { log.error("每日会员统计功能异常:", e); } } - - public static void main(String[] args) { - - //统计的时间(开始。结束时间) - Date startTime, endTime; - //初始值 - Calendar calendar = Calendar.getInstance(); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MILLISECOND, 1); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.HOUR_OF_DAY, 0); - endTime = calendar.getTime(); - //-1天,即为开始时间 - calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) - 1); - startTime = calendar.getTime(); - System.out.println(startTime); - } } \ No newline at end of file diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/view/PageViewStatisticsExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/view/PageViewStatisticsExecute.java index 3821f8b6..0783517b 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/view/PageViewStatisticsExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/view/PageViewStatisticsExecute.java @@ -5,7 +5,7 @@ import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.utils.BeanUtil; import cn.lili.modules.statistics.entity.dos.PlatformViewData; -import cn.lili.modules.statistics.service.PlatformViewDataService; +import cn.lili.modules.statistics.service.PlatformViewService; import cn.lili.timetask.handler.EveryDayExecute; import lombok.Data; import lombok.extern.slf4j.Slf4j; @@ -37,7 +37,7 @@ public class PageViewStatisticsExecute implements EveryDayExecute { * 平台PV统计 */ @Autowired - private PlatformViewDataService platformViewDataService; + private PlatformViewService platformViewService; @Override public void execute() { @@ -123,7 +123,7 @@ public class PageViewStatisticsExecute implements EveryDayExecute { @Transactional(rollbackFor = Exception.class) void batchSave(List pvKeys, List uvKeys, List platformViewData) { log.debug("批量保存流量数据,共计【{}】条", platformViewData.size()); - platformViewDataService.saveBatch(platformViewData); + platformViewService.saveBatch(platformViewData); //批量删除缓存key cache.multiDel(pvKeys); cache.multiDel(uvKeys); diff --git a/framework/pom.xml b/framework/pom.xml index 92c9f577..2c35e2fc 100644 --- a/framework/pom.xml +++ b/framework/pom.xml @@ -26,6 +26,12 @@ + + + org.springframework.boot + spring-boot-starter-quartz + + org.springframework.boot spring-boot-starter-web @@ -80,11 +86,11 @@ org.springframework.boot spring-boot-starter-data-mongodb - - - - - + + + + + com.baomidou @@ -271,11 +277,11 @@ logstash-logback-encoder ${logstash-logback-encoder} - - - - - + + + + + de.codecentric spring-boot-admin-starter-client diff --git a/framework/src/main/java/cn/lili/cache/CachePrefix.java b/framework/src/main/java/cn/lili/cache/CachePrefix.java index 8b3bab3f..27740abe 100644 --- a/framework/src/main/java/cn/lili/cache/CachePrefix.java +++ b/framework/src/main/java/cn/lili/cache/CachePrefix.java @@ -480,7 +480,11 @@ public enum CachePrefix { /** * 订单暂时缓存 */ - ORDER; + ORDER, + /** + * 敏感词 + */ + SENSITIVE; public static String removePrefix(String str) { diff --git a/framework/src/main/java/cn/lili/cache/util/RedisUtil.java b/framework/src/main/java/cn/lili/cache/util/RedisUtil.java deleted file mode 100644 index 98516a63..00000000 --- a/framework/src/main/java/cn/lili/cache/util/RedisUtil.java +++ /dev/null @@ -1,250 +0,0 @@ -package cn.lili.cache.util; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.DefaultTypedTuple; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.stereotype.Component; - -import java.util.List; -import java.util.Set; -import java.util.concurrent.TimeUnit; - -/** - * Redis封装工具类 - * - * @author paulG - * @since 2020/11/7 - **/ -@Slf4j -@Component -public class RedisUtil { - @Autowired - private RedisTemplate redisTemplate; - - //=============================common============================ - - /** - * 指定缓存失效时间 - * - * @param key 键 - * @param time 时间(秒) - * @return 操作结果 - */ - public boolean expire(String key, long time) { - try { - if (time > 0) { - redisTemplate.expire(key, time, TimeUnit.SECONDS); - } - return true; - } catch (Exception e) { - log.error("指定缓存失效时间错误",e); - return false; - } - } - - - //============================String============================= - - /** - * 普通缓存获取 - * - * @param key 键 - * @return 值 - */ - public Object get(String key) { - return key == null ? null : redisTemplate.opsForValue().get(key); - } - - - /** - * 普通缓存获取 - * - * @param key 键 - * @return 值 - */ - public T get(String key, Class clazz) { - Object o = key == null ? null : redisTemplate.opsForValue().get(key); - return (T) o; - } - - /** - * 普通缓存放入 - * - * @param key 键 - * @param value 值 - * @return true成功 false失败 - */ - public boolean set(String key, Object value) { - try { - redisTemplate.opsForValue().set(key, value); - return true; - } catch (Exception e) { - log.error("缓存放入错误",e); - return false; - } - - } - - /** - * 普通缓存放入并设置时间 - * - * @param key 键 - * @param value 值 - * @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期 - * @return true成功 false 失败 - */ - public boolean set(String key, Object value, long time) { - try { - if (time > 0) { - redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS); - } else { - set(key, value); - } - return true; - } catch (Exception e) { - log.error("普通缓存放入并设置时间错误",e); - return false; - } - } - - //================================Map================================= - - - /** - * 将数据放入set缓存 - * - * @param key 键 - * @param values 值 可以是多个 - * @return 成功个数 - */ - public long sSet(String key, Object... values) { - try { - return redisTemplate.opsForSet().add(key, values); - } catch (Exception e) { - log.error("将数据放入set缓存错误",e); - return 0; - } - } - - - /** - * 将list放入缓存 - * - * @param key 键 - * @param value 值 - * @return 操作结果 - */ - public boolean lSet(String key, Object value) { - try { - redisTemplate.opsForList().rightPush(key, value); - return true; - } catch (Exception e) { - log.error("将list放入缓存错误",e); - return false; - } - } - - /** - * 将list放入缓存 - * - * @param key 键 - * @param value 值 - * @param time 时间(秒) - * @return 操作结果 - */ - public boolean lSet(String key, Object value, long time) { - try { - redisTemplate.opsForList().rightPush(key, value); - if (time > 0) { - expire(key, time); - } - return true; - } catch (Exception e) { - log.error("将list放入缓存错误",e); - return false; - } - } - - /** - * 将list放入缓存 - * - * @param key 键 - * @param value 值 - * @return 操作结果 - */ - public boolean lSet(String key, List value) { - try { - redisTemplate.opsForList().rightPushAll(key, value); - return true; - } catch (Exception e) { - log.error("将list放入缓存错误",e); - return false; - } - } - - - /** - * 将list放入缓存 - * - * @param key 键 - * @param value 值 - * @param time 时间(秒) - * @return 操作结果 - */ - public boolean lSet(String key, List value, long time) { - try { - redisTemplate.opsForList().rightPushAll(key, value); - if (time > 0) { - expire(key, time); - } - return true; - } catch (Exception e) { - log.error("将list放入缓存错误",e); - return false; - } - } - - - //===============================ZSet================================= - - /** - * 向Zset里添加成员 - * - * @param key 键 - * @param score 分数 - * @param value 值 - * @return 操作结果 - */ - public boolean zadd(String key, long score, String value) { - return redisTemplate.opsForZSet().add(key, value, score); - - } - - - /** - * 获取 某key 下 某一分值区间的队列 - * - * @param key 键 - * @param from 起始位置 - * @param to 结束为止 - * @return 符合条件的结果集 - */ - public Set zrangeByScoreWithScores(String key, int from, long to) { - Set set = redisTemplate.opsForZSet().rangeByScoreWithScores(key, from, to); - return set; - } - - /** - * 移除 Zset队列值 - * - * @param key 键 - * @param value 值集合 - * @return 移除数量 - */ - public Long zremove(String key, String... value) { - return redisTemplate.opsForZSet().remove(key, value); - - } - -} diff --git a/framework/src/main/java/cn/lili/modules/system/aspect/annotation/DemoSite.java b/framework/src/main/java/cn/lili/common/aop/annotation/DemoSite.java similarity index 82% rename from framework/src/main/java/cn/lili/modules/system/aspect/annotation/DemoSite.java rename to framework/src/main/java/cn/lili/common/aop/annotation/DemoSite.java index b522aee2..48facbd3 100644 --- a/framework/src/main/java/cn/lili/modules/system/aspect/annotation/DemoSite.java +++ b/framework/src/main/java/cn/lili/common/aop/annotation/DemoSite.java @@ -1,4 +1,4 @@ -package cn.lili.modules.system.aspect.annotation; +package cn.lili.common.aop.annotation; import java.lang.annotation.*; diff --git a/framework/src/main/java/cn/lili/modules/system/aspect/interceptor/DemoInterceptor.java b/framework/src/main/java/cn/lili/common/aop/interceptor/DemoInterceptor.java similarity index 88% rename from framework/src/main/java/cn/lili/modules/system/aspect/interceptor/DemoInterceptor.java rename to framework/src/main/java/cn/lili/common/aop/interceptor/DemoInterceptor.java index 3a6fc434..d021b474 100644 --- a/framework/src/main/java/cn/lili/modules/system/aspect/interceptor/DemoInterceptor.java +++ b/framework/src/main/java/cn/lili/common/aop/interceptor/DemoInterceptor.java @@ -1,9 +1,9 @@ -package cn.lili.modules.system.aspect.interceptor; +package cn.lili.common.aop.interceptor; +import cn.lili.common.aop.annotation.DemoSite; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.properties.SystemSettingProperties; -import cn.lili.modules.system.aspect.annotation.DemoSite; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.beans.factory.annotation.Autowired; diff --git a/framework/src/main/java/cn/lili/common/enums/ResultCode.java b/framework/src/main/java/cn/lili/common/enums/ResultCode.java index af83e361..70b834e3 100644 --- a/framework/src/main/java/cn/lili/common/enums/ResultCode.java +++ b/framework/src/main/java/cn/lili/common/enums/ResultCode.java @@ -210,6 +210,7 @@ public enum ResultCode { AFTER_STATUS_ERROR(33006, "售后状态错误,请刷新页面"), RETURN_MONEY_OFFLINE_BANK_ERROR(33007, "当账号类型为银行转账时,银行信息不能为空"), AFTER_SALES_PRICE_ERROR(33004, "申请退款金额错误"), + AFTER_GOODS_NUMBER_ERROR(33008, "申请售后商品数量错误"), /** * 投诉 diff --git a/framework/src/main/java/cn/lili/modules/system/utils/OperationalJudgment.java b/framework/src/main/java/cn/lili/common/security/OperationalJudgment.java similarity index 96% rename from framework/src/main/java/cn/lili/modules/system/utils/OperationalJudgment.java rename to framework/src/main/java/cn/lili/common/security/OperationalJudgment.java index d4cd0064..c9a53675 100644 --- a/framework/src/main/java/cn/lili/modules/system/utils/OperationalJudgment.java +++ b/framework/src/main/java/cn/lili/common/security/OperationalJudgment.java @@ -1,8 +1,7 @@ -package cn.lili.modules.system.utils; +package cn.lili.common.security; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.BeanUtil; diff --git a/framework/src/main/java/cn/lili/common/security/filter/XssHttpServletRequestWrapper.java b/framework/src/main/java/cn/lili/common/security/filter/XssHttpServletRequestWrapper.java index d7061cf2..928436f3 100644 --- a/framework/src/main/java/cn/lili/common/security/filter/XssHttpServletRequestWrapper.java +++ b/framework/src/main/java/cn/lili/common/security/filter/XssHttpServletRequestWrapper.java @@ -4,6 +4,7 @@ package cn.lili.common.security.filter; import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.http.HtmlUtil; import cn.hutool.json.JSONUtil; +import lombok.extern.slf4j.Slf4j; import org.owasp.html.Sanitizers; import javax.servlet.ReadListener; @@ -27,6 +28,7 @@ import java.util.Map; * @version v1.0 * 2021-06-04 10:39 */ +@Slf4j public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { @@ -35,7 +37,20 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { * * @todo 这里的参数应该更智能些,例如iv,前端的参数包含这两个字母就会放过,这是有问题的 */ - private static final String[] IGNORE_FIELD = {"logo", "url", "photo", "intro", "content", "name", "image", "encrypted", "iv","mail"}; + private static final String[] IGNORE_FIELD = { + "logo", + "url", + "photo", + "intro", + "content", + "name", + "image", + "encrypted", + "iv", + "mail", + "privateKey", + "wechatpay", + }; public XssHttpServletRequestWrapper(HttpServletRequest request) { super(request); @@ -128,45 +143,72 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { */ @Override public ServletInputStream getInputStream() throws IOException { - //获取输入流 - ServletInputStream in = super.getInputStream(); - //用于存储输入流 - StringBuilder body = new StringBuilder(); - InputStreamReader reader = new InputStreamReader(in, StandardCharsets.UTF_8); - BufferedReader bufferedReader = new BufferedReader(reader); - //按行读取输入流 - String line = bufferedReader.readLine(); - while (line != null) { - //将获取到的第一行数据append到StringBuffer中 - body.append(line); - //继续读取下一行流,直到line为空 - line = bufferedReader.readLine(); - } - //关闭流 - bufferedReader.close(); - reader.close(); - in.close(); - if (CharSequenceUtil.isNotEmpty(body) && Boolean.TRUE.equals(JSONUtil.isJsonObj(body.toString()))) { - //将body转换为map - Map map = JSONUtil.parseObj(body.toString()); - //创建空的map用于存储结果 - Map resultMap = new HashMap<>(map.size()); - //遍历数组 - for (Map.Entry entry : map.entrySet()) { - //如果map.get(key)获取到的是字符串就需要进行处理,如果不是直接存储resultMap - if (map.get(entry.getKey()) instanceof String) { - resultMap.put(entry.getKey(), filterXss(entry.getKey(), entry.getValue().toString())); - } else { - resultMap.put(entry.getKey(), entry.getValue()); + BufferedReader bufferedReader = null; + + InputStreamReader reader = null; + + //获取输入流 + ServletInputStream in = null; + try { + in = super.getInputStream(); + //用于存储输入流 + StringBuilder body = new StringBuilder(); + reader = new InputStreamReader(in, StandardCharsets.UTF_8); + bufferedReader = new BufferedReader(reader); + //按行读取输入流 + String line = bufferedReader.readLine(); + while (line != null) { + //将获取到的第一行数据append到StringBuffer中 + body.append(line); + //继续读取下一行流,直到line为空 + line = bufferedReader.readLine(); + } + if (CharSequenceUtil.isNotEmpty(body) && Boolean.TRUE.equals(JSONUtil.isJsonObj(body.toString()))) { + //将body转换为map + Map map = JSONUtil.parseObj(body.toString()); + //创建空的map用于存储结果 + Map resultMap = new HashMap<>(map.size()); + //遍历数组 + for (Map.Entry entry : map.entrySet()) { + //如果map.get(key)获取到的是字符串就需要进行处理,如果不是直接存储resultMap + if (map.get(entry.getKey()) instanceof String) { + resultMap.put(entry.getKey(), filterXss(entry.getKey(), entry.getValue().toString())); + } else { + resultMap.put(entry.getKey(), entry.getValue()); + } } + + //将resultMap转换为json字符串 + String resultStr = JSONUtil.toJsonStr(resultMap); + //将json字符串转换为字节 + final ByteArrayInputStream resultBIS = new ByteArrayInputStream(resultStr.getBytes()); + + //实现接口 + return new ServletInputStream() { + @Override + public boolean isFinished() { + return false; + } + + @Override + public boolean isReady() { + return false; + } + + @Override + public void setReadListener(ReadListener readListener) { + } + + @Override + public int read() { + return resultBIS.read(); + } + }; } - //将resultMap转换为json字符串 - String resultStr = JSONUtil.toJsonStr(resultMap); //将json字符串转换为字节 - final ByteArrayInputStream resultBIS = new ByteArrayInputStream(resultStr.getBytes()); - + final ByteArrayInputStream bis = new ByteArrayInputStream(body.toString().getBytes()); //实现接口 return new ServletInputStream() { @Override @@ -181,41 +223,31 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { @Override public void setReadListener(ReadListener readListener) { + } @Override public int read() { - return resultBIS.read(); + return bis.read(); } }; + } catch (Exception e) { + + log.error("get request inputStream error", e); + return null; + } finally { + //关闭流 + if (bufferedReader != null) { + bufferedReader.close(); + } + if (reader != null) { + reader.close(); + } + if (in != null) { + in.close(); + } } - //将json字符串转换为字节 - final ByteArrayInputStream bis = new ByteArrayInputStream(body.toString().getBytes()); - - //实现接口 - return new ServletInputStream() { - @Override - public boolean isFinished() { - return false; - } - - @Override - public boolean isReady() { - return false; - } - - @Override - public void setReadListener(ReadListener readListener) { - - } - - @Override - public int read() { - return bis.read(); - } - }; - } private String cleanXSS(String value) { diff --git a/framework/src/main/java/cn/lili/modules/system/utils/SensitiveWordsFilter.java b/framework/src/main/java/cn/lili/common/sensitive/SensitiveWordsFilter.java similarity index 82% rename from framework/src/main/java/cn/lili/modules/system/utils/SensitiveWordsFilter.java rename to framework/src/main/java/cn/lili/common/sensitive/SensitiveWordsFilter.java index 63a04787..14f70b0c 100644 --- a/framework/src/main/java/cn/lili/modules/system/utils/SensitiveWordsFilter.java +++ b/framework/src/main/java/cn/lili/common/sensitive/SensitiveWordsFilter.java @@ -1,12 +1,6 @@ -package cn.lili.modules.system.utils; +package cn.lili.common.sensitive; -import cn.lili.modules.system.entity.dos.SensitiveWords; -import cn.lili.modules.system.service.SensitiveWordsService; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.ApplicationArguments; -import org.springframework.boot.ApplicationRunner; -import org.springframework.stereotype.Component; import java.io.Serializable; import java.util.List; @@ -21,9 +15,12 @@ import java.util.NavigableSet; * 2020-02-25 14:10:16 */ @Slf4j -@Component -public class SensitiveWordsFilter implements Serializable, ApplicationRunner { +public class SensitiveWordsFilter implements Serializable { + /** + * 字符* + */ + public final static char WILDCARD_STAR = '*'; /** * 为2的n次方,考虑到敏感词大概在10k左右, @@ -37,98 +34,27 @@ public class SensitiveWordsFilter implements Serializable, ApplicationRunner { * 类似HashMap的桶,比较稀疏。 * 使用2个字符的hash定位。 */ - protected static SensitiveWordsNode[] nodes; - - @Autowired - private SensitiveWordsService sensitiveWordsService; - + protected static SensitiveWordsNode[] nodes = new SensitiveWordsNode[0]; /** - * 增加一个敏感词,如果词的长度(trim后)小于2,则丢弃
- * 此方法(构建)并不是主要的性能优化点。 - * - * @param word 敏感词 - * @return 操作结果 + * 更新中的nodes,用于防止动态更新时,原有nodes被清空,导致无法正常写入过滤词 */ - public static boolean put(String word) { + protected static SensitiveWordsNode[] nodesUpdate; - //长度小于2的不加入 - if (word == null || word.trim().length() < 2) { - return false; - } - //两个字符的不考虑 - if (word.length() == 2 && word.matches("\\w\\w")) { - return false; - } - StringPointer sp = new StringPointer(word.trim()); - //计算头两个字符的hash - int hash = sp.nextTwoCharHash(0); - //计算头两个字符的mix表示(mix相同,两个字符相同) - int mix = sp.nextTwoCharMix(0); - //转为在hash桶中的位置 - int index = hash & (nodes.length - 1); - - //从桶里拿第一个节点 - SensitiveWordsNode node = nodes[index]; - if (node == null) { - //如果没有节点,则放进去一个 - node = new SensitiveWordsNode(mix); - //并添加词 - node.words.add(sp); - //放入桶里 - nodes[index] = node; - } else { - //如果已经有节点(1个或多个),找到正确的节点 - for (; node != null; node = node.next) { - //匹配节点 - if (node.headTwoCharMix == mix) { - node.words.add(sp); - return true; - } - //如果匹配到最后仍然不成功,则追加一个节点 - if (node.next == null) { - new SensitiveWordsNode(mix, node).words.add(sp); - return true; - } - } - } - return true; - } /** - * 移除敏感词 + * 过滤铭感次 * - * @param word + * @param sentence 过滤赐予 * @return */ - public static void remove(String word) { - - StringPointer sp = new StringPointer(word.trim()); - //计算头两个字符的hash - int hash = sp.nextTwoCharHash(0); - //计算头两个字符的mix表示(mix相同,两个字符相同) - int mix = sp.nextTwoCharMix(0); - //转为在hash桶中的位置 - int index = hash & (nodes.length - 1); - SensitiveWordsNode node = nodes[index]; - - for (; node != null; node = node.next) { - //匹配节点 - if (node.headTwoCharMix == mix) { - node.words.remove(sp); - } - - } + public static String filter(String sentence) { + return filter(sentence, WILDCARD_STAR); } /** * 对句子进行敏感词过滤
- * 如果无敏感词返回输入的sentence对象,即可以用下面的方式判断是否有敏感词:
- * String result = filter.filter(sentence, CharacterConstant.WILDCARD_STAR);
- * if(result != sentence){
- *   //有敏感词
- * } - *
+ * 如果无敏感词返回输入的sentence对象,即可以用下面的方式判断是否有敏感词:
* * @param sentence 句子 * @param replace 敏感词的替换字符 @@ -224,25 +150,96 @@ public class SensitiveWordsFilter implements Serializable, ApplicationRunner { } } + /** * 初始化敏感词 - * - * @param args - * @throws Exception */ - @Override - public void run(ApplicationArguments args) { - try { - nodes = new SensitiveWordsNode[DEFAULT_INITIAL_CAPACITY]; - //加入平台添加的敏感词 - List list = sensitiveWordsService.list(); - if (list != null && list.size() > 0) { - for (SensitiveWords sensitiveWords : list) { - put(sensitiveWords.getSensitiveWord()); + public static void init(List words) { + log.info("开始初始化敏感词"); + nodesUpdate = new SensitiveWordsNode[DEFAULT_INITIAL_CAPACITY]; + for (String word : words) { + put(word); + } + nodes = nodesUpdate; + } + + /** + * 增加一个敏感词,如果词的长度(trim后)小于2,则丢弃
+ * 此方法(构建)并不是主要的性能优化点。 + * + * @param word 敏感词 + * @return 操作结果 + */ + public static boolean put(String word) { + + //长度小于2的不加入 + if (word == null || word.trim().length() < 2) { + return false; + } + //两个字符的不考虑 + if (word.length() == 2 && word.matches("\\w\\w")) { + return false; + } + StringPointer sp = new StringPointer(word.trim()); + //计算头两个字符的hash + int hash = sp.nextTwoCharHash(0); + //计算头两个字符的mix表示(mix相同,两个字符相同) + int mix = sp.nextTwoCharMix(0); + //转为在hash桶中的位置 + int index = hash & (nodesUpdate.length - 1); + + //从桶里拿第一个节点 + SensitiveWordsNode node = nodesUpdate[index]; + if (node == null) { + //如果没有节点,则放进去一个 + node = new SensitiveWordsNode(mix); + //并添加词 + node.words.add(sp); + //放入桶里 + nodesUpdate[index] = node; + } else { + //如果已经有节点(1个或多个),找到正确的节点 + for (; node != null; node = node.next) { + //匹配节点 + if (node.headTwoCharMix == mix) { + node.words.add(sp); + return true; + } + //如果匹配到最后仍然不成功,则追加一个节点 + if (node.next == null) { + new SensitiveWordsNode(mix, node).words.add(sp); + return true; } } - } catch (Exception e) { - log.error("初始化敏感词错误", e); + } + return true; + } + + /** + * 移除敏感词 + * + * @param word + * @return + */ + public static void remove(String word) { + + StringPointer sp = new StringPointer(word.trim()); + //计算头两个字符的hash + int hash = sp.nextTwoCharHash(0); + //计算头两个字符的mix表示(mix相同,两个字符相同) + int mix = sp.nextTwoCharMix(0); + //转为在hash桶中的位置 + int index = hash & (nodes.length - 1); + SensitiveWordsNode node = nodes[index]; + + for (; node != null; node = node.next) { + //匹配节点 + if (node.headTwoCharMix == mix) { + node.words.remove(sp); + } + } } + + } diff --git a/framework/src/main/java/cn/lili/modules/system/utils/SensitiveWordsNode.java b/framework/src/main/java/cn/lili/common/sensitive/SensitiveWordsNode.java similarity index 95% rename from framework/src/main/java/cn/lili/modules/system/utils/SensitiveWordsNode.java rename to framework/src/main/java/cn/lili/common/sensitive/SensitiveWordsNode.java index 7932b773..aa3131f9 100644 --- a/framework/src/main/java/cn/lili/modules/system/utils/SensitiveWordsNode.java +++ b/framework/src/main/java/cn/lili/common/sensitive/SensitiveWordsNode.java @@ -1,4 +1,4 @@ -package cn.lili.modules.system.utils; +package cn.lili.common.sensitive; import java.io.Serializable; import java.util.TreeSet; diff --git a/framework/src/main/java/cn/lili/modules/system/utils/StringPointer.java b/framework/src/main/java/cn/lili/common/sensitive/StringPointer.java similarity index 73% rename from framework/src/main/java/cn/lili/modules/system/utils/StringPointer.java rename to framework/src/main/java/cn/lili/common/sensitive/StringPointer.java index 1f211a02..7e9e98f5 100644 --- a/framework/src/main/java/cn/lili/modules/system/utils/StringPointer.java +++ b/framework/src/main/java/cn/lili/common/sensitive/StringPointer.java @@ -1,13 +1,14 @@ -package cn.lili.modules.system.utils; +package cn.lili.common.sensitive; import java.io.Serializable; /** + * 字符指针 * * @author Bulbasaur * @since 2020-02-25 14:10:16 */ -public class StringPointer implements Serializable, CharSequence, Comparable{ +public class StringPointer implements Serializable, CharSequence, Comparable { private static final long serialVersionUID = 1L; @@ -19,13 +20,13 @@ public class StringPointer implements Serializable, CharSequence, Comparable length - i){ + if (word.length > length - i) { return false; } //从尾开始判断 - for(int c = word.length - 1; c >= 0; c --){ - if(value[offset + i + c] != word.value[word.offset + c]){ + for (int c = word.length - 1; c >= 0; c--) { + if (value[offset + i + c] != word.value[word.offset + c]) { return false; } } @@ -76,31 +78,31 @@ public class StringPointer implements Serializable, CharSequence, Comparable> cache; + + /** + * 程序启动时,获取最新的需要过滤的敏感词 + *

+ * 这里即便缓存中为空也没关系,定时任务会定时重新加载敏感词 + * + * @param args 启动参数 + */ + @Override + public void run(ApplicationArguments args) { + List sensitives = cache.get(CachePrefix.SENSITIVE.getPrefix()); + log.info("系统初始化敏感词"); + if (sensitives == null || sensitives.isEmpty()) { + return; + } + SensitiveWordsFilter.init(sensitives); + } + +} diff --git a/framework/src/main/java/cn/lili/common/sensitive/quartz/QuartzConfig.java b/framework/src/main/java/cn/lili/common/sensitive/quartz/QuartzConfig.java new file mode 100644 index 00000000..85e1d75a --- /dev/null +++ b/framework/src/main/java/cn/lili/common/sensitive/quartz/QuartzConfig.java @@ -0,0 +1,32 @@ +package cn.lili.common.sensitive.quartz; + +import org.quartz.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * 定时执行配置 + * + * @author Chopper + * @version v1.0 + * 2021-11-23 16:30 + */ +@Configuration +public class QuartzConfig { + + @Bean + public JobDetail sensitiveQuartzDetail() { + return JobBuilder.newJob(SensitiveQuartz.class).withIdentity("sensitiveQuartz").storeDurably().build(); + } + + @Bean + public Trigger sensitiveQuartzTrigger() { + SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule() + .withIntervalInSeconds(3600) + .repeatForever(); + return TriggerBuilder.newTrigger().forJob(sensitiveQuartzDetail()) + .withIdentity("sensitiveQuartz") + .withSchedule(scheduleBuilder) + .build(); + } +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/common/sensitive/quartz/SensitiveQuartz.java b/framework/src/main/java/cn/lili/common/sensitive/quartz/SensitiveQuartz.java new file mode 100644 index 00000000..4421aeaf --- /dev/null +++ b/framework/src/main/java/cn/lili/common/sensitive/quartz/SensitiveQuartz.java @@ -0,0 +1,40 @@ +package cn.lili.common.sensitive.quartz; + +import cn.lili.cache.Cache; +import cn.lili.cache.CachePrefix; +import cn.lili.common.sensitive.SensitiveWordsFilter; +import lombok.extern.slf4j.Slf4j; +import org.quartz.JobExecutionContext; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.quartz.QuartzJobBean; + +import java.util.List; + +/** + * 间隔更新敏感词 + * + * @author Chopper + * @version v1.0 + * 2021-11-23 16:31 + */ +@Slf4j +public class SensitiveQuartz extends QuartzJobBean { + + @Autowired + private Cache> cache; + + /** + * 定时更新敏感词信息 + * + * @param jobExecutionContext + */ + @Override + protected void executeInternal(JobExecutionContext jobExecutionContext) { + log.info("敏感词定时更新"); + List sensitives = cache.get(CachePrefix.SENSITIVE.getPrefix()); + if (sensitives == null || sensitives.isEmpty()) { + return; + } + SensitiveWordsFilter.init(sensitives); + } +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/common/utils/Base64DecodeMultipartFile.java b/framework/src/main/java/cn/lili/common/utils/Base64DecodeMultipartFile.java index b05d5662..b5059104 100644 --- a/framework/src/main/java/cn/lili/common/utils/Base64DecodeMultipartFile.java +++ b/framework/src/main/java/cn/lili/common/utils/Base64DecodeMultipartFile.java @@ -3,11 +3,10 @@ package cn.lili.common.utils; import lombok.extern.slf4j.Slf4j; import org.springframework.web.multipart.MultipartFile; +import java.io.*; import java.util.Base64; import java.util.Base64.Decoder; -import java.io.*; - /** * base64转为multipartFile工具类 * @@ -55,7 +54,7 @@ public class Base64DecodeMultipartFile implements MultipartFile { } @Override - public InputStream getInputStream() throws IOException { + public InputStream getInputStream() { return new ByteArrayInputStream(imgContent); } @@ -66,8 +65,9 @@ public class Base64DecodeMultipartFile implements MultipartFile { stream = new FileOutputStream(dest); stream.write(imgContent); } catch (IOException e) { - log.error("transferTo错误",e); - }finally { + log.error("transferTo错误", e); + } finally { + assert stream != null; stream.close(); } } @@ -94,7 +94,7 @@ public class Base64DecodeMultipartFile implements MultipartFile { byte[] bytes = Base64.getDecoder().decode(base64); stream = new ByteArrayInputStream(bytes); } catch (Exception e) { - log.error("base64ToInputStream错误",e); + log.error("base64ToInputStream错误", e); } return stream; } @@ -111,13 +111,13 @@ public class Base64DecodeMultipartFile implements MultipartFile { } data = swapStream.toByteArray(); } catch (IOException e) { - log.error("转码错误",e); + log.error("转码错误", e); } finally { if (in != null) { try { in.close(); } catch (IOException e) { - log.error("inputStreamToStream错误",e); + log.error("inputStreamToStream错误", e); } } } diff --git a/framework/src/main/java/cn/lili/common/utils/BeanUtil.java b/framework/src/main/java/cn/lili/common/utils/BeanUtil.java index 55eda005..a5e66e54 100644 --- a/framework/src/main/java/cn/lili/common/utils/BeanUtil.java +++ b/framework/src/main/java/cn/lili/common/utils/BeanUtil.java @@ -16,7 +16,7 @@ public class BeanUtil { * 复制属性 * * @param objectFrom 源自对象 - * @param objectTo 复制给对象 + * @param objectTo 复制给对象 */ public static void copyProperties(Object objectFrom, Object objectTo) { BeanUtils.copyProperties(objectFrom, objectTo); @@ -25,6 +25,7 @@ public class BeanUtil { /** * 获取属性名数组 + * * @param o 获取字段的对象 * @return 返回各个字段 */ @@ -49,8 +50,9 @@ public class BeanUtil { /** * 根据属性名获取属性值 + * * @param fieldName 属性名 - * @param o 对象 + * @param o 对象 * @return 属性值 */ public static Object getFieldValueByName(String fieldName, Object o) { @@ -69,6 +71,7 @@ public class BeanUtil { /** * 将对象转换为key value * A=a&B=b&C=c 格式 + * * @param object 对象 * @return 格式化结果 */ @@ -87,6 +90,7 @@ public class BeanUtil { String key = fieldNames[j]; //获取值 Object value = BeanUtil.getFieldValueByName(key, object); + assert value != null; stringBuffer.append(key).append("=").append(value.toString()); } return stringBuffer.toString(); @@ -95,8 +99,9 @@ public class BeanUtil { /** * key value键值对 转换为 对象 * A=a&B=b&C=c 格式 转换为对象 + * * @param str 对象字符串 - * @param t 范型 + * @param t 范型 * @param 范型 * @return 格式化结果 */ diff --git a/framework/src/main/java/cn/lili/common/utils/CurrencyUtil.java b/framework/src/main/java/cn/lili/common/utils/CurrencyUtil.java index eabf1df9..7e77edcb 100644 --- a/framework/src/main/java/cn/lili/common/utils/CurrencyUtil.java +++ b/framework/src/main/java/cn/lili/common/utils/CurrencyUtil.java @@ -1,6 +1,7 @@ package cn.lili.common.utils; import java.math.BigDecimal; +import java.math.RoundingMode; /** * 金额计算工具 @@ -28,9 +29,9 @@ public final class CurrencyUtil { * @return 两个参数的和 */ public static Double add(double v1, double v2) { - BigDecimal b1 = new BigDecimal(v1); - BigDecimal b2 = new BigDecimal(v2); - return b1.add(b2).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + BigDecimal b1 = BigDecimal.valueOf(v1); + BigDecimal b2 = BigDecimal.valueOf(v2); + return b1.add(b2).setScale(2, RoundingMode.HALF_UP).doubleValue(); } /** @@ -41,9 +42,9 @@ public final class CurrencyUtil { * @return 两个参数的差 */ public static double sub(double v1, double v2) { - BigDecimal b1 = new BigDecimal(v1); - BigDecimal b2 = new BigDecimal(v2); - return b1.subtract(b2).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + BigDecimal b1 = BigDecimal.valueOf(v1); + BigDecimal b2 = BigDecimal.valueOf(v2); + return b1.subtract(b2).setScale(2, RoundingMode.HALF_UP).doubleValue(); } /** @@ -54,9 +55,9 @@ public final class CurrencyUtil { * @return 两个参数的积 */ public static Double mul(double v1, double v2) { - BigDecimal b1 = new BigDecimal(v1); - BigDecimal b2 = new BigDecimal(v2); - return b1.multiply(b2).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + BigDecimal b1 = BigDecimal.valueOf(v1); + BigDecimal b2 = BigDecimal.valueOf(v2); + return b1.multiply(b2).setScale(2, RoundingMode.HALF_UP).doubleValue(); } /** @@ -72,9 +73,9 @@ public final class CurrencyUtil { throw new IllegalArgumentException( "The scale must be a positive integer or zero"); } - BigDecimal b1 = new BigDecimal(v1); - BigDecimal b2 = new BigDecimal(v2); - return b1.multiply(b2).setScale(scale, BigDecimal.ROUND_HALF_UP).doubleValue(); + BigDecimal b1 = BigDecimal.valueOf(v1); + BigDecimal b2 = BigDecimal.valueOf(v2); + return b1.multiply(b2).setScale(scale, RoundingMode.HALF_UP).doubleValue(); } /** @@ -105,26 +106,9 @@ public final class CurrencyUtil { if (v2 == 0) { return 0; } - BigDecimal b1 = new BigDecimal(v1); - BigDecimal b2 = new BigDecimal(v2); - return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); - } - - /** - * 提供精确的小数位四舍五入处理。 - * - * @param v 需要四舍五入的数字 - * @param scale 小数点后保留几位 - * @return 四舍五入后的结果 - */ - public static double round(double v, int scale) { - if (scale < 0) { - throw new IllegalArgumentException( - "The scale must be a positive integer or zero"); - } - BigDecimal b = new BigDecimal(v); - BigDecimal one = new BigDecimal("1"); - return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); + BigDecimal b1 = BigDecimal.valueOf(v1); + BigDecimal b2 = BigDecimal.valueOf(v2); + return b1.divide(b2, scale, RoundingMode.HALF_UP).doubleValue(); } /** @@ -145,7 +129,6 @@ public final class CurrencyUtil { * @return double类型分 */ public static double reversalFen(Double money) { - double price = div(money, 100); - return price; + return div(money, 100); } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/common/utils/DateUtil.java b/framework/src/main/java/cn/lili/common/utils/DateUtil.java index 306cc0cd..b07f0bde 100644 --- a/framework/src/main/java/cn/lili/common/utils/DateUtil.java +++ b/framework/src/main/java/cn/lili/common/utils/DateUtil.java @@ -273,7 +273,7 @@ public class DateUtil { * @return 时间戳 */ public static long getDateline(String date) { - return toDate(date, STANDARD_DATE_FORMAT).getTime() / 1000; + return Objects.requireNonNull(toDate(date, STANDARD_DATE_FORMAT)).getTime() / 1000; } /** @@ -311,7 +311,7 @@ public class DateUtil { * @return 时间戳 */ public static long getDateline(String date, String pattern) { - return toDate(date, pattern).getTime() / 1000; + return Objects.requireNonNull(toDate(date, pattern)).getTime() / 1000; } /** diff --git a/framework/src/main/java/cn/lili/common/utils/HttpUtils.java b/framework/src/main/java/cn/lili/common/utils/HttpUtils.java index 4f8e7a3e..706e805c 100644 --- a/framework/src/main/java/cn/lili/common/utils/HttpUtils.java +++ b/framework/src/main/java/cn/lili/common/utils/HttpUtils.java @@ -1,19 +1,25 @@ package cn.lili.common.utils; +import com.alibaba.fastjson.JSONObject; import com.xkcoding.http.HttpUtil; import com.xkcoding.http.config.HttpConfig; import com.xkcoding.http.support.HttpHeader; import com.xkcoding.http.support.httpclient.HttpClientImpl; +import lombok.extern.slf4j.Slf4j; +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.Iterator; import java.util.Map; /** - * HttpUtil 工具,统一处理 http 请求,方便对 simple-http 做定制 - * - * @author yadong.zhang (yadong.zhang0415(a)gmail.com) - * @version 4.1 - * @since 1.0.0 + * HTTP 工具类 + * @author liushuai */ +@Slf4j public class HttpUtils { public HttpUtils(HttpConfig config) { @@ -105,4 +111,258 @@ public class HttpUtils { public String post(String url, Map params, HttpHeader header, boolean encode) { return HttpUtil.post(url, params, header, encode); } + + + /** + * 静态方法运行参数 + */ + public static final int HTTP_CONN_TIMEOUT = 100000; + public static final int HTTP_SOCKET_TIMEOUT = 100000; + + /** + * POST 静态方法请求 + * + * @param reqUrl + * @param parameters + * @param encoding + * @param connectTimeout + * @param readTimeout + * @return + */ + public static String doPost(String reqUrl, Map parameters, String encoding, int connectTimeout, + int readTimeout) { + HttpURLConnection urlConn = null; + try { + urlConn = sendPost(reqUrl, parameters, encoding, connectTimeout, readTimeout); + String responseContent = getContent(urlConn, encoding); + return responseContent.trim(); + } finally { + if (urlConn != null) { + urlConn.disconnect(); + + } + } + } + + /** + * post携带json请求 静态方法 + * + * @param reqUrl 请求地址 + * @param jsonParameters 参数 + * @return + */ + public static String doPostWithJson(String reqUrl, Map jsonParameters) { + + BufferedReader reader = null; + try { + //创建连接 + URL url = new URL(reqUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setDoOutput(true); + connection.setDoInput(true); + connection.setUseCaches(false); + connection.setInstanceFollowRedirects(true); + //设置请求方式 + connection.setRequestMethod("POST"); + //设置发送数据的格式 + connection.setRequestProperty("Content-Type", "application/json"); + connection.connect(); + //一定要用BufferedReader 来接收响应, 使用字节来接收响应的方法是接收不到内容的 + //utf-8编码 + OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), StandardCharsets.UTF_8); + out.append(JSONObject.toJSONString(jsonParameters)); + out.flush(); + out.close(); + //读取响应 + reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8)); + String line; + String res = ""; + while ((line = reader.readLine()) != null) { + res += line; + } + reader.close(); + + return res; + } catch (IOException e) { + log.error("post请求错误", e); + } + //自定义错误信息 + return "error"; + + } + + /** + * post携带json请求 静态方法 + * + * @param reqUrl 请求地址 + * @param object 对象 + * @return + */ + public static String doPostWithJson(String reqUrl, Object object) { + + BufferedReader reader = null; + try { + //创建连接 + URL url = new URL(reqUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setDoOutput(true); + connection.setDoInput(true); + connection.setUseCaches(false); + connection.setInstanceFollowRedirects(true); + //设置请求方式 + connection.setRequestMethod("POST"); + //设置发送数据的格式 + connection.setRequestProperty("Content-Type", "application/json"); + connection.connect(); + //一定要用BufferedReader 来接收响应, 使用字节来接收响应的方法是接收不到内容的 + //utf-8编码 + OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), StandardCharsets.UTF_8); + out.append(JSONObject.toJSONString(object)); + out.flush(); + out.close(); + //读取响应 + reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8)); + String line; + String res = ""; + while ((line = reader.readLine()) != null) { + res += line; + } + reader.close(); + + return res; + } catch (IOException e) { + log.error("post错误", e); + } + //自定义错误信息 + return "error"; + + } + + /** + * 发送post请求 + * + * @param reqUrl + * @param parameters + * @param encoding + * @param connectTimeout + * @param readTimeout + * @return + */ + private static HttpURLConnection sendPost(String reqUrl, + Map parameters, String encoding, int connectTimeout, int readTimeout) { + HttpURLConnection urlConn = null; + try { + String params = generatorParamString(parameters, encoding); + URL url = new URL(reqUrl); + urlConn = (HttpURLConnection) url.openConnection(); + urlConn.setRequestMethod("POST"); + //(单位:毫秒)jdk + urlConn.setConnectTimeout(connectTimeout); + //(单位:毫秒)jdk 1.5换成这个,读操作超时 + urlConn.setReadTimeout(readTimeout); + urlConn.setDoOutput(true); + //String按照字节处理是一个好方法 + byte[] b = params.getBytes(encoding); + urlConn.getOutputStream().write(b, 0, b.length); + urlConn.getOutputStream().flush(); + urlConn.getOutputStream().close(); + } catch (Exception e) { + throw new RuntimeException(e.getMessage(), e); + } + return urlConn; + } + + /** + * get 请求 静态方法 + * + * @param urlConn + * @param encoding + * @return + */ + private static String getContent(HttpURLConnection urlConn, String encoding) { + try { + String responseContent = null; + InputStream in = urlConn.getInputStream(); + BufferedReader rd = new BufferedReader(new InputStreamReader(in, encoding)); + String tempLine = rd.readLine(); + StringBuffer tempStr = new StringBuffer(); + String crlf = System.getProperty("line.separator"); + while (tempLine != null) { + tempStr.append(tempLine); + tempStr.append(crlf); + tempLine = rd.readLine(); + } + responseContent = tempStr.toString(); + rd.close(); + in.close(); + return responseContent; + } catch (Exception e) { + throw new RuntimeException(e.getMessage(), e); + } + } + + /** + * get 请求 静态方法 + * + * @param link + * @param encoding + * @return + */ + public static String doGet(String link, String encoding, int connectTimeout, int readTimeout) { + HttpURLConnection conn = null; + try { + URL url = new URL(link); + conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("GET"); + conn.setConnectTimeout(connectTimeout); + conn.setReadTimeout(readTimeout); + BufferedInputStream in = new BufferedInputStream( + conn.getInputStream()); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + byte[] buf = new byte[1024]; + for (int i = 0; (i = in.read(buf)) > 0; ) { + out.write(buf, 0, i); + } + out.flush(); + String s = out.toString(encoding); + return s; + } catch (Exception e) { + throw new RuntimeException(e.getMessage(), e); + } finally { + if (conn != null) { + conn.disconnect(); + conn = null; + } + } + } + + /** + * 将parameters中数据转换成用"&"链接的http请求参数形式 + * + * @param parameters + * @return + */ + private static String generatorParamString(Map parameters, String encoding) { + StringBuffer params = new StringBuffer(); + if (parameters != null) { + for (Iterator iter = parameters.keySet().iterator(); iter + .hasNext(); ) { + String name = iter.next(); + String value = parameters.get(name); + params.append(name + "="); + try { + params.append(URLEncoder.encode(value, encoding)); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e.getMessage(), e); + } catch (Exception e) { + String message = String.format("'%s'='%s'", name, value); + throw new RuntimeException(message, e); + } + if (iter.hasNext()) { + params.append("&"); + } + } + } + return params.toString(); + } } diff --git a/framework/src/main/java/cn/lili/modules/connect/util/UuidUtils.java b/framework/src/main/java/cn/lili/common/utils/UuidUtils.java similarity index 98% rename from framework/src/main/java/cn/lili/modules/connect/util/UuidUtils.java rename to framework/src/main/java/cn/lili/common/utils/UuidUtils.java index af9b2cdd..b9f17bcb 100644 --- a/framework/src/main/java/cn/lili/modules/connect/util/UuidUtils.java +++ b/framework/src/main/java/cn/lili/common/utils/UuidUtils.java @@ -1,4 +1,4 @@ -package cn.lili.modules.connect.util; +package cn.lili.common.utils; import java.nio.charset.StandardCharsets; import java.util.concurrent.ThreadLocalRandom; diff --git a/framework/src/main/java/cn/lili/modules/connect/request/BaseAuthRequest.java b/framework/src/main/java/cn/lili/modules/connect/request/BaseAuthRequest.java index 9e1274dc..6e695606 100644 --- a/framework/src/main/java/cn/lili/modules/connect/request/BaseAuthRequest.java +++ b/framework/src/main/java/cn/lili/modules/connect/request/BaseAuthRequest.java @@ -1,8 +1,10 @@ package cn.lili.modules.connect.request; import cn.lili.cache.Cache; +import cn.lili.common.utils.HttpUtils; import cn.lili.common.utils.StringUtils; import cn.lili.common.utils.UrlBuilder; +import cn.lili.common.utils.UuidUtils; import cn.lili.modules.connect.config.AuthConfig; import cn.lili.modules.connect.config.ConnectAuth; import cn.lili.modules.connect.entity.dto.AuthCallback; @@ -12,8 +14,6 @@ import cn.lili.modules.connect.entity.dto.ConnectAuthUser; import cn.lili.modules.connect.entity.enums.AuthResponseStatus; import cn.lili.modules.connect.exception.AuthException; import cn.lili.modules.connect.util.AuthChecker; -import cn.lili.common.utils.HttpUtils; -import cn.lili.modules.connect.util.UuidUtils; import com.xkcoding.http.util.UrlUtil; import lombok.extern.slf4j.Slf4j; diff --git a/framework/src/main/java/cn/lili/modules/connect/service/ConnectService.java b/framework/src/main/java/cn/lili/modules/connect/service/ConnectService.java index 7a33b102..6df3b143 100644 --- a/framework/src/main/java/cn/lili/modules/connect/service/ConnectService.java +++ b/framework/src/main/java/cn/lili/modules/connect/service/ConnectService.java @@ -5,6 +5,7 @@ import cn.lili.common.security.token.Token; import cn.lili.modules.connect.entity.Connect; import cn.lili.modules.connect.entity.dto.ConnectAuthUser; import cn.lili.modules.connect.entity.dto.WechatMPLoginParams; +import cn.lili.modules.member.entity.dto.ConnectQueryDTO; import com.baomidou.mybatisplus.extension.service.IService; import javax.naming.NoPermissionException; @@ -103,4 +104,12 @@ public interface ConnectService extends IService { * @return token */ Token miniProgramAutoLogin(WechatMPLoginParams params); + + /** + * 根据查询dto获取查询对象 + * + * @param connectQueryDTO + * @return + */ + Connect queryConnect(ConnectQueryDTO connectQueryDTO); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java index 68ca20b6..0d0b1ab2 100644 --- a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java @@ -12,6 +12,7 @@ import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.token.Token; import cn.lili.common.utils.CookieUtil; +import cn.lili.common.utils.HttpUtils; import cn.lili.common.utils.StringUtils; import cn.lili.modules.connect.entity.Connect; import cn.lili.modules.connect.entity.dto.ConnectAuthUser; @@ -20,6 +21,7 @@ import cn.lili.modules.connect.entity.enums.ConnectEnum; import cn.lili.modules.connect.mapper.ConnectMapper; import cn.lili.modules.connect.service.ConnectService; import cn.lili.modules.member.entity.dos.Member; +import cn.lili.modules.member.entity.dto.ConnectQueryDTO; import cn.lili.modules.member.service.MemberService; import cn.lili.modules.member.token.MemberTokenGenerate; import cn.lili.modules.system.entity.dos.Setting; @@ -27,7 +29,6 @@ import cn.lili.modules.system.entity.dto.connect.WechatConnectSetting; import cn.lili.modules.system.entity.dto.connect.dto.WechatConnectSettingItem; import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; -import cn.lili.modules.system.utils.HttpUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; @@ -232,6 +233,16 @@ public class ConnectServiceImpl extends ServiceImpl impl return memberTokenGenerate.createToken(newMember.getUsername(), true); } + @Override + public Connect queryConnect(ConnectQueryDTO connectQueryDTO) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(StringUtils.isNotEmpty(connectQueryDTO.getUserId()), Connect::getUserId, connectQueryDTO.getUserId()) + .eq(StringUtils.isNotEmpty(connectQueryDTO.getUnionType()), Connect::getUnionType, connectQueryDTO.getUnionType()) + .eq(StringUtils.isNotEmpty(connectQueryDTO.getUnionId()), Connect::getUnionId, connectQueryDTO.getUnionId()); + return this.getOne(queryWrapper); + } + /** * 会员绑定 绑定微信小程序 *

diff --git a/framework/src/main/java/cn/lili/modules/distribution/entity/dos/DistributionCash.java b/framework/src/main/java/cn/lili/modules/distribution/entity/dos/DistributionCash.java index b648f323..e04a5ff6 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/entity/dos/DistributionCash.java +++ b/framework/src/main/java/cn/lili/modules/distribution/entity/dos/DistributionCash.java @@ -1,6 +1,6 @@ package cn.lili.modules.distribution.entity.dos; -import cn.lili.modules.member.entity.enums.WithdrawStatusEnum; +import cn.lili.modules.wallet.entity.enums.WithdrawStatusEnum; import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/framework/src/main/java/cn/lili/modules/distribution/service/DistributionCashService.java b/framework/src/main/java/cn/lili/modules/distribution/service/DistributionCashService.java index b5e75c01..2a107b9f 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/service/DistributionCashService.java +++ b/framework/src/main/java/cn/lili/modules/distribution/service/DistributionCashService.java @@ -49,10 +49,4 @@ public interface DistributionCashService extends IService { */ DistributionCash audit(@PathVariable String id, @RequestParam String result); - /** - * 待处理分销员提现申请数量 - * - * @return 待处理分销员提现申请数量 - */ - Integer newDistributionCash(); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionCashServiceImpl.java b/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionCashServiceImpl.java index 8e3cefab..4f3235be 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionCashServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionCashServiceImpl.java @@ -2,14 +2,10 @@ package cn.lili.modules.distribution.serviceimpl; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.modules.member.entity.enums.WithdrawStatusEnum; -import cn.lili.rocketmq.RocketmqSendCallbackBuilder; -import cn.lili.rocketmq.tags.MemberTagsEnum; +import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.common.utils.CurrencyUtil; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.utils.SnowFlake; import cn.lili.common.vo.PageVO; -import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.modules.distribution.entity.dos.Distribution; import cn.lili.modules.distribution.entity.dos.DistributionCash; import cn.lili.modules.distribution.entity.enums.DistributionStatusEnum; @@ -17,13 +13,17 @@ import cn.lili.modules.distribution.entity.vos.DistributionCashSearchParams; import cn.lili.modules.distribution.mapper.DistributionCashMapper; import cn.lili.modules.distribution.service.DistributionCashService; import cn.lili.modules.distribution.service.DistributionService; -import cn.lili.modules.member.entity.dto.MemberWithdrawalMessage; -import cn.lili.modules.member.entity.enums.MemberWithdrawalDestinationEnum; -import cn.lili.modules.member.service.MemberWalletService; -import cn.lili.modules.order.trade.entity.enums.DepositServiceTypeEnum; +import cn.lili.modules.wallet.entity.dto.MemberWalletUpdateDTO; +import cn.lili.modules.wallet.entity.dto.MemberWithdrawalMessage; +import cn.lili.modules.wallet.entity.enums.DepositServiceTypeEnum; +import cn.lili.modules.wallet.entity.enums.MemberWithdrawalDestinationEnum; +import cn.lili.modules.wallet.entity.enums.WithdrawStatusEnum; +import cn.lili.modules.wallet.service.MemberWalletService; +import cn.lili.mybatis.util.PageUtil; +import cn.lili.rocketmq.RocketmqSendCallbackBuilder; +import cn.lili.rocketmq.tags.MemberTagsEnum; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; @@ -130,7 +130,7 @@ public class DistributionCashServiceImpl extends ServiceImpl storeFlowList = storeFlowService.list(new LambdaQueryWrapper() - .eq(StoreFlow::getOrderSn, orderSn) - .isNotNull(StoreFlow::getDistributionRebate)); - Double rebate = 0.0; + List storeFlowList = storeFlowService + .listStoreFlow(StoreFlowQueryDTO.builder().justDistribution(true).orderSn(orderSn).build()); + double rebate = 0.0; //循环店铺流水记录判断是否包含分销商品 //包含分销商品则进行记录分销订单、计算分销总额 for (StoreFlow storeFlow : storeFlowList) { @@ -165,7 +165,7 @@ public class DistributionOrderServiceImpl extends ServiceImpl() - .eq(StoreFlow::getRefundSn, afterSaleSn) - .isNotNull(StoreFlow::getDistributionRebate)); + StoreFlow storeFlow = storeFlowService.queryOne(StoreFlowQueryDTO.builder().justDistribution(true).refundSn(afterSaleSn).build()); if (storeFlow != null) { //获取收款分销订单 @@ -199,12 +197,7 @@ public class DistributionOrderServiceImpl extends ServiceImpl() .eq(DistributionOrder::getOrderItemSn, storeFlow.getOrderItemSn()) .set(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.CANCEL.name())); diff --git a/framework/src/main/java/cn/lili/modules/file/plugin/FileManagerPlugin.java b/framework/src/main/java/cn/lili/modules/file/plugin/FileManagerPlugin.java index 7aacc714..bd279d05 100644 --- a/framework/src/main/java/cn/lili/modules/file/plugin/FileManagerPlugin.java +++ b/framework/src/main/java/cn/lili/modules/file/plugin/FileManagerPlugin.java @@ -37,13 +37,4 @@ public interface FileManagerPlugin { */ void deleteFile(List key); - /** - * 根据原图生成规定尺寸的图片 - * - * @param url 连接 - * @param width 宽 - * @param height 高 - * @return - */ - String getUrl(String url, Integer width, Integer height); } diff --git a/framework/src/main/java/cn/lili/modules/file/plugin/impl/AliFileManagerPlugin.java b/framework/src/main/java/cn/lili/modules/file/plugin/impl/AliFileManagerPlugin.java index e28bfc88..4ddbf899 100644 --- a/framework/src/main/java/cn/lili/modules/file/plugin/impl/AliFileManagerPlugin.java +++ b/framework/src/main/java/cn/lili/modules/file/plugin/impl/AliFileManagerPlugin.java @@ -183,11 +183,4 @@ public class AliFileManagerPlugin implements FileManagerPlugin { ossClient.shutdown(); } } - - @Override - public String getUrl(String url, Integer width, Integer height) { - //缩略图全路径 - //返回缩略图全路径 - return url + "?x-oss-process=style/" + width + "X" + height; - } } diff --git a/framework/src/main/java/cn/lili/modules/file/util/FileUtil.java b/framework/src/main/java/cn/lili/modules/file/util/FileUtil.java new file mode 100644 index 00000000..46cbf51f --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/file/util/FileUtil.java @@ -0,0 +1,24 @@ +package cn.lili.modules.file.util; + +/** + * FileUtil + * + * @author Chopper + * @version v1.0 + * 2021-11-22 11:19 + */ +public class FileUtil { + + /** + * 根据原图生成规定尺寸的图片 + * + * @param url 连接 + * @param width 宽 + * @param height 高 + * @return + */ + public static String getUrl(String url, Integer width, Integer height) { + //缩略图全路径 + return url + "?x-oss-process=style/" + width + "X" + height; + } +} diff --git a/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreGoodsLabel.java b/framework/src/main/java/cn/lili/modules/goods/entity/dos/StoreGoodsLabel.java similarity index 97% rename from framework/src/main/java/cn/lili/modules/store/entity/dos/StoreGoodsLabel.java rename to framework/src/main/java/cn/lili/modules/goods/entity/dos/StoreGoodsLabel.java index 0b03e1aa..2b079e43 100644 --- a/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreGoodsLabel.java +++ b/framework/src/main/java/cn/lili/modules/goods/entity/dos/StoreGoodsLabel.java @@ -1,4 +1,4 @@ -package cn.lili.modules.store.entity.dos; +package cn.lili.modules.goods.entity.dos; import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/framework/src/main/java/cn/lili/modules/goods/entity/dto/SimpleCommodity.java b/framework/src/main/java/cn/lili/modules/goods/entity/dto/SimpleCommodity.java deleted file mode 100644 index 50813010..00000000 --- a/framework/src/main/java/cn/lili/modules/goods/entity/dto/SimpleCommodity.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.lili.modules.goods.entity.dto; - -import io.swagger.annotations.ApiModelProperty; - -/** - * 用于直播间前台使用的直播间商品DTO - * - * @author Bulbasaur - * @since 2021/5/20 2:34 下午 - */ -public class SimpleCommodity { - - @ApiModelProperty(value = "图片") - private String goodsImage; - - @ApiModelProperty(value = "商品名称") - private String name; -} diff --git a/framework/src/main/java/cn/lili/modules/store/entity/vos/StoreGoodsLabelVO.java b/framework/src/main/java/cn/lili/modules/goods/entity/vos/StoreGoodsLabelVO.java similarity index 95% rename from framework/src/main/java/cn/lili/modules/store/entity/vos/StoreGoodsLabelVO.java rename to framework/src/main/java/cn/lili/modules/goods/entity/vos/StoreGoodsLabelVO.java index fd627c4b..5f0720e6 100644 --- a/framework/src/main/java/cn/lili/modules/store/entity/vos/StoreGoodsLabelVO.java +++ b/framework/src/main/java/cn/lili/modules/goods/entity/vos/StoreGoodsLabelVO.java @@ -1,4 +1,4 @@ -package cn.lili.modules.store.entity.vos; +package cn.lili.modules.goods.entity.vos; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/framework/src/main/java/cn/lili/modules/store/mapper/StoreGoodsLabelMapper.java b/framework/src/main/java/cn/lili/modules/goods/mapper/StoreGoodsLabelMapper.java similarity index 71% rename from framework/src/main/java/cn/lili/modules/store/mapper/StoreGoodsLabelMapper.java rename to framework/src/main/java/cn/lili/modules/goods/mapper/StoreGoodsLabelMapper.java index addd2591..81d1746f 100644 --- a/framework/src/main/java/cn/lili/modules/store/mapper/StoreGoodsLabelMapper.java +++ b/framework/src/main/java/cn/lili/modules/goods/mapper/StoreGoodsLabelMapper.java @@ -1,6 +1,6 @@ -package cn.lili.modules.store.mapper; +package cn.lili.modules.goods.mapper; -import cn.lili.modules.store.entity.dos.StoreGoodsLabel; +import cn.lili.modules.goods.entity.dos.StoreGoodsLabel; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java index dbf17a60..f517d5db 100644 --- a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java +++ b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java @@ -6,6 +6,7 @@ import cn.lili.modules.goods.entity.dto.GoodsSearchParams; import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; import cn.lili.modules.goods.entity.vos.GoodsVO; +import cn.lili.modules.store.entity.dos.Store; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -91,21 +92,6 @@ public interface GoodsService extends IService { */ boolean auditGoods(List goodsIds, GoodsAuthEnum goodsAuthEnum); - /** - * 获取所有的已上架的商品数量 - * - * @param goodsAuthEnum 商品审核枚举 - * @param goodsStatusEnum 商品状态枚举 - * @return 所有的已上架的商品数量 - */ - Integer goodsNum(GoodsStatusEnum goodsStatusEnum, GoodsAuthEnum goodsAuthEnum); - - /** - * 获取今天的已上架的商品数量 - * - * @return 今天的已上架的商品数量 - */ - Integer todayUpperNum(); /** * 更新商品上架状态状态 @@ -148,4 +134,16 @@ public interface GoodsService extends IService { * @param goodsId 商品ID */ void updateGoodsCommentNum(String goodsId); + + /** + * 批量更新商品的店铺信息 + * @param store + */ + void updateStoreDetail(Store store); + /** + * 统计店铺的商品数量 + * @param storeId 店铺id + */ + Integer countStoreGoodsNum(String storeId); + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/service/StoreGoodsLabelService.java b/framework/src/main/java/cn/lili/modules/goods/service/StoreGoodsLabelService.java similarity index 88% rename from framework/src/main/java/cn/lili/modules/store/service/StoreGoodsLabelService.java rename to framework/src/main/java/cn/lili/modules/goods/service/StoreGoodsLabelService.java index dfd70af6..78d763be 100644 --- a/framework/src/main/java/cn/lili/modules/store/service/StoreGoodsLabelService.java +++ b/framework/src/main/java/cn/lili/modules/goods/service/StoreGoodsLabelService.java @@ -1,7 +1,7 @@ -package cn.lili.modules.store.service; +package cn.lili.modules.goods.service; -import cn.lili.modules.store.entity.dos.StoreGoodsLabel; -import cn.lili.modules.store.entity.vos.StoreGoodsLabelVO; +import cn.lili.modules.goods.entity.dos.StoreGoodsLabel; +import cn.lili.modules.goods.entity.vos.StoreGoodsLabelVO; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsGalleryServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsGalleryServiceImpl.java index 5537adf6..e1727397 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsGalleryServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsGalleryServiceImpl.java @@ -1,7 +1,7 @@ package cn.lili.modules.goods.serviceimpl; import cn.hutool.json.JSONUtil; -import cn.lili.modules.file.plugin.FileManagerPlugin; +import cn.lili.modules.file.util.FileUtil; import cn.lili.modules.goods.entity.dos.GoodsGallery; import cn.lili.modules.goods.mapper.GoodsGalleryMapper; import cn.lili.modules.goods.service.GoodsGalleryService; @@ -29,11 +29,6 @@ import java.util.List; @Service @Transactional(rollbackFor = Exception.class) public class GoodsGalleryServiceImpl extends ServiceImpl implements GoodsGalleryService { - /** - * 文件 - */ - @Autowired - private FileManagerPlugin fileManagerPlugin; /** * 设置 */ @@ -65,9 +60,9 @@ public class GoodsGalleryServiceImpl extends ServiceImpl implements @Override public List getByBrandIds(List brandIds) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper (); - lambdaQueryWrapper.in(Goods::getBrandId,brandIds); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper(); + lambdaQueryWrapper.in(Goods::getBrandId, brandIds); return list(lambdaQueryWrapper); } @@ -273,33 +273,6 @@ public class GoodsServiceImpl extends ServiceImpl implements return result; } - @Override - public Integer goodsNum(GoodsStatusEnum goodsStatusEnum, GoodsAuthEnum goodsAuthEnum) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - - queryWrapper.eq(Goods::getDeleteFlag, false); - - if (goodsStatusEnum != null) { - queryWrapper.eq(Goods::getMarketEnable, goodsStatusEnum.name()); - } - if (goodsAuthEnum != null) { - queryWrapper.eq(Goods::getIsAuth, goodsAuthEnum.name()); - } - AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser()); - queryWrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.STORE.name()), - Goods::getStoreId, currentUser.getStoreId()); - - return this.count(queryWrapper); - } - - @Override - public Integer todayUpperNum() { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(Goods::getMarketEnable, GoodsStatusEnum.UPPER.name()); - queryWrapper.ge(Goods::getCreateTime, DateUtil.beginOfDay(new DateTime())); - return this.count(queryWrapper); - } - @Override public Boolean updateGoodsMarketAble(List goodsIds, GoodsStatusEnum goodsStatusEnum, String underReason) { boolean result; @@ -396,6 +369,25 @@ public class GoodsServiceImpl extends ServiceImpl implements this.updateById(goods); } + @Override + public void updateStoreDetail(Store store) { + UpdateWrapper updateWrapper = new UpdateWrapper<>() + .eq("store_id", store.getId()) + .set("store_name", store.getStoreName()) + .set("self_operated", store.getSelfOperated()); + this.update(updateWrapper); + goodsSkuService.update(updateWrapper); + } + + @Override + public Integer countStoreGoodsNum(String storeId) { + return this.count( + new LambdaQueryWrapper() + .eq(Goods::getStoreId, storeId) + .eq(Goods::getIsAuth, GoodsAuthEnum.PASS.name()) + .eq(Goods::getMarketEnable, GoodsStatusEnum.UPPER.name())); + } + /** * 添加商品默认图片 * @@ -490,12 +482,12 @@ public class GoodsServiceImpl extends ServiceImpl implements */ private AuthUser checkStoreAuthority() { AuthUser currentUser = UserContext.getCurrentUser(); - if (currentUser == null || (currentUser.getRole().equals(UserEnums.STORE) && currentUser.getStoreId() == null)) { - throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR); - } else if (currentUser.getRole().equals(UserEnums.STORE) && currentUser.getStoreId() != null) { + //如果当前会员不为空,且为店铺角色 + if (currentUser != null && (currentUser.getRole().equals(UserEnums.STORE) && currentUser.getStoreId() != null)) { return currentUser; + } else { + throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR); } - return null; } /** diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java index c4be6980..7ac5e90a 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java @@ -535,6 +535,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i * * @param goods 商品信息 */ + @Override public void generateEs(Goods goods) { String destination = rocketmqCustomProperties.getGoodsTopic() + ":" + GoodsTagsEnum.GENERATOR_GOODS_INDEX.name(); //发送mq消息 diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreGoodsLabelServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StoreGoodsLabelServiceImpl.java similarity index 95% rename from framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreGoodsLabelServiceImpl.java rename to framework/src/main/java/cn/lili/modules/goods/serviceimpl/StoreGoodsLabelServiceImpl.java index 9ee94b41..d0967bd1 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreGoodsLabelServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StoreGoodsLabelServiceImpl.java @@ -1,4 +1,4 @@ -package cn.lili.modules.store.serviceimpl; +package cn.lili.modules.goods.serviceimpl; import cn.hutool.core.text.CharSequenceUtil; import cn.lili.cache.Cache; @@ -7,10 +7,10 @@ import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; -import cn.lili.modules.store.entity.dos.StoreGoodsLabel; -import cn.lili.modules.store.entity.vos.StoreGoodsLabelVO; -import cn.lili.modules.store.mapper.StoreGoodsLabelMapper; -import cn.lili.modules.store.service.StoreGoodsLabelService; +import cn.lili.modules.goods.entity.dos.StoreGoodsLabel; +import cn.lili.modules.goods.entity.vos.StoreGoodsLabelVO; +import cn.lili.modules.goods.mapper.StoreGoodsLabelMapper; +import cn.lili.modules.goods.service.StoreGoodsLabelService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; diff --git a/framework/src/main/java/cn/lili/modules/goods/util/WechatLivePlayerUtil.java b/framework/src/main/java/cn/lili/modules/goods/util/WechatLivePlayerUtil.java index 03064332..59a05ca4 100644 --- a/framework/src/main/java/cn/lili/modules/goods/util/WechatLivePlayerUtil.java +++ b/framework/src/main/java/cn/lili/modules/goods/util/WechatLivePlayerUtil.java @@ -3,11 +3,11 @@ package cn.lili.modules.goods.util; import cn.hutool.json.JSONObject; import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.exception.ServiceException; +import cn.lili.common.utils.HttpUtils; import cn.lili.modules.goods.entity.dos.Commodity; import cn.lili.modules.goods.entity.dos.Studio; import cn.lili.modules.goods.entity.dto.GoodsInfo; -import cn.lili.modules.message.util.WechatAccessTokenUtil; -import cn.lili.modules.system.utils.HttpUtils; +import cn.lili.modules.wechat.util.WechatAccessTokenUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/framework/src/main/java/cn/lili/modules/goods/util/WechatMediaUtil.java b/framework/src/main/java/cn/lili/modules/goods/util/WechatMediaUtil.java index e429aef4..d94dcdfe 100644 --- a/framework/src/main/java/cn/lili/modules/goods/util/WechatMediaUtil.java +++ b/framework/src/main/java/cn/lili/modules/goods/util/WechatMediaUtil.java @@ -4,7 +4,7 @@ import cn.hutool.json.JSONObject; import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.modules.message.util.WechatAccessTokenUtil; +import cn.lili.modules.wechat.util.WechatAccessTokenUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -105,8 +105,9 @@ public class WechatMediaUtil { } catch (Exception e) { log.error("微信媒体上传失败", e); } + assert resultStr != null; JSONObject jsonObject = new JSONObject(resultStr.toString()); - log.info("微信媒体上传:" + jsonObject.toString()); + log.info("微信媒体上传:" + jsonObject); //判断是否传递成功,如果token过期则重新获取 if (jsonObject.get("errcode") != null && ("40001").equals(jsonObject.get("errcode"))) { wechatAccessTokenUtil.removeAccessToken(ClientTypeEnum.WECHAT_MP); diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/CollectionDTO.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/CollectionDTO.java new file mode 100644 index 00000000..0ec661e0 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/CollectionDTO.java @@ -0,0 +1,28 @@ +package cn.lili.modules.member.entity.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * 收藏数量变化DTO + * + * @author Chopper + * @version v1.0 + * 2021-11-30 10:14 + */ +@Data +@AllArgsConstructor +public class CollectionDTO { + + /** + * 变化的模型id + * 商品id/店铺id + */ + private String id; + + /** + * 变化的数量 + * -1 减少1 / +1 增加1 + */ + private Integer num; +} diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/ConnectQueryDTO.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/ConnectQueryDTO.java new file mode 100644 index 00000000..486a838a --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/ConnectQueryDTO.java @@ -0,0 +1,32 @@ +package cn.lili.modules.member.entity.dto; + +import lombok.Builder; +import lombok.Data; + +/** + * ConnectQueryDTO + * + * @author Chopper + * @version v1.0 + * 2021-12-01 14:34 + */ +@Data +@Builder +public class ConnectQueryDTO { + + /** + * 用户id + */ + private String userId; + + /** + * 第三方id + */ + private String unionId; + + /** + * 联合登陆类型 + */ + private String unionType; + +} diff --git a/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java b/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java index 4e214753..32f09fa9 100644 --- a/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java +++ b/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java @@ -2,7 +2,6 @@ package cn.lili.modules.member.mapper; import cn.lili.modules.member.entity.dos.Member; -import cn.lili.modules.member.entity.vo.MemberDistributionVO; import cn.lili.modules.member.entity.vo.MemberVO; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -28,13 +27,6 @@ public interface MemberMapper extends BaseMapper { @Select("select m.mobile from li_member m") List getAllMemberMobile(); - /** - * 获取会员分布列表 - * @return 会员分布列表 - */ - @Select("select client_enum,count(0) as num from li_member group by client_enum") - List distribution(); - @Select("select * from li_member ${ew.customSqlSegment}") IPage pageByMemberVO(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java b/framework/src/main/java/cn/lili/modules/member/mapper/StoreLogisticsMapper.java similarity index 97% rename from framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java rename to framework/src/main/java/cn/lili/modules/member/mapper/StoreLogisticsMapper.java index 3c5e8a0a..b37dfa80 100644 --- a/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java +++ b/framework/src/main/java/cn/lili/modules/member/mapper/StoreLogisticsMapper.java @@ -1,4 +1,4 @@ -package cn.lili.modules.system.mapper; +package cn.lili.modules.member.mapper; import cn.lili.modules.store.entity.dos.StoreLogistics; import cn.lili.modules.system.entity.vo.StoreLogisticsVO; diff --git a/framework/src/main/java/cn/lili/modules/member/service/MemberEvaluationService.java b/framework/src/main/java/cn/lili/modules/member/service/MemberEvaluationService.java index 7c5792df..44878063 100644 --- a/framework/src/main/java/cn/lili/modules/member/service/MemberEvaluationService.java +++ b/framework/src/main/java/cn/lili/modules/member/service/MemberEvaluationService.java @@ -88,18 +88,5 @@ public interface MemberEvaluationService extends IService { */ EvaluationNumberVO getEvaluationNumber(String goodsId); - /** - * 获取今天新增的评价数量 - * - * @return 今日评价数量 - */ - Integer todayMemberEvaluation(); - - /** - * 获取等待回复评价数量 - * - * @return 等待回复评价数量 - */ - Integer getWaitReplyNum(); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/member/service/MemberService.java b/framework/src/main/java/cn/lili/modules/member/service/MemberService.java index c15178a7..294b7301 100644 --- a/framework/src/main/java/cn/lili/modules/member/service/MemberService.java +++ b/framework/src/main/java/cn/lili/modules/member/service/MemberService.java @@ -9,7 +9,6 @@ import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.entity.dto.ManagerMemberEditDTO; import cn.lili.modules.member.entity.dto.MemberAddDTO; import cn.lili.modules.member.entity.dto.MemberEditDTO; -import cn.lili.modules.member.entity.vo.MemberDistributionVO; import cn.lili.modules.member.entity.vo.MemberSearchVO; import cn.lili.modules.member.entity.vo.MemberVO; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -198,13 +197,6 @@ public interface MemberService extends IService { */ Boolean updateMemberStatus(List memberIds, Boolean status); - /** - * 查看会员数据分布 - * - * @return 会员数据分布 - */ - List distribution(); - /** * 根据条件查询会员总数 * diff --git a/framework/src/main/java/cn/lili/modules/system/service/StoreLogisticsService.java b/framework/src/main/java/cn/lili/modules/member/service/StoreLogisticsService.java similarity index 96% rename from framework/src/main/java/cn/lili/modules/system/service/StoreLogisticsService.java rename to framework/src/main/java/cn/lili/modules/member/service/StoreLogisticsService.java index 971d1ceb..ea7914de 100644 --- a/framework/src/main/java/cn/lili/modules/system/service/StoreLogisticsService.java +++ b/framework/src/main/java/cn/lili/modules/member/service/StoreLogisticsService.java @@ -1,4 +1,4 @@ -package cn.lili.modules.system.service; +package cn.lili.modules.member.service; import cn.lili.modules.store.entity.dos.StoreLogistics; import cn.lili.modules.system.entity.vo.StoreLogisticsVO; diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/GoodsCollectionServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/GoodsCollectionServiceImpl.java index 692a4b74..1c6e8838 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/GoodsCollectionServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/GoodsCollectionServiceImpl.java @@ -1,24 +1,18 @@ package cn.lili.modules.member.serviceimpl; -import cn.hutool.json.JSONUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.rocketmq.RocketmqSendCallbackBuilder; -import cn.lili.rocketmq.tags.GoodsTagsEnum; import cn.lili.common.security.context.UserContext; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.vo.PageVO; -import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.modules.member.entity.dos.GoodsCollection; import cn.lili.modules.member.entity.vo.GoodsCollectionVO; import cn.lili.modules.member.mapper.GoodsCollectionMapper; import cn.lili.modules.member.service.GoodsCollectionService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.apache.rocketmq.spring.core.RocketMQTemplate; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -33,19 +27,8 @@ import java.util.Optional; */ @Service @Transactional(rollbackFor = Exception.class) - public class GoodsCollectionServiceImpl extends ServiceImpl implements GoodsCollectionService { - /** - * rocketMq - */ - @Autowired - private RocketMQTemplate rocketMQTemplate; - /** - * rocketMq配置 - */ - @Autowired - private RocketmqCustomProperties rocketmqCustomProperties; @Override public IPage goodsCollection(PageVO pageVo) { @@ -73,10 +56,6 @@ public class GoodsCollectionServiceImpl extends ServiceImpl().ge(MemberEvaluation::getCreateTime, DateUtil.beginOfDay(new DateTime()))); - } - - @Override - public Integer getWaitReplyNum() { - QueryWrapper queryWrapper = Wrappers.query(); - queryWrapper.eq(StringUtils.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), - "store_id", UserContext.getCurrentUser().getStoreId()); - queryWrapper.eq("reply_status", false); - return this.count(queryWrapper); - } - /** * 检测会员评价 * diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java index 8936beae..75e16601 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java @@ -14,23 +14,20 @@ import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.security.token.Token; +import cn.lili.common.sensitive.SensitiveWordsFilter; import cn.lili.common.utils.BeanUtil; import cn.lili.common.utils.CookieUtil; import cn.lili.common.utils.StringUtils; +import cn.lili.common.utils.UuidUtils; import cn.lili.common.vo.PageVO; import cn.lili.modules.connect.config.ConnectAuthEnum; import cn.lili.modules.connect.entity.Connect; import cn.lili.modules.connect.entity.dto.ConnectAuthUser; import cn.lili.modules.connect.service.ConnectService; -import cn.lili.modules.connect.util.UuidUtils; import cn.lili.modules.member.aop.annotation.PointLogPoint; import cn.lili.modules.member.entity.dos.Member; -import cn.lili.modules.member.entity.dto.ManagerMemberEditDTO; -import cn.lili.modules.member.entity.dto.MemberAddDTO; -import cn.lili.modules.member.entity.dto.MemberEditDTO; -import cn.lili.modules.member.entity.dto.MemberPointMessage; +import cn.lili.modules.member.entity.dto.*; import cn.lili.modules.member.entity.enums.PointTypeEnum; -import cn.lili.modules.member.entity.vo.MemberDistributionVO; import cn.lili.modules.member.entity.vo.MemberSearchVO; import cn.lili.modules.member.entity.vo.MemberVO; import cn.lili.modules.member.mapper.MemberMapper; @@ -40,12 +37,9 @@ import cn.lili.modules.member.token.StoreTokenGenerate; import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.entity.enums.StoreStatusEnum; import cn.lili.modules.store.service.StoreService; -import cn.lili.modules.system.utils.CharacterConstant; -import cn.lili.modules.system.utils.SensitiveWordsFilter; import cn.lili.mybatis.util.PageUtil; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.MemberTagsEnum; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -352,7 +346,7 @@ public class MemberServiceImpl extends ServiceImpl impleme } //过滤会员昵称敏感词 if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(managerMemberEditDTO.getNickName())) { - managerMemberEditDTO.setNickName(SensitiveWordsFilter.filter(managerMemberEditDTO.getNickName(), CharacterConstant.WILDCARD_STAR)); + managerMemberEditDTO.setNickName(SensitiveWordsFilter.filter(managerMemberEditDTO.getNickName())); } //如果密码不为空则加密密码 if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(managerMemberEditDTO.getPassword())) { @@ -429,13 +423,6 @@ public class MemberServiceImpl extends ServiceImpl impleme return this.update(updateWrapper); } - - @Override - public List distribution() { - List memberDistributionVOS = this.baseMapper.distribution(); - return memberDistributionVOS; - } - /** * 根据手机号获取会员 * @@ -471,10 +458,9 @@ public class MemberServiceImpl extends ServiceImpl impleme * @param type 状态 */ private void loginBindUser(Member member, String unionId, String type) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(Connect::getUnionId, unionId); - queryWrapper.eq(Connect::getUnionType, type); - Connect connect = connectService.getOne(queryWrapper); + Connect connect = connectService.queryConnect( + ConnectQueryDTO.builder().unionId(unionId).unionType(type).build() + ); if (connect == null) { connect = new Connect(member.getId(), unionId, type); connectService.save(connect); @@ -498,11 +484,9 @@ public class MemberServiceImpl extends ServiceImpl impleme if (connectAuthUser == null) { return; } - //检测是否已经绑定过用户 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(Connect::getUnionId, connectAuthUser.getUuid()); - queryWrapper.eq(Connect::getUnionType, connectType); - Connect connect = connectService.getOne(queryWrapper); + Connect connect = connectService.queryConnect( + ConnectQueryDTO.builder().unionId(connectAuthUser.getUuid()).unionType(connectType).build() + ); if (connect == null) { connect = new Connect(member.getId(), connectAuthUser.getUuid(), connectType); connectService.save(connect); @@ -544,10 +528,9 @@ public class MemberServiceImpl extends ServiceImpl impleme throw new ServiceException(ResultCode.USER_OVERDUE_CONNECT_ERROR); } //检测是否已经绑定过用户 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(Connect::getUnionId, connectAuthUser.getUuid()); - queryWrapper.eq(Connect::getUnionType, connectType); - Connect connect = connectService.getOne(queryWrapper); + Connect connect = connectService.queryConnect( + ConnectQueryDTO.builder().unionType(connectType).unionId(connectAuthUser.getUuid()).build() + ); //没有关联则返回true,表示可以继续绑定 if (connect == null) { connectAuthUser.setConnectEnum(authInterface); diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreCollectionServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreCollectionServiceImpl.java index b8dbbbe9..bfd798f2 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreCollectionServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreCollectionServiceImpl.java @@ -3,16 +3,19 @@ package cn.lili.modules.member.serviceimpl; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.context.UserContext; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.vo.PageVO; import cn.lili.modules.member.entity.dos.StoreCollection; +import cn.lili.modules.member.entity.dto.CollectionDTO; import cn.lili.modules.member.entity.vo.StoreCollectionVO; import cn.lili.modules.member.mapper.StoreCollectionMapper; import cn.lili.modules.member.service.StoreCollectionService; +import cn.lili.modules.store.service.StoreService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Optional; @@ -26,6 +29,10 @@ import java.util.Optional; @Service public class StoreCollectionServiceImpl extends ServiceImpl implements StoreCollectionService { + + @Autowired + private StoreService storeService; + @Override public IPage storeCollection(PageVO pageVo) { QueryWrapper queryWrapper = new QueryWrapper(); @@ -49,6 +56,7 @@ public class StoreCollectionServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper(); queryWrapper.eq("member_id", UserContext.getCurrentUser().getId()); queryWrapper.eq("store_id", storeId); + storeService.updateStoreCollectionNum(new CollectionDTO(storeId, -1)); return this.remove(queryWrapper); } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/system/serviceimpl/StoreLogisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreLogisticsServiceImpl.java similarity index 91% rename from framework/src/main/java/cn/lili/modules/system/serviceimpl/StoreLogisticsServiceImpl.java rename to framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreLogisticsServiceImpl.java index 3f91a3cd..40731cc8 100644 --- a/framework/src/main/java/cn/lili/modules/system/serviceimpl/StoreLogisticsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/StoreLogisticsServiceImpl.java @@ -1,9 +1,9 @@ -package cn.lili.modules.system.serviceimpl; +package cn.lili.modules.member.serviceimpl; +import cn.lili.modules.member.mapper.StoreLogisticsMapper; +import cn.lili.modules.member.service.StoreLogisticsService; import cn.lili.modules.store.entity.dos.StoreLogistics; import cn.lili.modules.system.entity.vo.StoreLogisticsVO; -import cn.lili.modules.system.mapper.StoreLogisticsMapper; -import cn.lili.modules.system.service.StoreLogisticsService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java b/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java index 3789ff56..07caf8c6 100644 --- a/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java +++ b/framework/src/main/java/cn/lili/modules/message/service/ShortLinkService.java @@ -1,12 +1,22 @@ package cn.lili.modules.message.service; -import com.baomidou.mybatisplus.extension.service.IService; import cn.lili.modules.message.entity.dos.ShortLink; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; /** * 短链接 业务层 + * * @author Chopper */ public interface ShortLinkService extends IService { + /** + * 根据模型,查询返回的集合 + * + * @param shortLink 短链接模型 + * @return 端链接集合 + */ + List queryShortLinks(ShortLink shortLink); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java b/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java index be3ed903..5d734def 100644 --- a/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/message/serviceimpl/ShortLinkServiceImpl.java @@ -3,16 +3,24 @@ package cn.lili.modules.message.serviceimpl; import cn.lili.modules.message.entity.dos.ShortLink; import cn.lili.modules.message.mapper.ShortLinkMapper; import cn.lili.modules.message.service.ShortLinkService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.List; + /** * 短链接 业务实现 + * * @author Chopper */ @Service @Transactional(rollbackFor = Exception.class) public class ShortLinkServiceImpl extends ServiceImpl implements ShortLinkService { + @Override + public List queryShortLinks(ShortLink shortLink) { + return this.list(PageUtil.initWrapper(shortLink)); + } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleLogPoint.java b/framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleLogPoint.java similarity index 90% rename from framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleLogPoint.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleLogPoint.java index 7e3dccbe..1e6c2965 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleLogPoint.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleLogPoint.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.order.aop; +package cn.lili.modules.order.aftersale.aop; import java.lang.annotation.*; diff --git a/framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleOperationLogAspect.java b/framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleOperationLogAspect.java similarity index 93% rename from framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleOperationLogAspect.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleOperationLogAspect.java index 43ee90aa..263c4006 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/aop/AfterSaleOperationLogAspect.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/aop/AfterSaleOperationLogAspect.java @@ -1,12 +1,12 @@ -package cn.lili.modules.order.order.aop; +package cn.lili.modules.order.aftersale.aop; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.SpelUtil; import cn.lili.common.utils.ThreadPoolUtil; -import cn.lili.modules.order.order.service.AfterSaleLogService; -import cn.lili.modules.order.trade.entity.dos.AfterSaleLog; +import cn.lili.modules.order.aftersale.entity.dos.AfterSaleLog; +import cn.lili.modules.order.aftersale.service.AfterSaleLogService; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; @@ -32,7 +32,7 @@ public class AfterSaleOperationLogAspect { @Autowired private AfterSaleLogService afterSaleLogService; - @AfterReturning(returning = "rvt", pointcut = "@annotation(cn.lili.modules.order.order.aop.AfterSaleLogPoint)") + @AfterReturning(returning = "rvt", pointcut = "@annotation(cn.lili.modules.order.aftersale.aop.AfterSaleLogPoint)") public void afterReturning(JoinPoint joinPoint, Object rvt) { try { AuthUser auth = UserContext.getCurrentUser(); diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSale.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSale.java similarity index 97% rename from framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSale.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSale.java index 55ddb87a..52e345b8 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSale.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSale.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.order.entity.dos; +package cn.lili.modules.order.aftersale.entity.dos; import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; @@ -142,7 +142,7 @@ public class AfterSale extends BaseEntity { private String mLogisticsName; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "买家发货时间") private Date mDeliverTime; diff --git a/framework/src/main/java/cn/lili/modules/order/trade/entity/dos/AfterSaleLog.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleLog.java similarity index 97% rename from framework/src/main/java/cn/lili/modules/order/trade/entity/dos/AfterSaleLog.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleLog.java index 046391c7..af5bb3e1 100644 --- a/framework/src/main/java/cn/lili/modules/order/trade/entity/dos/AfterSaleLog.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleLog.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.trade.entity.dos; +package cn.lili.modules.order.aftersale.entity.dos; import cn.lili.common.security.enums.UserEnums; import cn.lili.mybatis.BaseIdEntity; diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSaleReason.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleReason.java similarity index 93% rename from framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSaleReason.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleReason.java index b9b0dd41..e0370f1e 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/AfterSaleReason.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dos/AfterSaleReason.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.order.entity.dos; +package cn.lili.modules.order.aftersale.entity.dos; import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSaleDTO.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSaleDTO.java similarity index 96% rename from framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSaleDTO.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSaleDTO.java index 20e110c7..09c39259 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSaleDTO.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSaleDTO.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.order.entity.dto; +package cn.lili.modules.order.aftersale.entity.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSalePriceDetailDTO.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSalePriceDetailDTO.java similarity index 97% rename from framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSalePriceDetailDTO.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSalePriceDetailDTO.java index bc16120f..1f126b9e 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/AfterSalePriceDetailDTO.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/dto/AfterSalePriceDetailDTO.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.order.entity.dto; +package cn.lili.modules.order.aftersale.entity.dto; import cn.lili.modules.promotion.entity.dto.BasePromotions; diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/ComplaintStatusEnum.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/enums/ComplaintStatusEnum.java similarity index 92% rename from framework/src/main/java/cn/lili/modules/order/order/entity/enums/ComplaintStatusEnum.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/enums/ComplaintStatusEnum.java index 6877ec75..67d173bf 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/ComplaintStatusEnum.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/enums/ComplaintStatusEnum.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.order.entity.enums; +package cn.lili.modules.order.aftersale.entity.enums; /** * 交易投诉状态 diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleAllowOperation.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleAllowOperation.java similarity index 94% rename from framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleAllowOperation.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleAllowOperation.java index b830279a..cc449ad1 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleAllowOperation.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleAllowOperation.java @@ -1,6 +1,6 @@ -package cn.lili.modules.order.order.entity.vo; +package cn.lili.modules.order.aftersale.entity.vo; -import cn.lili.modules.order.order.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleApplyVO.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleApplyVO.java similarity index 91% rename from framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleApplyVO.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleApplyVO.java index a05a416f..9d6577af 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleApplyVO.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleApplyVO.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.order.entity.vo; +package cn.lili.modules.order.aftersale.entity.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -54,5 +54,10 @@ public class AfterSaleApplyVO { @ApiModelProperty(value = "是否支持退款") private Boolean returnMoney; + @ApiModelProperty(value = "会员ID") + private String memberId; + + + } diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleSearchParams.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleSearchParams.java similarity index 98% rename from framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleSearchParams.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleSearchParams.java index 1da92246..6c8bfcd1 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleSearchParams.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.order.entity.vo; +package cn.lili.modules.order.aftersale.entity.vo; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleVO.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleVO.java similarity index 67% rename from framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleVO.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleVO.java index 4fdc10b5..28766e48 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/AfterSaleVO.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleVO.java @@ -1,7 +1,6 @@ -package cn.lili.modules.order.order.entity.vo; +package cn.lili.modules.order.aftersale.entity.vo; -import cn.lili.modules.order.order.entity.dos.AfterSale; -import jdk.nashorn.internal.objects.annotations.Getter; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import lombok.Data; /** @@ -15,7 +14,6 @@ public class AfterSaleVO extends AfterSale { /** * 初始化自身状态 */ - @Getter public AfterSaleAllowOperation getAfterSaleAllowOperationVO() { //设置订单的可操作状态 diff --git a/framework/src/main/java/cn/lili/modules/order/trade/mapper/AfterSaleLogMapper.java b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleLogMapper.java similarity index 66% rename from framework/src/main/java/cn/lili/modules/order/trade/mapper/AfterSaleLogMapper.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleLogMapper.java index 4bb728e3..a1f59f19 100644 --- a/framework/src/main/java/cn/lili/modules/order/trade/mapper/AfterSaleLogMapper.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleLogMapper.java @@ -1,6 +1,6 @@ -package cn.lili.modules.order.trade.mapper; +package cn.lili.modules.order.aftersale.mapper; -import cn.lili.modules.order.trade.entity.dos.AfterSaleLog; +import cn.lili.modules.order.aftersale.entity.dos.AfterSaleLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleMapper.java b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleMapper.java similarity index 85% rename from framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleMapper.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleMapper.java index 9ee2ceb3..7cad30d5 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleMapper.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleMapper.java @@ -1,7 +1,7 @@ -package cn.lili.modules.order.order.mapper; +package cn.lili.modules.order.aftersale.mapper; -import cn.lili.modules.order.order.entity.dos.AfterSale; -import cn.lili.modules.order.order.entity.vo.AfterSaleVO; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleReasonMapper.java b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleReasonMapper.java similarity index 66% rename from framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleReasonMapper.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleReasonMapper.java index 2cfe9d2f..a1298b83 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/mapper/AfterSaleReasonMapper.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/mapper/AfterSaleReasonMapper.java @@ -1,6 +1,6 @@ -package cn.lili.modules.order.order.mapper; +package cn.lili.modules.order.aftersale.mapper; -import cn.lili.modules.order.order.entity.dos.AfterSaleReason; +import cn.lili.modules.order.aftersale.entity.dos.AfterSaleReason; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleLogService.java b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleLogService.java similarity index 78% rename from framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleLogService.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleLogService.java index a5a19a7f..dc7ddf71 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleLogService.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleLogService.java @@ -1,6 +1,6 @@ -package cn.lili.modules.order.order.service; +package cn.lili.modules.order.aftersale.service; -import cn.lili.modules.order.trade.entity.dos.AfterSaleLog; +import cn.lili.modules.order.aftersale.entity.dos.AfterSaleLog; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleReasonService.java b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleReasonService.java similarity index 83% rename from framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleReasonService.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleReasonService.java index 54ae530d..eee8437e 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleReasonService.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleReasonService.java @@ -1,6 +1,6 @@ -package cn.lili.modules.order.order.service; +package cn.lili.modules.order.aftersale.service; -import cn.lili.modules.order.order.entity.dos.AfterSaleReason; +import cn.lili.modules.order.aftersale.entity.dos.AfterSaleReason; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleService.java b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleService.java similarity index 78% rename from framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleService.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleService.java index 6af2ebe2..9a16a4cb 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/AfterSaleService.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/service/AfterSaleService.java @@ -1,13 +1,11 @@ -package cn.lili.modules.order.order.service; +package cn.lili.modules.order.aftersale.service; -import cn.lili.common.vo.PageVO; -import cn.lili.modules.order.order.entity.dos.AfterSale; -import cn.lili.modules.order.order.entity.dto.AfterSaleDTO; -import cn.lili.modules.order.order.entity.vo.AfterSaleApplyVO; -import cn.lili.modules.order.order.entity.vo.AfterSaleSearchParams; -import cn.lili.modules.order.order.entity.vo.AfterSaleVO; -import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dto.AfterSaleDTO; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleApplyVO; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleSearchParams; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO; import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO; import cn.lili.modules.system.entity.vo.Traces; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -129,13 +127,6 @@ public interface AfterSaleService extends IService { */ AfterSale cancel(String afterSaleSn); - /** - * 获取待处理售后数量 - * - * @param serviceType 售后类型 - * @return 待处理售后数量 - */ - Integer applyNum(String serviceType); /** * 根据售后单号获取店铺退货收货地址信息 @@ -145,12 +136,4 @@ public interface AfterSaleService extends IService { */ StoreAfterSaleAddressDTO getStoreAfterSaleAddressDTO(String sn); - /** - * 获取统计的售后 - * - * @param statisticsQueryParam 统计搜索参数 - * @param pageVO 分页 - * @return 售后分页列表 - */ - IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleLogServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleLogServiceImpl.java similarity index 76% rename from framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleLogServiceImpl.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleLogServiceImpl.java index e35fd44f..116ea608 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleLogServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleLogServiceImpl.java @@ -1,8 +1,8 @@ -package cn.lili.modules.order.order.serviceimpl; +package cn.lili.modules.order.aftersale.serviceimpl; -import cn.lili.modules.order.order.service.AfterSaleLogService; -import cn.lili.modules.order.trade.entity.dos.AfterSaleLog; -import cn.lili.modules.order.trade.mapper.AfterSaleLogMapper; +import cn.lili.modules.order.aftersale.entity.dos.AfterSaleLog; +import cn.lili.modules.order.aftersale.mapper.AfterSaleLogMapper; +import cn.lili.modules.order.aftersale.service.AfterSaleLogService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleReasonServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleReasonServiceImpl.java similarity index 85% rename from framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleReasonServiceImpl.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleReasonServiceImpl.java index 991b38dc..df094942 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleReasonServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleReasonServiceImpl.java @@ -1,8 +1,8 @@ -package cn.lili.modules.order.order.serviceimpl; +package cn.lili.modules.order.aftersale.serviceimpl; -import cn.lili.modules.order.order.entity.dos.AfterSaleReason; -import cn.lili.modules.order.order.mapper.AfterSaleReasonMapper; -import cn.lili.modules.order.order.service.AfterSaleReasonService; +import cn.lili.modules.order.aftersale.entity.dos.AfterSaleReason; +import cn.lili.modules.order.aftersale.mapper.AfterSaleReasonMapper; +import cn.lili.modules.order.aftersale.service.AfterSaleReasonService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java similarity index 75% rename from framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java rename to framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java index c8c86a29..9d2c3260 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/AfterSaleServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.order.serviceimpl; +package cn.lili.modules.order.aftersale.serviceimpl; import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.NumberUtil; @@ -7,26 +7,25 @@ import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.common.security.AuthUser; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; -import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.BeanUtil; import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.SnowFlake; -import cn.lili.common.vo.PageVO; -import cn.lili.modules.order.order.aop.AfterSaleLogPoint; -import cn.lili.modules.order.order.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.aop.AfterSaleLogPoint; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dto.AfterSaleDTO; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleApplyVO; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleSearchParams; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO; +import cn.lili.modules.order.aftersale.mapper.AfterSaleMapper; +import cn.lili.modules.order.aftersale.service.AfterSaleService; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.OrderItem; -import cn.lili.modules.order.order.entity.dto.AfterSaleDTO; import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderTypeEnum; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; -import cn.lili.modules.order.order.entity.vo.AfterSaleApplyVO; -import cn.lili.modules.order.order.entity.vo.AfterSaleSearchParams; -import cn.lili.modules.order.order.entity.vo.AfterSaleVO; -import cn.lili.modules.order.order.mapper.AfterSaleMapper; -import cn.lili.modules.order.order.service.AfterSaleService; import cn.lili.modules.order.order.service.OrderItemService; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.trade.entity.enums.AfterSaleRefundWayEnum; @@ -34,15 +33,12 @@ import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum; import cn.lili.modules.order.trade.entity.enums.AfterSaleTypeEnum; import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; import cn.lili.modules.payment.kit.RefundSupport; -import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; -import cn.lili.modules.statistics.util.StatisticsDateUtil; import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO; import cn.lili.modules.store.service.StoreDetailService; import cn.lili.modules.system.aspect.annotation.SystemLogPoint; import cn.lili.modules.system.entity.dos.Logistics; import cn.lili.modules.system.entity.vo.Traces; import cn.lili.modules.system.service.LogisticsService; -import cn.lili.modules.system.utils.OperationalJudgment; import cn.lili.mybatis.util.PageUtil; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.AfterSaleTagsEnum; @@ -60,6 +56,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * 售后业务层实现 @@ -165,6 +162,7 @@ public class AfterSaleServiceImpl extends ServiceImpl queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(AfterSale::getServiceStatus, AfterSaleStatusEnum.APPLY.name()); - queryWrapper.eq(CharSequenceUtil.isNotEmpty(serviceType), AfterSale::getServiceType, serviceType); - queryWrapper.eq(CharSequenceUtil.equals(authUser.getRole().name(), UserEnums.STORE.name()), - AfterSale::getStoreId, authUser.getStoreId()); - return this.count(queryWrapper); - } - @Override public StoreAfterSaleAddressDTO getStoreAfterSaleAddressDTO(String sn) { return storeDetailService.getStoreAfterSaleAddressDTO(OperationalJudgment.judgment(this.getBySn(sn)).getStoreId()); } - @Override - public IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO) { - - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); - queryWrapper.between(AfterSale::getCreateTime, dates[0], dates[1]); - queryWrapper.eq(CharSequenceUtil.isNotEmpty(statisticsQueryParam.getStoreId()), AfterSale::getStoreId, statisticsQueryParam.getStoreId()); - - return this.page(PageUtil.initPage(pageVO), queryWrapper); - } - /** * 创建售后 * @@ -441,15 +422,54 @@ public class AfterSaleServiceImpl extends ServiceImpl() + .eq(OrderItem::getOrderSn, afterSale.getOrderSn()) + .eq(OrderItem::getSkuId, afterSale.getSkuId())); + AfterSaleStatusEnum afterSaleStatusEnum = AfterSaleStatusEnum.valueOf(afterSale.getServiceStatus()); + + switch (afterSaleStatusEnum) { + //判断当前售后的状态---申请中 + case APPLY: { + orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + afterSale.getNum()); + break; + } + + //判断当前售后的状态---已拒绝,买家取消售后,卖家终止售后 + case REFUSE: + case BUYER_CANCEL: + case SELLER_TERMINATION: { + orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() - afterSale.getNum()); + break; + } + default: + break; + } + //修改orderItem订单 + this.updateOrderItem(orderItem); + } + + /** * 检查当前订单状态是否为可申请当前售后类型的状态 * @@ -465,11 +485,17 @@ public class AfterSaleServiceImpl extends ServiceImpl (orderItem.getNum() - orderItem.getReturnGoodsNumber())) { + throw new ServiceException(ResultCode.AFTER_GOODS_NUMBER_ERROR); + } + + //获取售后类型 Order order = orderService.getBySn(orderItem.getOrderSn()); AfterSaleTypeEnum afterSaleTypeEnum = AfterSaleTypeEnum.valueOf(afterSaleDTO.getServiceType()); @@ -531,6 +557,7 @@ public class AfterSaleServiceImpl extends ServiceImpl queryWrapper = Wrappers.lambdaUpdate(); queryWrapper.eq(AfterSale::getSn, afterSaleSn); this.update(afterSale, queryWrapper); @@ -547,4 +574,76 @@ public class AfterSaleServiceImpl extends ServiceImpl afterSaleList) { + //根据售后状态获取不是已结束的售后记录 + List implementList = afterSaleList.stream() + .filter(afterSale -> afterSale.getServiceStatus().equals(AfterSaleStatusEnum.APPLY.name()) + || afterSale.getServiceStatus().equals(AfterSaleStatusEnum.PASS.name()) + || afterSale.getServiceStatus().equals(AfterSaleStatusEnum.BUYER_RETURN.name()) + || afterSale.getServiceStatus().equals(AfterSaleStatusEnum.SELLER_CONFIRM.name()) + || afterSale.getServiceStatus().equals(AfterSaleStatusEnum.WAIT_REFUND.name()) + || afterSale.getServiceStatus().equals(AfterSaleStatusEnum.COMPLETE.name())) + .collect(Collectors.toList()); + + if (!implementList.isEmpty()) { + //遍历售后记录获取售后商品数量 + implementList.forEach(a -> orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + a.getNum())); + } + + //获取已完成售后订单数量 + List completeList = afterSaleList.stream() + .filter(afterSale -> afterSale.getServiceStatus().equals(AfterSaleStatusEnum.COMPLETE.name())) + .collect(Collectors.toList()); + + if (!completeList.isEmpty()) { + //遍历售后记录获取已完成售后商品数量 + completeList.forEach(a -> orderItem.setReturnGoodsNumber(orderItem.getReturnGoodsNumber() + a.getNum())); + } + } + + /** + * 功能描述: 修改orderItem订单 + * + * @param orderItem + * @return void + * @author ftyy + **/ + private void updateOrderItem(OrderItem orderItem) { + //订单状态不能为新订单,已失效订单或未申请订单才可以去修改订单信息 + OrderItemAfterSaleStatusEnum afterSaleTypeEnum = OrderItemAfterSaleStatusEnum.valueOf(orderItem.getAfterSaleStatus()); + switch (afterSaleTypeEnum) { + //售后状态为:未申请 部分售后 已申请 + case NOT_APPLIED: + case PART_AFTER_SALE: + case ALREADY_APPLIED: { + //通过正在售后商品总数修改订单售后状态 + if (orderItem.getReturnGoodsNumber().equals(orderItem.getNum())) { + //修改订单的售后状态--已申请 + orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.ALREADY_APPLIED.name()); + } else if (orderItem.getReturnGoodsNumber().equals(0)) { + //修改订单的售后状态--未申请 + orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.NOT_APPLIED.name()); + } else { + //修改订单的售后状态--部分售后 + orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.PART_AFTER_SALE.name()); + } + break; + } + + default: + break; + } + orderItemService.update(new LambdaUpdateWrapper() + .eq(OrderItem::getSn, orderItem.getSn()) + .set(OrderItem::getAfterSaleStatus, orderItem.getAfterSaleStatus()) + .set(OrderItem::getReturnGoodsNumber, orderItem.getReturnGoodsNumber())); + } + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java b/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java index 75cfa3bd..dd15fbb8 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/TradeBuilder.java @@ -97,7 +97,7 @@ public class TradeBuilder { renderCartBySteps(tradeDTO, RenderStepStatement.tradeRender); } - + //添加order订单及order_item子订单并返回 return tradeService.createTrade(tradeDTO); } diff --git a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java index 9354cf6b..72fb5806 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java @@ -397,11 +397,8 @@ public class CartServiceImpl implements CartService { private void checkSetGoodsQuantity(CartSkuVO cartSkuVO, String skuId, Integer num) { Integer enableStock = goodsSkuService.getStock(skuId); - //读取sku的可用库存 - Integer enableQuantity = goodsSkuService.getStock(skuId); - //如果sku的可用库存小于等于0或者小于用户购买的数量,则不允许购买 - if (enableQuantity <= 0 || enableQuantity < num) { + if (enableStock <= 0 || enableStock < num) { throw new ServiceException(ResultCode.GOODS_SKU_QUANTITY_NOT_ENOUGH); } diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderComplaint.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderComplaint.java index c125c8b6..9b3111de 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderComplaint.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderComplaint.java @@ -1,6 +1,6 @@ package cn.lili.modules.order.order.entity.dos; -import cn.lili.modules.order.order.entity.enums.ComplaintStatusEnum; +import cn.lili.modules.order.aftersale.entity.enums.ComplaintStatusEnum; import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java index 631bc5fe..ae8c270f 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java @@ -112,6 +112,10 @@ public class OrderItem extends BaseEntity { @ApiModelProperty(value = "交易投诉id") private String complainId; + @ApiModelProperty(value = "退货商品数量") + private Integer returnGoodsNumber; + + public OrderItem(CartSkuVO cartSkuVO, CartVO cartVO, TradeDTO tradeDTO) { String oldId = this.getId(); BeanUtil.copyProperties(cartSkuVO.getGoodsSku(), this); diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreFlowQueryDTO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreFlowQueryDTO.java new file mode 100644 index 00000000..958b47ba --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/StoreFlowQueryDTO.java @@ -0,0 +1,38 @@ +package cn.lili.modules.order.order.entity.dto; + +import cn.lili.common.vo.PageVO; +import cn.lili.modules.store.entity.dos.Bill; +import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; +import lombok.Data; + +/** + * 店铺流水查询DTO + * + * @author Chopper + * @version v1.0 + * 2021-12-08 10:53 + */ +@Data +@Builder +public class StoreFlowQueryDTO { + + @ApiModelProperty(value = "类型") + private String type; + + @ApiModelProperty(value = "售后编号") + private String refundSn; + + @ApiModelProperty(value = "售后编号") + private String orderSn; + + @ApiModelProperty(value = "过滤只看分销订单") + private Boolean justDistribution; + + @ApiModelProperty("结算单") + private Bill bill; + + @ApiModelProperty(value = "分页") + private PageVO pageVO; + +} diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderItemAfterSaleStatusEnum.java b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderItemAfterSaleStatusEnum.java index 00a34619..88f752c5 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderItemAfterSaleStatusEnum.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/OrderItemAfterSaleStatusEnum.java @@ -14,7 +14,9 @@ public enum OrderItemAfterSaleStatusEnum { NEW("新订单,不能申请售后"), NOT_APPLIED("未申请"), ALREADY_APPLIED("已申请"), - EXPIRED("已失效不允许申请售后"); + EXPIRED("已失效不允许申请售后"), + PART_AFTER_SALE("部分售后"); + private final String description; diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderComplaintSearchParams.java b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderComplaintSearchParams.java index 025e54cd..7b676630 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderComplaintSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderComplaintSearchParams.java @@ -1,8 +1,8 @@ package cn.lili.modules.order.order.entity.vo; import cn.hutool.core.util.StrUtil; +import cn.lili.modules.order.aftersale.entity.enums.ComplaintStatusEnum; import cn.lili.modules.order.order.entity.dos.OrderComplaint; -import cn.lili.modules.order.order.entity.enums.ComplaintStatusEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java index f92610ad..6a62e8fd 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java +++ b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java @@ -31,6 +31,28 @@ public interface OrderMapper extends BaseMapper { @Update({"update li_order set order_status = #{status} where sn = #{orderSn}"}) void updateStatus(String status, String orderSn); + /** + * 查询导出订单DTO列表 + * + * @param queryWrapper 查询条件 + * @return 导出订单DTO列表 + */ + @Select("SELECT o.sn,o.create_time,o.member_name,o.consignee_name,o.consignee_mobile,o.consignee_address_path,o.consignee_detail," + + "o.payment_method, o.logistics_name,o.freight_price,o.goods_price,o.discount_price,o.flow_price,oi.goods_name,oi.num," + + "o.remark,o.order_status,o.pay_status,o.deliver_status,o.need_receipt,o.store_name FROM li_order o LEFT JOIN li_order_item oi " + + "ON oi.order_sn=o.sn ${ew.customSqlSegment}") + List queryExportOrder(@Param(Constants.WRAPPER) Wrapper queryWrapper); + + /** + * 查询订单支付记录 + * + * @param page 分页 + * @param queryWrapper 查询条件 + * @return 订单支付记录分页 + */ + @Select("select * from li_order ${ew.customSqlSegment} ") + IPage queryPaymentLogs(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + /** * 查询订单简短信息分页 * @@ -63,26 +85,4 @@ public interface OrderMapper extends BaseMapper { List queryListByParams(@Param(Constants.WRAPPER) Wrapper queryWrapper); - /** - * 查询导出订单DTO列表 - * - * @param queryWrapper 查询条件 - * @return 导出订单DTO列表 - */ - @Select("SELECT o.sn,o.create_time,o.member_name,o.consignee_name,o.consignee_mobile,o.consignee_address_path,o.consignee_detail," + - "o.payment_method, o.logistics_name,o.freight_price,o.goods_price,o.discount_price,o.flow_price,oi.goods_name,oi.num," + - "o.remark,o.order_status,o.pay_status,o.deliver_status,o.need_receipt,o.store_name FROM li_order o LEFT JOIN li_order_item oi " + - "ON oi.order_sn=o.sn ${ew.customSqlSegment}") - List queryExportOrder(@Param(Constants.WRAPPER) Wrapper queryWrapper); - - /** - * 查询订单支付记录 - * - * @param page 分页 - * @param queryWrapper 查询条件 - * @return 订单支付记录分页 - */ - @Select("select * from li_order ${ew.customSqlSegment} ") - IPage queryPaymentLogs(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); - } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java b/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java index cee318a2..ca3c3f4a 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java +++ b/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java @@ -58,4 +58,12 @@ public interface OrderItemService extends IService { */ List getByOrderSn(String orderSn); + /** + * 子订单查询 + * + * @param orderSn 订单编号 + * @param skuId skuid + * @return 子订单 + */ + OrderItem getByOrderSnAndSkuId(String orderSn, String skuId); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java b/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java index 64d45791..abbd337a 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java +++ b/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java @@ -1,6 +1,5 @@ package cn.lili.modules.order.order.service; -import cn.lili.common.vo.PageVO; import cn.lili.modules.member.entity.dto.MemberAddressDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.order.entity.dos.Order; @@ -9,8 +8,9 @@ import cn.lili.modules.order.order.entity.dto.OrderMessage; import cn.lili.modules.order.order.entity.dto.OrderSearchParams; import cn.lili.modules.order.order.entity.vo.OrderDetailVO; import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; -import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; +import cn.lili.modules.order.order.entity.vo.PaymentLog; import cn.lili.modules.system.entity.vo.Traces; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; @@ -226,16 +226,6 @@ public interface OrderService extends IService { */ void deleteOrder(String sn); - /** - * 获取统计的订单 - * - * @param statisticsQueryParam - * @param pageVO - * @return - */ - IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO); - - /** * 开具发票 * @@ -275,4 +265,13 @@ public interface OrderService extends IService { * @return 金额 */ Double getPaymentTotal(String orderSn); + + /** + * 查询订单支付记录 + * + * @param page 分页 + * @param queryWrapper 查询条件 + * @return 订单支付记录分页 + */ + IPage queryPaymentLogs(IPage page, Wrapper queryWrapper); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java b/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java index 83d07d57..ff879435 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java +++ b/framework/src/main/java/cn/lili/modules/order/order/service/StoreFlowService.java @@ -1,12 +1,15 @@ package cn.lili.modules.order.order.service; import cn.lili.common.vo.PageVO; -import cn.lili.modules.order.order.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.order.order.entity.dto.StoreFlowQueryDTO; +import cn.lili.modules.store.entity.vos.StoreFlowPayDownloadVO; +import cn.lili.modules.store.entity.vos.StoreFlowRefundDownloadVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import java.util.Date; +import java.util.List; /** * 商家订单流水业务层 @@ -33,14 +36,61 @@ public interface StoreFlowService extends IService { /** * 获取商家流水 * - * @param storeId 商家ID - * @param type 收入、退款 - * @param distribution 是否查看分销相关数据 - * @param pageVO 分页 - * @param startTime 开始时间 - * @param endTime 结束时间 - * @return + * @param storeFlowQueryDTO 查询参数 + * @return 返回分页 */ - IPage getStoreFlow(String storeId, String type, boolean distribution, PageVO pageVO, Date startTime, Date endTime); + IPage getStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO); + /** + * 根据参数查询一条数据 + * + * @param storeFlowQueryDTO 查询参数 + * @return 返回分页 + */ + StoreFlow queryOne(StoreFlowQueryDTO storeFlowQueryDTO); + + /** + * 获取结算单地入账流水 + * + * @param storeFlowQueryDTO 查询条件 + * @return 入账流水 + */ + List getStoreFlowPayDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO); + + /** + * 获取结算单的退款流水 + * + * @param storeFlowQueryDTO 查询条件 + * @return 退款流水 + */ + List getStoreFlowRefundDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO); + + + /** + * 根据结算单ID获取商家流水 + * + * @param pageVO 分页 + * @param id 结算单ID + * @param type 类型 + * @return 商家流水 + */ + IPage getStoreFlow(String id, String type, PageVO pageVO); + + /** + * 根据结算单ID获取商家流水 + * + * @param pageVO 分页 + * @param id 结算单ID + * @return 商家流水 + */ + IPage getDistributionFlow(String id, PageVO pageVO); + + + /** + * 获取店铺流水 + * + * @param storeFlowQueryDTO 店铺流水查询参数 + * @return 商家流水集合 + */ + List listStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderComplaintServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderComplaintServiceImpl.java index bd857b65..53746d82 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderComplaintServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderComplaintServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.AuthUser; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.BeanUtil; @@ -11,11 +12,11 @@ import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.PageVO; import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.service.GoodsSkuService; +import cn.lili.modules.order.aftersale.entity.enums.ComplaintStatusEnum; import cn.lili.modules.order.order.entity.dos.OrderComplaint; import cn.lili.modules.order.order.entity.dos.OrderComplaintCommunication; import cn.lili.modules.order.order.entity.dos.OrderItem; import cn.lili.modules.order.order.entity.dto.OrderComplaintDTO; -import cn.lili.modules.order.order.entity.enums.ComplaintStatusEnum; import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum; import cn.lili.modules.order.order.entity.vo.*; import cn.lili.modules.order.order.mapper.OrderComplaintMapper; @@ -23,7 +24,6 @@ import cn.lili.modules.order.order.service.OrderComplaintCommunicationService; import cn.lili.modules.order.order.service.OrderComplaintService; import cn.lili.modules.order.order.service.OrderItemService; import cn.lili.modules.order.order.service.OrderService; -import cn.lili.modules.system.utils.OperationalJudgment; import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java index 7579de46..428ecb95 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java @@ -9,14 +9,12 @@ import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum; import cn.lili.modules.order.order.mapper.OrderItemMapper; import cn.lili.modules.order.order.service.OrderItemService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; import java.util.List; /** @@ -80,4 +78,10 @@ public class OrderItemServiceImpl extends ServiceImpl() + .eq(OrderItem::getOrderSn, orderSn) + .eq(OrderItem::getSkuId, skuId)); + } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderPriceServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderPriceServiceImpl.java index 735e8808..ca75fd41 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderPriceServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderPriceServiceImpl.java @@ -3,6 +3,7 @@ package cn.lili.modules.order.order.serviceimpl; import cn.hutool.json.JSONUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.utils.CurrencyUtil; import cn.lili.modules.order.order.aop.OrderLogPoint; import cn.lili.modules.order.order.entity.dos.Order; @@ -15,7 +16,6 @@ import cn.lili.modules.order.order.service.OrderPriceService; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.payment.kit.plugin.bank.BankTransferPlugin; import cn.lili.modules.system.aspect.annotation.SystemLogPoint; -import cn.lili.modules.system.utils.OperationalJudgment; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index d92799dd..d3844817 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -12,10 +12,10 @@ import cn.lili.common.enums.PromotionTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.properties.RocketmqCustomProperties; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.StringUtils; -import cn.lili.common.vo.PageVO; import cn.lili.modules.goods.entity.dto.GoodsCompleteMessage; import cn.lili.modules.member.entity.dto.MemberAddressDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; @@ -32,6 +32,7 @@ import cn.lili.modules.order.order.entity.enums.*; import cn.lili.modules.order.order.entity.vo.OrderDetailVO; import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; import cn.lili.modules.order.order.entity.vo.OrderVO; +import cn.lili.modules.order.order.entity.vo.PaymentLog; import cn.lili.modules.order.order.mapper.OrderItemMapper; import cn.lili.modules.order.order.mapper.OrderMapper; import cn.lili.modules.order.order.service.*; @@ -40,23 +41,21 @@ import cn.lili.modules.order.trade.service.OrderLogService; import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; import cn.lili.modules.promotion.entity.dos.Pintuan; import cn.lili.modules.promotion.service.PintuanService; -import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; -import cn.lili.modules.statistics.util.StatisticsDateUtil; import cn.lili.modules.system.aspect.annotation.SystemLogPoint; import cn.lili.modules.system.entity.dos.Logistics; import cn.lili.modules.system.entity.vo.Traces; import cn.lili.modules.system.service.LogisticsService; -import cn.lili.modules.system.utils.OperationalJudgment; import cn.lili.mybatis.util.PageUtil; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.GoodsTagsEnum; -import cn.lili.rocketmq.tags.MqOrderTagsEnum; +import cn.lili.rocketmq.tags.OrderTagsEnum; import cn.lili.trigger.enums.DelayTypeEnums; import cn.lili.trigger.interfaces.TimeTrigger; import cn.lili.trigger.message.PintuanOrderMessage; import cn.lili.trigger.model.TimeExecuteConstant; import cn.lili.trigger.model.TimeTriggerMsg; import cn.lili.trigger.util.DelayQueueTools; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -524,7 +523,7 @@ public class OrderServiceImpl extends ServiceImpl implements @Override public void sendUpdateStatusMessage(OrderMessage orderMessage) { - String destination = rocketmqCustomProperties.getOrderTopic() + ":" + MqOrderTagsEnum.STATUS_CHANGE.name(); + String destination = rocketmqCustomProperties.getOrderTopic() + ":" + OrderTagsEnum.STATUS_CHANGE.name(); //发送订单变更mq消息 rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(orderMessage), RocketmqSendCallbackBuilder.commonCallback()); } @@ -544,21 +543,6 @@ public class OrderServiceImpl extends ServiceImpl implements this.orderItemService.update(orderItemLambdaUpdateWrapper); } - @Override - public IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO) { - - QueryWrapper queryWrapper = new QueryWrapper<>(); - Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); - queryWrapper.between("o.create_time", dates[0], dates[1]); - queryWrapper.eq(StringUtils.isNotEmpty(statisticsQueryParam.getStoreId()), - "o.store_id", statisticsQueryParam.getStoreId()); - - queryWrapper.eq("o.delete_flag", false); - queryWrapper.groupBy("o.id"); - queryWrapper.orderByDesc("o.id"); - return this.baseMapper.queryByParams(PageUtil.initPage(pageVO), queryWrapper); - } - @Override public Boolean invoice(String sn) { //根据订单号查询发票信息 @@ -663,6 +647,11 @@ public class OrderServiceImpl extends ServiceImpl implements return order.getFlowPrice(); } + @Override + public IPage queryPaymentLogs(IPage page, Wrapper queryWrapper) { + return baseMapper.queryPaymentLogs(page, queryWrapper); + } + /** * 循环检查批量发货订单列表 * diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java index 4659197d..da22d3ab 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java @@ -1,11 +1,15 @@ package cn.lili.modules.order.order.serviceimpl; -import cn.lili.common.utils.*; +import cn.lili.common.utils.BeanUtil; +import cn.lili.common.utils.CurrencyUtil; +import cn.lili.common.utils.SnowFlake; +import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.PageVO; -import cn.lili.modules.order.order.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.OrderItem; import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.order.order.entity.dto.StoreFlowQueryDTO; import cn.lili.modules.order.order.entity.enums.FlowTypeEnum; import cn.lili.modules.order.order.entity.enums.OrderPromotionTypeEnum; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; @@ -15,6 +19,10 @@ import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.StoreFlowService; import cn.lili.modules.payment.entity.RefundLog; import cn.lili.modules.payment.service.RefundLogService; +import cn.lili.modules.store.entity.dos.Bill; +import cn.lili.modules.store.entity.vos.StoreFlowPayDownloadVO; +import cn.lili.modules.store.entity.vos.StoreFlowRefundDownloadVO; +import cn.lili.modules.store.service.BillService; import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -26,7 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; import java.util.List; /** @@ -56,6 +63,9 @@ public class StoreFlowServiceImpl extends ServiceImpl().eq(StoreFlow::getOrderItemSn, afterSale.getOrderItemSn())); + StoreFlow payStoreFlow = this.getOne(new LambdaUpdateWrapper().eq(StoreFlow::getOrderItemSn, afterSale.getOrderItemSn()) + .eq(StoreFlow::getFlowType, FlowTypeEnum.PAY)); storeFlow.setNum(afterSale.getNum()); storeFlow.setCategoryId(payStoreFlow.getCategoryId()); //佣金 @@ -151,20 +162,84 @@ public class StoreFlowServiceImpl extends ServiceImpl().eq(RefundLog::getAfterSaleNo, afterSale.getSn())); + RefundLog refundLog = refundLogService.queryByAfterSaleSn(afterSale.getSn()); storeFlow.setTransactionId(refundLog.getReceivableNo()); storeFlow.setPaymentName(refundLog.getPaymentName()); this.save(storeFlow); } @Override - public IPage getStoreFlow(String storeId, String type, boolean distribution, PageVO pageVO, Date startTime, Date endTime) { + public IPage getStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO) { + + return this.page(PageUtil.initPage(storeFlowQueryDTO.getPageVO()), generatorQueryWrapper(storeFlowQueryDTO)); + } + + @Override + public StoreFlow queryOne(StoreFlowQueryDTO storeFlowQueryDTO) { + return this.getOne(generatorQueryWrapper(storeFlowQueryDTO)); + } + + @Override + public List getStoreFlowPayDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO) { + return baseMapper.getStoreFlowPayDownloadVO(generatorQueryWrapper(storeFlowQueryDTO)); + } + + @Override + public List getStoreFlowRefundDownloadVO(StoreFlowQueryDTO storeFlowQueryDTO) { + return baseMapper.getStoreFlowRefundDownloadVO(generatorQueryWrapper(storeFlowQueryDTO)); + } + + + @Override + public IPage getStoreFlow(String id, String type, PageVO pageVO) { + Bill bill = billService.getById(id); + return this.getStoreFlow(StoreFlowQueryDTO.builder().type(type).pageVO(pageVO).bill(bill).build()); + } + + @Override + public IPage getDistributionFlow(String id, PageVO pageVO) { + Bill bill = billService.getById(id); + return this.getStoreFlow(StoreFlowQueryDTO.builder().pageVO(pageVO).bill(bill).build()); + } + + @Override + public List listStoreFlow(StoreFlowQueryDTO storeFlowQueryDTO) { + return this.list(generatorQueryWrapper(storeFlowQueryDTO)); + } + + /** + * 生成查询wrapper + * + * @param storeFlowQueryDTO 搜索参数 + * @return 查询wrapper + */ + private LambdaQueryWrapper generatorQueryWrapper(StoreFlowQueryDTO storeFlowQueryDTO) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); - lambdaQueryWrapper.eq(StoreFlow::getStoreId, storeId); - lambdaQueryWrapper.isNotNull(distribution, StoreFlow::getDistributionRebate); - lambdaQueryWrapper.between(StoreFlow::getCreateTime, startTime, endTime); - lambdaQueryWrapper.eq(StringUtils.isNotEmpty(type), StoreFlow::getFlowType, type); - return this.page(PageUtil.initPage(pageVO), lambdaQueryWrapper); + //分销订单过滤是否判定 + lambdaQueryWrapper.isNotNull(storeFlowQueryDTO.getJustDistribution() != null && storeFlowQueryDTO.getJustDistribution(), + StoreFlow::getDistributionRebate); + + //流水类型判定 + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(storeFlowQueryDTO.getType()), + StoreFlow::getFlowType, storeFlowQueryDTO.getType()); + + //售后编号判定 + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(storeFlowQueryDTO.getRefundSn()), + StoreFlow::getRefundSn, storeFlowQueryDTO.getRefundSn()); + + //售后编号判定 + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(storeFlowQueryDTO.getOrderSn()), + StoreFlow::getOrderSn, storeFlowQueryDTO.getOrderSn()); + + //结算单非空,则校对结算单参数 + if (storeFlowQueryDTO.getBill() != null) { + Bill bill = storeFlowQueryDTO.getBill(); + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(bill.getStoreId()), StoreFlow::getStoreId, bill.getStoreId()); + lambdaQueryWrapper.between(bill.getStartTime() != null && bill.getEndTime() != null, + StoreFlow::getCreateTime, bill.getStartTime(), bill.getEndTime()); + } + return lambdaQueryWrapper; } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java index 3a74708e..342a36ed 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java @@ -1 +1 @@ -package cn.lili.modules.order.order.serviceimpl; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.modules.member.entity.dos.MemberAddress; import cn.lili.modules.member.entity.enums.PointTypeEnum; import cn.lili.modules.member.service.MemberService; import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; import cn.lili.modules.order.cart.entity.vo.CartVO; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.Trade; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.order.order.mapper.TradeMapper; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.TradeService; import cn.lili.modules.promotion.entity.dos.KanjiaActivity; import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum; import cn.lili.modules.promotion.service.CouponService; import cn.lili.modules.promotion.service.KanjiaActivityService; import cn.lili.modules.promotion.service.MemberCouponService; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.MqOrderTagsEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.stream.Collectors; /** * 交易业务层实现 * * @author Chopper * @date 2020/11/17 7:39 下午 */ @Service @Transactional(rollbackFor = Exception.class) public class TradeServiceImpl extends ServiceImpl implements TradeService { /** * 缓存 */ @Autowired private Cache cache; /** * 订单 */ @Autowired private OrderService orderService; /** * 会员 */ @Autowired private MemberService memberService; /** * 优惠券 */ @Autowired private CouponService couponService; /** * 会员优惠券 */ @Autowired private MemberCouponService memberCouponService; /** * 砍价 */ @Autowired private KanjiaActivityService kanjiaActivityService; /** * RocketMQ */ @Autowired private RocketMQTemplate rocketMQTemplate; /** * RocketMQ 配置 */ @Autowired private RocketmqCustomProperties rocketmqCustomProperties; @Override @Transactional(rollbackFor = Exception.class) public Trade createTrade(TradeDTO tradeDTO) { //创建订单预校验 createTradeCheck(tradeDTO); Trade trade = new Trade(tradeDTO); String key = CachePrefix.TRADE.getPrefix() + trade.getSn(); //优惠券预处理 couponPretreatment(tradeDTO); //积分预处理 pointPretreatment(tradeDTO); //添加交易 this.save(trade); //添加订单 orderService.intoDB(tradeDTO); //砍价订单处理 kanjiaPretreatment(tradeDTO); //写入缓存,给消费者调用 cache.put(key, tradeDTO); //构建订单创建消息 String destination = rocketmqCustomProperties.getOrderTopic() + ":" + MqOrderTagsEnum.ORDER_CREATE.name(); //发送订单创建消息 rocketMQTemplate.asyncSend(destination, key, RocketmqSendCallbackBuilder.commonCallback()); return trade; } /** * 创建订单最后一步校验 * * @param tradeDTO */ private void createTradeCheck(TradeDTO tradeDTO) { //创建订单如果没有收获地址, MemberAddress memberAddress = tradeDTO.getMemberAddress(); if (memberAddress == null) { throw new ServiceException(ResultCode.MEMBER_ADDRESS_NOT_EXIST); } /** * 订单配送区域校验 */ if (tradeDTO.getNotSupportFreight() != null && tradeDTO.getNotSupportFreight().size() > 0) { StringBuilder stringBuilder = new StringBuilder("包含商品有-"); tradeDTO.getNotSupportFreight().forEach(sku -> { stringBuilder.append(sku.getGoodsSku().getGoodsName()); }); throw new ServiceException(ResultCode.ORDER_NOT_SUPPORT_DISTRIBUTION, stringBuilder.toString()); } } @Override public Trade getBySn(String sn) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Trade::getSn, sn); return this.getOne(queryWrapper); } @Override public void payTrade(String tradeSn, String paymentName, String receivableNo) { LambdaQueryWrapper orderQueryWrapper = new LambdaQueryWrapper<>(); orderQueryWrapper.eq(Order::getTradeSn, tradeSn); List orders = orderService.list(orderQueryWrapper); for (Order order : orders) { orderService.payOrder(order.getSn(), paymentName, receivableNo); } Trade trade = this.getBySn(tradeSn); trade.setPayStatus(PayStatusEnum.PAID.name()); this.saveOrUpdate(trade); } /** * 优惠券预处理 * 下单同时,扣除优惠券 * * @param tradeDTO */ private void couponPretreatment(TradeDTO tradeDTO) { List memberCouponDTOList = new ArrayList<>(); if (null != tradeDTO.getPlatformCoupon()) { memberCouponDTOList.add(tradeDTO.getPlatformCoupon()); } Collection storeCoupons = tradeDTO.getStoreCoupons().values(); if (!storeCoupons.isEmpty()) { memberCouponDTOList.addAll(storeCoupons); } List ids = memberCouponDTOList.stream().map(e -> e.getMemberCoupon().getId()).collect(Collectors.toList()); memberCouponService.used(ids); memberCouponDTOList.forEach(e -> couponService.usedCoupon(e.getMemberCoupon().getCouponId(), 1)); } /** * 创建交易,积分处理 * * @param tradeDTO */ private void pointPretreatment(TradeDTO tradeDTO) { //需要支付积分 if (tradeDTO.getPriceDetailDTO() != null && tradeDTO.getPriceDetailDTO().getPayPoint() != null && tradeDTO.getPriceDetailDTO().getPayPoint() > 0) { StringBuilder orderSns = new StringBuilder(); for (CartVO item : tradeDTO.getCartList()) { orderSns.append(item.getSn()); } boolean result = memberService.updateMemberPoint(tradeDTO.getPriceDetailDTO().getPayPoint().longValue(), PointTypeEnum.REDUCE.name(), tradeDTO.getMemberId(), "订单【" + orderSns + "】创建,积分扣减"); if (!result) { throw new ServiceException(ResultCode.PAY_POINT_ENOUGH); } } } /** * 创建交易、砍价处理 * * @param tradeDTO */ private void kanjiaPretreatment(TradeDTO tradeDTO) { if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.KANJIA)) { String kanjiaId = tradeDTO.getSkuList().get(0).getKanjiaId(); kanjiaActivityService.update(new LambdaUpdateWrapper() .eq(KanjiaActivity::getId, kanjiaId) .set(KanjiaActivity::getStatus, KanJiaStatusEnum.END.name())); } } } \ No newline at end of file +package cn.lili.modules.order.order.serviceimpl; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.modules.member.entity.dos.MemberAddress; import cn.lili.modules.member.entity.enums.PointTypeEnum; import cn.lili.modules.member.service.MemberService; import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; import cn.lili.modules.order.cart.entity.vo.CartVO; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.Trade; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.order.order.mapper.TradeMapper; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.TradeService; import cn.lili.modules.promotion.entity.dos.KanjiaActivity; import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum; import cn.lili.modules.promotion.service.CouponService; import cn.lili.modules.promotion.service.KanjiaActivityService; import cn.lili.modules.promotion.service.MemberCouponService; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.OrderTagsEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.stream.Collectors; /** * 交易业务层实现 * * @author Chopper * @date 2020/11/17 7:39 下午 */ @Service @Transactional(rollbackFor = Exception.class) public class TradeServiceImpl extends ServiceImpl implements TradeService { /** * 缓存 */ @Autowired private Cache cache; /** * 订单 */ @Autowired private OrderService orderService; /** * 会员 */ @Autowired private MemberService memberService; /** * 优惠券 */ @Autowired private CouponService couponService; /** * 会员优惠券 */ @Autowired private MemberCouponService memberCouponService; /** * 砍价 */ @Autowired private KanjiaActivityService kanjiaActivityService; /** * RocketMQ */ @Autowired private RocketMQTemplate rocketMQTemplate; /** * RocketMQ 配置 */ @Autowired private RocketmqCustomProperties rocketmqCustomProperties; @Override @Transactional(rollbackFor = Exception.class) public Trade createTrade(TradeDTO tradeDTO) { //创建订单预校验 createTradeCheck(tradeDTO); Trade trade = new Trade(tradeDTO); String key = CachePrefix.TRADE.getPrefix() + trade.getSn(); //优惠券预处理 couponPretreatment(tradeDTO); //积分预处理 pointPretreatment(tradeDTO); //添加交易 this.save(trade); //添加订单 orderService.intoDB(tradeDTO); //砍价订单处理 kanjiaPretreatment(tradeDTO); //写入缓存,给消费者调用 cache.put(key, tradeDTO); //构建订单创建消息 String destination = rocketmqCustomProperties.getOrderTopic() + ":" + OrderTagsEnum.ORDER_CREATE.name(); //发送订单创建消息 rocketMQTemplate.asyncSend(destination, key, RocketmqSendCallbackBuilder.commonCallback()); return trade; } /** * 创建订单最后一步校验 * * @param tradeDTO */ private void createTradeCheck(TradeDTO tradeDTO) { //创建订单如果没有收获地址, MemberAddress memberAddress = tradeDTO.getMemberAddress(); if (memberAddress == null) { throw new ServiceException(ResultCode.MEMBER_ADDRESS_NOT_EXIST); } /** * 订单配送区域校验 */ if (tradeDTO.getNotSupportFreight() != null && tradeDTO.getNotSupportFreight().size() > 0) { StringBuilder stringBuilder = new StringBuilder("包含商品有-"); tradeDTO.getNotSupportFreight().forEach(sku -> { stringBuilder.append(sku.getGoodsSku().getGoodsName()); }); throw new ServiceException(ResultCode.ORDER_NOT_SUPPORT_DISTRIBUTION, stringBuilder.toString()); } } @Override public Trade getBySn(String sn) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Trade::getSn, sn); return this.getOne(queryWrapper); } @Override public void payTrade(String tradeSn, String paymentName, String receivableNo) { LambdaQueryWrapper orderQueryWrapper = new LambdaQueryWrapper<>(); orderQueryWrapper.eq(Order::getTradeSn, tradeSn); List orders = orderService.list(orderQueryWrapper); for (Order order : orders) { orderService.payOrder(order.getSn(), paymentName, receivableNo); } Trade trade = this.getBySn(tradeSn); trade.setPayStatus(PayStatusEnum.PAID.name()); this.saveOrUpdate(trade); } /** * 优惠券预处理 * 下单同时,扣除优惠券 * * @param tradeDTO */ private void couponPretreatment(TradeDTO tradeDTO) { List memberCouponDTOList = new ArrayList<>(); if (null != tradeDTO.getPlatformCoupon()) { memberCouponDTOList.add(tradeDTO.getPlatformCoupon()); } Collection storeCoupons = tradeDTO.getStoreCoupons().values(); if (!storeCoupons.isEmpty()) { memberCouponDTOList.addAll(storeCoupons); } List ids = memberCouponDTOList.stream().map(e -> e.getMemberCoupon().getId()).collect(Collectors.toList()); memberCouponService.used(ids); memberCouponDTOList.forEach(e -> couponService.usedCoupon(e.getMemberCoupon().getCouponId(), 1)); } /** * 创建交易,积分处理 * * @param tradeDTO */ private void pointPretreatment(TradeDTO tradeDTO) { //需要支付积分 if (tradeDTO.getPriceDetailDTO() != null && tradeDTO.getPriceDetailDTO().getPayPoint() != null && tradeDTO.getPriceDetailDTO().getPayPoint() > 0) { StringBuilder orderSns = new StringBuilder(); for (CartVO item : tradeDTO.getCartList()) { orderSns.append(item.getSn()); } boolean result = memberService.updateMemberPoint(tradeDTO.getPriceDetailDTO().getPayPoint().longValue(), PointTypeEnum.REDUCE.name(), tradeDTO.getMemberId(), "订单【" + orderSns + "】创建,积分扣减"); if (!result) { throw new ServiceException(ResultCode.PAY_POINT_ENOUGH); } } } /** * 创建交易、砍价处理 * * @param tradeDTO */ private void kanjiaPretreatment(TradeDTO tradeDTO) { if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.KANJIA)) { String kanjiaId = tradeDTO.getSkuList().get(0).getKanjiaId(); kanjiaActivityService.update(new LambdaUpdateWrapper() .eq(KanjiaActivity::getId, kanjiaId) .set(KanjiaActivity::getStatus, KanJiaStatusEnum.END.name())); } } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/CashierSupport.java b/framework/src/main/java/cn/lili/modules/payment/kit/CashierSupport.java index 3345d7c3..cec468fb 100644 --- a/framework/src/main/java/cn/lili/modules/payment/kit/CashierSupport.java +++ b/framework/src/main/java/cn/lili/modules/payment/kit/CashierSupport.java @@ -1,16 +1,15 @@ package cn.lili.modules.payment.kit; import cn.hutool.json.JSONUtil; +import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.SpringContextUtil; import cn.lili.common.vo.ResultMessage; -import cn.lili.common.enums.ClientTypeEnum; -import cn.lili.modules.member.service.MemberWalletService; -import cn.lili.modules.payment.kit.dto.PayParam; import cn.lili.modules.payment.entity.enums.PaymentClientEnum; import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; +import cn.lili.modules.payment.kit.dto.PayParam; import cn.lili.modules.payment.kit.params.CashierExecute; import cn.lili.modules.payment.kit.params.dto.CashierParam; import cn.lili.modules.system.entity.dos.Setting; @@ -19,6 +18,7 @@ import cn.lili.modules.system.entity.dto.payment.PaymentSupportSetting; import cn.lili.modules.system.entity.dto.payment.dto.PaymentSupportItem; import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; +import cn.lili.modules.wallet.service.MemberWalletService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/RefundSupport.java b/framework/src/main/java/cn/lili/modules/payment/kit/RefundSupport.java index 07045e98..4cf4aac8 100644 --- a/framework/src/main/java/cn/lili/modules/payment/kit/RefundSupport.java +++ b/framework/src/main/java/cn/lili/modules/payment/kit/RefundSupport.java @@ -2,20 +2,19 @@ package cn.lili.modules.payment.kit; import cn.lili.common.utils.SnowFlake; import cn.lili.common.utils.SpringContextUtil; -import cn.lili.modules.order.order.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.dos.Order; -import cn.lili.modules.order.order.service.AfterSaleService; +import cn.lili.modules.order.order.entity.dos.OrderItem; +import cn.lili.modules.order.order.service.OrderItemService; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.StoreFlowService; import cn.lili.modules.payment.entity.RefundLog; import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest; -import java.util.Date; /** * 退款支持 @@ -31,16 +30,16 @@ public class RefundSupport { */ @Autowired private StoreFlowService storeFlowService; - /** - * 售后 - */ - @Autowired - private AfterSaleService afterSaleService; /** * 订单 */ @Autowired private OrderService orderService; + /** + * 子订单 + */ + @Autowired + private OrderItemService orderItemService; /** * 售后退款 @@ -65,14 +64,31 @@ public class RefundSupport { Payment payment = (Payment) SpringContextUtil.getBean(paymentMethodEnum.getPlugin()); payment.refund(refundLog); - //记录售后单中的退款金额 - afterSaleService.update(new LambdaUpdateWrapper() - .eq(AfterSale::getId, afterSale.getId()) - .set(AfterSale::getRefundTime, new Date())); + this.updateReturnGoodsNumber(afterSale); + //记录退款流水 storeFlowService.refundOrder(afterSale); } + /** + * 功能描述: 修改子订单中已售后退款商品数量 + * + * @return void + * @Author ftyy + * @Description //TODO + * @Date 17:33 2021/11/18 + * @Param [afterSale] + **/ + private void updateReturnGoodsNumber(AfterSale afterSale) { + //根据商品id及订单sn获取子订单 + OrderItem orderItem = orderItemService.getByOrderSnAndSkuId(afterSale.getOrderSn(), afterSale.getGoodsId()); + + orderItem.setReturnGoodsNumber(afterSale.getNum() + orderItem.getReturnGoodsNumber()); + + //修改子订单订单中的退货数量 + orderItemService.updateById(orderItem); + } + /** * 订单取消 * diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/params/impl/RechargeCashier.java b/framework/src/main/java/cn/lili/modules/payment/kit/params/impl/RechargeCashier.java index 2db0ea27..e7be3721 100644 --- a/framework/src/main/java/cn/lili/modules/payment/kit/params/impl/RechargeCashier.java +++ b/framework/src/main/java/cn/lili/modules/payment/kit/params/impl/RechargeCashier.java @@ -4,16 +4,16 @@ import cn.hutool.json.JSONUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; -import cn.lili.modules.order.trade.entity.dos.Recharge; -import cn.lili.modules.order.trade.service.RechargeService; +import cn.lili.modules.payment.entity.enums.CashierEnum; import cn.lili.modules.payment.kit.dto.PayParam; import cn.lili.modules.payment.kit.dto.PaymentSuccessParams; -import cn.lili.modules.payment.entity.enums.CashierEnum; import cn.lili.modules.payment.kit.params.CashierExecute; import cn.lili.modules.payment.kit.params.dto.CashierParam; import cn.lili.modules.system.entity.dto.BaseSetting; import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; +import cn.lili.modules.wallet.entity.dos.Recharge; +import cn.lili.modules.wallet.service.RechargeService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wallet/WalletPlugin.java b/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wallet/WalletPlugin.java index 832e5cd6..56dad469 100644 --- a/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wallet/WalletPlugin.java +++ b/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wallet/WalletPlugin.java @@ -5,18 +5,19 @@ import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.member.service.MemberWalletService; -import cn.lili.modules.order.trade.entity.enums.DepositServiceTypeEnum; import cn.lili.modules.payment.entity.RefundLog; +import cn.lili.modules.payment.entity.enums.CashierEnum; +import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; import cn.lili.modules.payment.kit.CashierSupport; import cn.lili.modules.payment.kit.Payment; import cn.lili.modules.payment.kit.dto.PayParam; import cn.lili.modules.payment.kit.dto.PaymentSuccessParams; -import cn.lili.modules.payment.entity.enums.CashierEnum; -import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; import cn.lili.modules.payment.kit.params.dto.CashierParam; import cn.lili.modules.payment.service.PaymentService; import cn.lili.modules.payment.service.RefundLogService; +import cn.lili.modules.wallet.entity.dto.MemberWalletUpdateDTO; +import cn.lili.modules.wallet.entity.enums.DepositServiceTypeEnum; +import cn.lili.modules.wallet.service.MemberWalletService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -77,7 +78,7 @@ public class WalletPlugin implements Payment { @Override public ResultMessage nativePay(HttpServletRequest request, PayParam payParam) { - if(payParam.getOrderType().equals(CashierEnum.RECHARGE.name())){ + if (payParam.getOrderType().equals(CashierEnum.RECHARGE.name())) { throw new ServiceException(ResultCode.CAN_NOT_RECHARGE_WALLET); } savePaymentLog(payParam); @@ -95,14 +96,14 @@ public class WalletPlugin implements Payment { public void cancel(RefundLog refundLog) { try { - memberWalletService.increase(refundLog.getTotalAmount(), + memberWalletService.increase(new MemberWalletUpdateDTO(refundLog.getTotalAmount(), refundLog.getMemberId(), "取消[" + refundLog.getOrderSn() + "]订单,退还金额[" + refundLog.getTotalAmount() + "]", - DepositServiceTypeEnum.WALLET_REFUND.name()); + DepositServiceTypeEnum.WALLET_REFUND.name())); refundLog.setIsRefund(true); refundLogService.save(refundLog); } catch (Exception e) { - log.error("订单取消错误",e); + log.error("订单取消错误", e); } } @@ -120,13 +121,14 @@ public class WalletPlugin implements Payment { @Override public void refund(RefundLog refundLog) { try { - memberWalletService.increase(refundLog.getTotalAmount(), + memberWalletService.increase(new MemberWalletUpdateDTO(refundLog.getTotalAmount(), refundLog.getMemberId(), - "售后[" + refundLog.getAfterSaleNo() + "]审批,退还金额[" + refundLog.getTotalAmount() + "]", DepositServiceTypeEnum.WALLET_REFUND.name()); + "售后[" + refundLog.getAfterSaleNo() + "]审批,退还金额[" + refundLog.getTotalAmount() + "]", + DepositServiceTypeEnum.WALLET_REFUND.name())); refundLog.setIsRefund(true); refundLogService.save(refundLog); } catch (Exception e) { - log.error("退款失败",e); + log.error("退款失败", e); } } @@ -143,11 +145,12 @@ public class WalletPlugin implements Payment { if (UserContext.getCurrentUser() == null) { throw new ServiceException(ResultCode.USER_NOT_LOGIN); } - boolean result = memberWalletService.reduce( - cashierParam.getPrice(), - UserContext.getCurrentUser().getId(), - "订单[" + cashierParam.getOrderSns() + "]支付金额[" + cashierParam.getPrice() + "]", - DepositServiceTypeEnum.WALLET_PAY.name() + boolean result = memberWalletService.reduce(new MemberWalletUpdateDTO( + cashierParam.getPrice(), + UserContext.getCurrentUser().getId(), + "订单[" + cashierParam.getOrderSns() + "]支付金额[" + cashierParam.getPrice() + "]", + DepositServiceTypeEnum.WALLET_PAY.name() + ) ); if (result) { try { @@ -162,11 +165,11 @@ public class WalletPlugin implements Payment { log.info("支付回调通知:余额支付:{}", payParam); } catch (ServiceException e) { //业务异常,则支付手动回滚 - memberWalletService.increase( + memberWalletService.increase(new MemberWalletUpdateDTO( cashierParam.getPrice(), UserContext.getCurrentUser().getId(), "订单[" + cashierParam.getOrderSns() + "]支付异常,余额返还[" + cashierParam.getPrice() + "]", - DepositServiceTypeEnum.WALLET_REFUND.name() + DepositServiceTypeEnum.WALLET_REFUND.name()) ); throw e; } diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wechat/WechatPlugin.java b/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wechat/WechatPlugin.java index be768841..646ef0c7 100644 --- a/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wechat/WechatPlugin.java +++ b/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wechat/WechatPlugin.java @@ -7,21 +7,23 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; +import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; +import cn.lili.common.properties.ApiProperties; import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.SnowFlake; import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.ResultMessage; -import cn.lili.common.properties.ApiProperties; -import cn.lili.common.enums.ClientTypeEnum; import cn.lili.modules.connect.entity.Connect; import cn.lili.modules.connect.entity.enums.ConnectEnum; import cn.lili.modules.connect.service.ConnectService; +import cn.lili.modules.member.entity.dto.ConnectQueryDTO; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.payment.entity.RefundLog; +import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; import cn.lili.modules.payment.kit.CashierSupport; import cn.lili.modules.payment.kit.Payment; import cn.lili.modules.payment.kit.core.PaymentHttpResponse; @@ -31,7 +33,6 @@ import cn.lili.modules.payment.kit.core.kit.*; import cn.lili.modules.payment.kit.core.utils.DateTimeZoneUtil; import cn.lili.modules.payment.kit.dto.PayParam; import cn.lili.modules.payment.kit.dto.PaymentSuccessParams; -import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; import cn.lili.modules.payment.kit.params.dto.CashierParam; import cn.lili.modules.payment.kit.plugin.wechat.enums.WechatApiEnum; import cn.lili.modules.payment.kit.plugin.wechat.enums.WechatDomain; @@ -166,10 +167,9 @@ public class WechatPlugin implements Payment { public ResultMessage jsApiPay(HttpServletRequest request, PayParam payParam) { try { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(Connect::getUserId, UserContext.getCurrentUser().getId()) - .eq(Connect::getUnionType, ConnectEnum.WECHAT.name()); - Connect connect = connectService.getOne(queryWrapper); + Connect connect = connectService.queryConnect( + ConnectQueryDTO.builder().userId(UserContext.getCurrentUser().getId()).unionType(ConnectEnum.WECHAT.name()).build() + ); if (connect == null) { return null; } @@ -359,10 +359,9 @@ public class WechatPlugin implements Payment { public ResultMessage mpPay(HttpServletRequest request, PayParam payParam) { try { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(Connect::getUserId, UserContext.getCurrentUser().getId()) - .eq(Connect::getUnionType, ConnectEnum.WECHAT_MP_OPEN_ID.name()); - Connect connect = connectService.getOne(queryWrapper); + Connect connect = connectService.queryConnect( + ConnectQueryDTO.builder().userId(UserContext.getCurrentUser().getId()).unionType(ConnectEnum.WECHAT_MP_OPEN_ID.name()).build() + ); if (connect == null) { return null; } diff --git a/framework/src/main/java/cn/lili/modules/payment/service/PaymentService.java b/framework/src/main/java/cn/lili/modules/payment/service/PaymentService.java index 5ecef2a1..700dd1a1 100644 --- a/framework/src/main/java/cn/lili/modules/payment/service/PaymentService.java +++ b/framework/src/main/java/cn/lili/modules/payment/service/PaymentService.java @@ -1,10 +1,6 @@ package cn.lili.modules.payment.service; -import cn.lili.modules.order.order.entity.vo.PaymentLog; import cn.lili.modules.payment.kit.dto.PaymentSuccessParams; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; /** * 支付日志 业务层 @@ -29,13 +25,4 @@ public interface PaymentService { */ void adminPaySuccess(PaymentSuccessParams paymentSuccessParams); - - /** - * 获取支付日志 - * - * @param initPage - * @param initWrapper - * @return - */ - IPage page(Page initPage, QueryWrapper initWrapper); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/payment/service/RefundLogService.java b/framework/src/main/java/cn/lili/modules/payment/service/RefundLogService.java index f4d56b64..dc505a10 100644 --- a/framework/src/main/java/cn/lili/modules/payment/service/RefundLogService.java +++ b/framework/src/main/java/cn/lili/modules/payment/service/RefundLogService.java @@ -10,4 +10,10 @@ import com.baomidou.mybatisplus.extension.service.IService; * @since 2020-12-19 09:25 */ public interface RefundLogService extends IService { + /** + * 根据售后sn查询退款日志 + * @param sn + * @return + */ + RefundLog queryByAfterSaleSn(String sn); } diff --git a/framework/src/main/java/cn/lili/modules/payment/serviceimpl/PaymentServiceImpl.java b/framework/src/main/java/cn/lili/modules/payment/serviceimpl/PaymentServiceImpl.java index 97d8a242..a601d6d1 100644 --- a/framework/src/main/java/cn/lili/modules/payment/serviceimpl/PaymentServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/payment/serviceimpl/PaymentServiceImpl.java @@ -1,20 +1,14 @@ package cn.lili.modules.payment.serviceimpl; -import cn.lili.modules.order.order.entity.vo.PaymentLog; -import cn.lili.modules.order.order.mapper.OrderMapper; import cn.lili.modules.payment.kit.CashierSupport; import cn.lili.modules.payment.kit.dto.PaymentSuccessParams; import cn.lili.modules.payment.kit.params.CashierExecute; import cn.lili.modules.payment.service.PaymentService; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; import java.util.List; /** @@ -32,8 +26,6 @@ public class PaymentServiceImpl implements PaymentService { private List cashierExecutes; @Autowired private CashierSupport cashierSupport; - @Resource - private OrderMapper orderMapper; @Override public void success(PaymentSuccessParams paymentSuccessParams) { @@ -60,9 +52,4 @@ public class PaymentServiceImpl implements PaymentService { cashierExecute.paymentSuccess(paymentSuccessParams); } } - - @Override - public IPage page(Page initPage, QueryWrapper initWrapper) { - return orderMapper.queryPaymentLogs(initPage, initWrapper); - } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/payment/serviceimpl/RefundLogServiceImpl.java b/framework/src/main/java/cn/lili/modules/payment/serviceimpl/RefundLogServiceImpl.java index 8a5e7d8c..6efc4f87 100644 --- a/framework/src/main/java/cn/lili/modules/payment/serviceimpl/RefundLogServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/payment/serviceimpl/RefundLogServiceImpl.java @@ -3,9 +3,8 @@ package cn.lili.modules.payment.serviceimpl; import cn.lili.modules.payment.entity.RefundLog; import cn.lili.modules.payment.mapper.RefundLogMapper; import cn.lili.modules.payment.service.RefundLogService; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -19,5 +18,8 @@ import org.springframework.transaction.annotation.Transactional; @Transactional(rollbackFor = Exception.class) public class RefundLogServiceImpl extends ServiceImpl implements RefundLogService { - + @Override + public RefundLog queryByAfterSaleSn(String sn) { + return this.getOne(new LambdaUpdateWrapper().eq(RefundLog::getAfterSaleNo, sn)); + } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java index 0182b261..d6f7dbc5 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsServiceImpl.java @@ -209,12 +209,7 @@ public class PointsGoodsServiceImpl extends AbstractPromotionsServiceImpl impl try { Map map = new HashMap<>(16); //获取未审核通过的签名列表 - List list = list(new LambdaQueryWrapper().eq(SmsSign::getSignStatus, 0)); + List list = list(new LambdaQueryWrapper().ne(SmsSign::getSignStatus, 1)); //查询签名状态 for (SmsSign smsSign : list) { map = aliSmsUtil.querySmsSign(smsSign.getSignName()); diff --git a/framework/src/main/java/cn/lili/modules/message/serviceimpl/SmsTemplateServiceImpl.java b/framework/src/main/java/cn/lili/modules/sms/serviceimpl/SmsTemplateServiceImpl.java similarity index 92% rename from framework/src/main/java/cn/lili/modules/message/serviceimpl/SmsTemplateServiceImpl.java rename to framework/src/main/java/cn/lili/modules/sms/serviceimpl/SmsTemplateServiceImpl.java index 22fd9e4b..c5d8dddf 100644 --- a/framework/src/main/java/cn/lili/modules/message/serviceimpl/SmsTemplateServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/sms/serviceimpl/SmsTemplateServiceImpl.java @@ -1,11 +1,11 @@ -package cn.lili.modules.message.serviceimpl; +package cn.lili.modules.sms.serviceimpl; -import cn.lili.modules.system.sms.AliSmsUtil; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.vo.PageVO; -import cn.lili.modules.message.entity.dos.SmsTemplate; -import cn.lili.modules.message.mapper.SmsTemplateMapper; -import cn.lili.modules.message.service.SmsTemplateService; +import cn.lili.modules.sms.AliSmsUtil; +import cn.lili.modules.sms.entity.dos.SmsTemplate; +import cn.lili.modules.sms.mapper.SmsTemplateMapper; +import cn.lili.modules.sms.service.SmsTemplateService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; diff --git a/framework/src/main/java/cn/lili/modules/statistics/aop/aspect/PageViewInterceptor.java b/framework/src/main/java/cn/lili/modules/statistics/aop/aspect/PageViewInterceptor.java index 605e85d3..183a2e52 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/aop/aspect/PageViewInterceptor.java +++ b/framework/src/main/java/cn/lili/modules/statistics/aop/aspect/PageViewInterceptor.java @@ -2,9 +2,10 @@ package cn.lili.modules.statistics.aop.aspect; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; +import cn.lili.common.context.ThreadContextHolder; +import cn.lili.common.utils.IpUtils; import cn.lili.common.utils.SpelUtil; import cn.lili.common.vo.ResultMessage; -import cn.lili.common.utils.IpUtils; import cn.lili.modules.goods.entity.vos.GoodsSkuVO; import cn.lili.modules.statistics.aop.PageViewPoint; import cn.lili.modules.statistics.aop.enums.PageViewEnum; @@ -67,7 +68,7 @@ public class PageViewInterceptor { default: storeId = "-1"; } - String ip = IpUtils.getIpAddress(request); + String ip = IpUtils.getIpAddress(ThreadContextHolder.getHttpRequest()); try { //PV 统计48小时过期 留下一定时间予以统计累计数据库 cache.incr(CachePrefix.PV.getPrefix() + StatisticsSuffix.suffix(), 60 * 60 * 48); diff --git a/framework/src/main/java/cn/lili/modules/statistics/entity/vo/OrderOverviewVO.java b/framework/src/main/java/cn/lili/modules/statistics/entity/vo/OrderOverviewVO.java index ce3dbf16..3bf8f8b4 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/entity/vo/OrderOverviewVO.java +++ b/framework/src/main/java/cn/lili/modules/statistics/entity/vo/OrderOverviewVO.java @@ -13,41 +13,41 @@ import lombok.Data; public class OrderOverviewVO { @ApiModelProperty(value = "UV人次") - private Integer uvNum = 0; + private Long uvNum; /** * 下单统计 */ @ApiModelProperty(value = "下单数量") - private Long orderNum = 0L; + private Long orderNum; @ApiModelProperty(value = "下单人数") - private Long orderMemberNum = 0L; + private Long orderMemberNum; @ApiModelProperty(value = "下单金额") - private Double orderAmount = 0D; + private Double orderAmount; /** * 付款统计 */ @ApiModelProperty(value = "付款订单数量") - private Long paymentOrderNum = 0L; + private Long paymentOrderNum; @ApiModelProperty(value = "付款人数") - private Long paymentsNum = 0L; + private Long paymentsNum; @ApiModelProperty(value = "付款金额") - private Double paymentAmount = 0D; + private Double paymentAmount; /** * 退单统计 */ @ApiModelProperty(value = "退单笔数") - private Long refundOrderNum = 0L; + private Long refundOrderNum; @ApiModelProperty(value = "退单金额") - private Double refundOrderPrice = 0D; + private Double refundOrderPrice; /** * 转换率 @@ -61,5 +61,66 @@ public class OrderOverviewVO { @ApiModelProperty(value = "整体转换率") private String overallConversionRate; + public Long getUvNum() { + if (uvNum == null) { + return 0L; + } + return uvNum; + } + public Long getOrderNum() { + if (orderNum == null) { + return 0L; + } + return orderNum; + } + + public Long getOrderMemberNum() { + if (orderMemberNum == null) { + return 0L; + } + return orderMemberNum; + } + + public Double getOrderAmount() { + if (orderAmount == null) { + return 0D; + } + return orderAmount; + } + + public Long getPaymentOrderNum() { + if (paymentOrderNum == null) { + return 0L; + } + return paymentOrderNum; + } + + public Long getPaymentsNum() { + if (paymentsNum == null) { + return 0L; + } + return paymentsNum; + } + + public Double getPaymentAmount() { + if (paymentAmount == null) { + return 0D; + } + return paymentAmount; + } + + public Long getRefundOrderNum() { + if (refundOrderNum == null) { + return 0L; + } + return refundOrderNum; + } + + public Double getRefundOrderPrice() { + if (refundOrderPrice == null) { + return 0D; + } + return refundOrderPrice; + } } diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/AfterSaleStatisticsMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/AfterSaleStatisticsMapper.java new file mode 100644 index 00000000..5a6437eb --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/AfterSaleStatisticsMapper.java @@ -0,0 +1,14 @@ +package cn.lili.modules.statistics.mapper; + +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 售后统计数据处理层 + * + * @author Bulbasaur + * @since 2020/11/17 7:34 下午 + */ +public interface AfterSaleStatisticsMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/BillStatisticsMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/BillStatisticsMapper.java new file mode 100644 index 00000000..6a1f2cc2 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/BillStatisticsMapper.java @@ -0,0 +1,56 @@ +package cn.lili.modules.statistics.mapper; + + +import cn.lili.modules.store.entity.dos.Bill; +import cn.lili.modules.store.entity.vos.BillListVO; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * 结算单数据处理层 + * + * @author Chopper + * @since 2020/11/17 4:27 下午 + */ +public interface BillStatisticsMapper extends BaseMapper { + + /** + * 查询结算单分页 + * + * @param page 分页 + * @param queryWrapper 查询条件 + * @return 结算单分页 + */ + @Select("select b.id,b.sn,b.start_time,b.end_time,b.bill_status,b.store_name,b.bill_price,b.create_time from li_bill as b ${ew.customSqlSegment}") + IPage queryBillPage(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + + /** + * 查询订单结算 + * + * @param queryWrapper 查询条件 + * @return 结算单 + */ + @Select("SELECT SUM( final_price ) AS orderPrice,SUM( commission_price ) AS commissionPrice" + + ",SUM( distribution_rebate ) AS distributionCommission,SUM( site_coupon_commission ) AS siteCouponCommission" + + ",SUM( point_settlement_price ) AS pointSettlementPrice " + + ",SUM( kanjia_settlement_price ) AS kanjiaSettlementPrice " + + ",SUM( bill_price ) AS billPrice " + + "FROM li_store_flow ${ew.customSqlSegment}") + Bill getOrderBill(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + /** + * 查询退款结算单 + * + * @param queryWrapper 查询条件 + * @return 结算单 + */ + @Select("SELECT SUM( final_price ) AS refundPrice,SUM( commission_price ) AS refundCommissionPrice" + + ",SUM( distribution_rebate ) AS distributionRefundCommission,SUM( site_coupon_commission ) AS siteCouponRefundCommission" + + ",SUM( bill_price ) AS billPrice FROM li_store_flow ${ew.customSqlSegment}") + Bill getRefundBill(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/DistributionCashStatisticsMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/DistributionCashStatisticsMapper.java new file mode 100644 index 00000000..4506aeb3 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/DistributionCashStatisticsMapper.java @@ -0,0 +1,14 @@ +package cn.lili.modules.statistics.mapper; + +import cn.lili.modules.distribution.entity.dos.DistributionCash; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 分销佣金数据统计 + * + * @author pikachu + * @since 2020-03-26 18:45:56 + */ +public interface DistributionCashStatisticsMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/GoodsStatisticsMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/GoodsStatisticsMapper.java new file mode 100644 index 00000000..ae685686 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/GoodsStatisticsMapper.java @@ -0,0 +1,14 @@ +package cn.lili.modules.statistics.mapper; + +import cn.lili.modules.goods.entity.dos.Goods; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 商品统计数据处理层 + * + * @author Bulbasaur + * @since 2020/11/17 7:34 下午 + */ +public interface GoodsStatisticsMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/MemberEvaluationStatisticsMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/MemberEvaluationStatisticsMapper.java new file mode 100644 index 00000000..4fe62595 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/MemberEvaluationStatisticsMapper.java @@ -0,0 +1,64 @@ +package cn.lili.modules.statistics.mapper; + +import cn.lili.modules.member.entity.dos.MemberEvaluation; +import cn.lili.modules.member.entity.vo.MemberEvaluationListVO; +import cn.lili.modules.member.entity.vo.StoreRatingVO; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; +import java.util.Map; + +/** + * 会员商品评价数据处理层 + * + * @author Bulbasaur + * @since 2020-02-25 14:10:16 + */ +public interface MemberEvaluationStatisticsMapper extends BaseMapper { + + + /** + * 会员评价分页 + * + * @param page 分页 + * @param queryWrapper 查询条件 + * @return 会员评价分页 + */ + @Select("select me.* from li_member_evaluation as me ${ew.customSqlSegment}") + IPage getMemberEvaluationList(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + + /** + * 评价数量 + * + * @param goodsId 商品ID + * @return 会员评价 + */ + @Select("select grade,count(1) as num from li_member_evaluation Where goods_id=#{goodsId} and status='OPEN' GROUP BY grade") + List> getEvaluationNumber(String goodsId); + + /** + * 获取店铺评分 + * + * @param queryWrapper 查询条件 + * @return 店铺评分 + */ + @Select("SELECT round( AVG( delivery_score ), 2 ) AS delivery_score" + + ",round( AVG( description_score ), 2 ) AS description_score" + + ",round( AVG( service_score ), 2 ) AS service_score " + + "FROM li_member_evaluation ${ew.customSqlSegment}") + StoreRatingVO getStoreRatingVO(@Param(Constants.WRAPPER) Wrapper queryWrapper); + + /** + * 商品会员评价数量 + * + * @param queryWrapper 查询条件 + * @return 评价数量 + */ + @Select("SELECT goods_id,COUNT(goods_id) AS num FROM li_member_evaluation GROUP BY goods_id") + List> memberEvaluationNum(@Param(Constants.WRAPPER) Wrapper queryWrapper); +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/MemberStatisticsDataMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/MemberStatisticsMapper.java similarity index 65% rename from framework/src/main/java/cn/lili/modules/statistics/mapper/MemberStatisticsDataMapper.java rename to framework/src/main/java/cn/lili/modules/statistics/mapper/MemberStatisticsMapper.java index 685fd906..4e9f0206 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/mapper/MemberStatisticsDataMapper.java +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/MemberStatisticsMapper.java @@ -1,5 +1,6 @@ package cn.lili.modules.statistics.mapper; +import cn.lili.modules.member.entity.vo.MemberDistributionVO; import cn.lili.modules.statistics.entity.dos.MemberStatisticsData; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -7,13 +8,15 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** * 会员统计数据处理层 * * @author Bulbasaur * @since 2020/11/17 7:34 下午 */ -public interface MemberStatisticsDataMapper extends BaseMapper { +public interface MemberStatisticsMapper extends BaseMapper { /** * 获取会员统计数量 @@ -24,4 +27,11 @@ public interface MemberStatisticsDataMapper extends BaseMapper distribution(); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/OrderComplaintStatisticsMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/OrderComplaintStatisticsMapper.java new file mode 100644 index 00000000..0b1d1637 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/OrderComplaintStatisticsMapper.java @@ -0,0 +1,13 @@ +package cn.lili.modules.statistics.mapper; + +import cn.lili.modules.order.order.entity.dos.OrderComplaint; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 订单投诉数据处理层 + * + * @author paulG + * @since 2020/12/5 + **/ +public interface OrderComplaintStatisticsMapper extends BaseMapper { +} diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/OrderStatisticsDataMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/OrderStatisticsDataMapper.java deleted file mode 100644 index 69948a49..00000000 --- a/framework/src/main/java/cn/lili/modules/statistics/mapper/OrderStatisticsDataMapper.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.lili.modules.statistics.mapper; - -import cn.lili.modules.order.order.entity.dos.StoreFlow; -import cn.lili.modules.statistics.entity.vo.OrderStatisticsDataVO; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.toolkit.Constants; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 订单统计数据处理层 - * - * @author Bulbasaur - * @since 2020/11/17 7:34 下午 - */ -public interface OrderStatisticsDataMapper extends BaseMapper { - - /** - * 获取订单统计数据 - * @param queryWrapper 查询条件 - * @return 订单统计列表 - */ - @Select("SELECT DATE_FORMAT(create_time,'%Y-%m-%d') AS create_time,sum(flow_price) AS price FROM li_order " + - " ${ew.customSqlSegment}") - List getOrderStatisticsData(@Param(Constants.WRAPPER) Wrapper queryWrapper); - - /** - * 订单数量 - * @param queryWrapper 查询条件 - * @return 订单数量 - */ - @Select("SELECT count(0) FROM li_order ${ew.customSqlSegment}") - Integer count(@Param(Constants.WRAPPER) Wrapper queryWrapper); - -} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/OrderStatisticsMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/OrderStatisticsMapper.java new file mode 100644 index 00000000..f1fff3c1 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/OrderStatisticsMapper.java @@ -0,0 +1,63 @@ +package cn.lili.modules.statistics.mapper; + +import cn.lili.modules.order.order.entity.dos.Order; +import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; +import cn.lili.modules.statistics.entity.vo.OrderStatisticsDataVO; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 订单统计数据处理层 + * + * @author Bulbasaur + * @since 2020/11/17 7:34 下午 + */ +public interface OrderStatisticsMapper extends BaseMapper { + + /** + * 获取订单统计数据 + * + * @param queryWrapper 查询条件 + * @return 订单统计列表 + */ + @Select("SELECT DATE_FORMAT(create_time,'%Y-%m-%d') AS create_time,sum(flow_price) AS price FROM li_order " + + " ${ew.customSqlSegment}") + List getOrderStatisticsData(@Param(Constants.WRAPPER) Wrapper queryWrapper); + + /** + * 订单数量 + * + * @param queryWrapper 查询条件 + * @return 订单数量 + */ + @Select("SELECT count(0) FROM li_order ${ew.customSqlSegment}") + Integer count(@Param(Constants.WRAPPER) Wrapper queryWrapper); + + /** + * 查询订单简短信息分页 + * + * @param page 分页 + * @param queryWrapper 查询条件 + * @return 简短订单分页 + */ + @Select("select o.sn,o.flow_price,o.create_time,o.order_status,o.pay_status,o.payment_method,o.payment_time,o.member_name,o.store_name as store_name,o.store_id as store_id,o.client_type,o.order_type,o.deliver_status " + + ",GROUP_CONCAT(oi.goods_id) as group_goods_id," + + " GROUP_CONCAT(oi.sku_id) as group_sku_id," + + " GROUP_CONCAT(oi.num) as group_num" + + ",GROUP_CONCAT(oi.image) as group_images" + + ",GROUP_CONCAT(oi.goods_name) as group_name " + + ",GROUP_CONCAT(oi.after_sale_status) as group_after_sale_status" + + ",GROUP_CONCAT(oi.complain_status) as group_complain_status" + + ",GROUP_CONCAT(oi.comment_status) as group_comment_status" + + ",GROUP_CONCAT(oi.sn) as group_order_items_sn " + + ",GROUP_CONCAT(oi.goods_price) as group_goods_price " + + " FROM li_order o INNER JOIN li_order_item AS oi on o.sn = oi.order_sn ${ew.customSqlSegment} ") + IPage queryByParams(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/PlatformViewDataMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/PlatformViewMapper.java similarity index 90% rename from framework/src/main/java/cn/lili/modules/statistics/mapper/PlatformViewDataMapper.java rename to framework/src/main/java/cn/lili/modules/statistics/mapper/PlatformViewMapper.java index 3109b05f..6eeea405 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/mapper/PlatformViewDataMapper.java +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/PlatformViewMapper.java @@ -13,7 +13,7 @@ import org.apache.ibatis.annotations.Select; * @author Bulbasaur * @since 2020/11/17 7:34 下午 */ -public interface PlatformViewDataMapper extends BaseMapper { +public interface PlatformViewMapper extends BaseMapper { /** * UV流量统计 * diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/RefundOrderStatisticsDataMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/RefundOrderStatisticsMapper.java similarity index 92% rename from framework/src/main/java/cn/lili/modules/statistics/mapper/RefundOrderStatisticsDataMapper.java rename to framework/src/main/java/cn/lili/modules/statistics/mapper/RefundOrderStatisticsMapper.java index e4843c19..035a0fb3 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/mapper/RefundOrderStatisticsDataMapper.java +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/RefundOrderStatisticsMapper.java @@ -15,7 +15,7 @@ import org.apache.ibatis.annotations.Select; * @author Bulbasaur * @since 2020/12/10 11:22 */ -public interface RefundOrderStatisticsDataMapper extends BaseMapper { +public interface RefundOrderStatisticsMapper extends BaseMapper { /** * 退款统计 diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/SeckillStatisticsMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/SeckillStatisticsMapper.java new file mode 100644 index 00000000..d191dacd --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/SeckillStatisticsMapper.java @@ -0,0 +1,13 @@ +package cn.lili.modules.statistics.mapper; + +import cn.lili.modules.promotion.entity.dos.Seckill; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 秒杀活动统计 + * + * @author Chopper + * @since 2020/8/21 + */ +public interface SeckillStatisticsMapper extends BaseMapper { +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/GoodsStatisticsDataMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/StoreFlowStatisticsMapper.java similarity index 71% rename from framework/src/main/java/cn/lili/modules/statistics/mapper/GoodsStatisticsDataMapper.java rename to framework/src/main/java/cn/lili/modules/statistics/mapper/StoreFlowStatisticsMapper.java index 226e253d..55496565 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/mapper/GoodsStatisticsDataMapper.java +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/StoreFlowStatisticsMapper.java @@ -3,6 +3,7 @@ package cn.lili.modules.statistics.mapper; import cn.lili.modules.order.order.entity.dos.StoreFlow; import cn.lili.modules.statistics.entity.vo.CategoryStatisticsDataVO; import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO; +import cn.lili.modules.statistics.entity.vo.StoreStatisticsDataVO; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -18,7 +19,7 @@ import java.util.List; * @author Bulbasaur * @since 2020/11/17 7:34 下午 */ -public interface GoodsStatisticsDataMapper extends BaseMapper { +public interface StoreFlowStatisticsMapper extends BaseMapper { /** * 商品统计 @@ -38,4 +39,17 @@ public interface GoodsStatisticsDataMapper extends BaseMapper { */ @Select("SELECT category_id,category_name,SUM(price) AS price,SUM(num) AS num FROM li_store_flow ${ew.customSqlSegment}") List getCateGoryStatisticsData(@Param(Constants.WRAPPER) Wrapper queryWrapper); + + + + /** + * 店铺统计列表 + * + * @param page 分页 + * @param queryWrapper 查询参数 + * @return 店铺统计列表 + */ + @Select("SELECT store_id AS storeId,store_name AS storeName,SUM(final_price) AS price,SUM(num) AS num FROM li_store_flow ${ew.customSqlSegment}") + List getStoreStatisticsData(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/StoreStatisticsDataMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/StoreStatisticsDataMapper.java deleted file mode 100644 index 825bbd83..00000000 --- a/framework/src/main/java/cn/lili/modules/statistics/mapper/StoreStatisticsDataMapper.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.lili.modules.statistics.mapper; - -import cn.lili.modules.order.order.entity.dos.StoreFlow; -import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO; -import cn.lili.modules.statistics.entity.vo.StoreStatisticsDataVO; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Constants; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 店铺统计数据处理层 - * - * @author Bulbasaur - * @since 2020/11/17 7:34 下午 - */ -public interface StoreStatisticsDataMapper extends BaseMapper { - - /** - * 店铺统计列表 - * - * @param page 分页 - * @param queryWrapper 查询参数 - * @return 店铺统计列表 - */ - @Select("SELECT store_id AS storeId,store_name AS storeName,SUM(final_price) AS price,SUM(num) AS num FROM li_store_flow ${ew.customSqlSegment}") - List getStoreStatisticsData(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); - -} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/mapper/StoreStatisticsMapper.java b/framework/src/main/java/cn/lili/modules/statistics/mapper/StoreStatisticsMapper.java new file mode 100644 index 00000000..6404593a --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/mapper/StoreStatisticsMapper.java @@ -0,0 +1,14 @@ +package cn.lili.modules.statistics.mapper; + +import cn.lili.modules.store.entity.dos.Store; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 店铺统计数据处理层 + * + * @author Bulbasaur + * @since 2020/11/17 7:34 下午 + */ +public interface StoreStatisticsMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/AfterSaleStatisticsService.java b/framework/src/main/java/cn/lili/modules/statistics/service/AfterSaleStatisticsService.java new file mode 100644 index 00000000..20d8be4d --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/service/AfterSaleStatisticsService.java @@ -0,0 +1,33 @@ +package cn.lili.modules.statistics.service; + +import cn.lili.common.vo.PageVO; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; +import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 售后统计业务层 + * + * @author Bulbasaur + * @since 2020/12/9 11:06 + */ +public interface AfterSaleStatisticsService extends IService { + + /** + * 获取待处理售后数量 + * + * @param serviceType 售后类型 + * @return 待处理售后数量 + */ + Integer applyNum(String serviceType); + + /** + * 获取统计的售后 + * + * @param statisticsQueryParam 统计搜索参数 + * @param pageVO 分页 + * @return 售后分页列表 + */ + IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO); +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/BillStatisticsService.java b/framework/src/main/java/cn/lili/modules/statistics/service/BillStatisticsService.java new file mode 100644 index 00000000..e2d92099 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/service/BillStatisticsService.java @@ -0,0 +1,22 @@ +package cn.lili.modules.statistics.service; + +import cn.lili.modules.store.entity.dos.Bill; +import cn.lili.modules.store.entity.enums.BillStatusEnum; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 结算单统计 + * + * @author Chopper + * @since 2020/11/17 4:28 下午 + */ +public interface BillStatisticsService extends IService { + + /** + * 商家待结算数量 + * + * @param billStatusEnum 结算单类型 + * @return 待结算商家数量 + */ + Integer billNum(BillStatusEnum billStatusEnum); +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/DistributionCashStatisticsService.java b/framework/src/main/java/cn/lili/modules/statistics/service/DistributionCashStatisticsService.java new file mode 100644 index 00000000..0facd4aa --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/service/DistributionCashStatisticsService.java @@ -0,0 +1,20 @@ +package cn.lili.modules.statistics.service; + +import cn.lili.modules.distribution.entity.dos.DistributionCash; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 分销佣金统计 + * + * @author pikachu + * @since 2020-03-14 23:04:56 + */ +public interface DistributionCashStatisticsService extends IService { + + /** + * 待处理分销员提现申请数量 + * + * @return 待处理分销员提现申请数量 + */ + Integer newDistributionCash(); +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/GoodsStatisticsDataService.java b/framework/src/main/java/cn/lili/modules/statistics/service/GoodsStatisticsDataService.java deleted file mode 100644 index 0752a97c..00000000 --- a/framework/src/main/java/cn/lili/modules/statistics/service/GoodsStatisticsDataService.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.lili.modules.statistics.service; - -import cn.lili.modules.order.order.entity.dos.StoreFlow; -import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam; -import cn.lili.modules.statistics.entity.vo.CategoryStatisticsDataVO; -import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO; -import com.baomidou.mybatisplus.extension.service.IService; - -import java.util.List; - -/** - * 商品统计业务层 - * - * @author Bulbasaur - * @since 2020/12/9 11:06 - */ -public interface GoodsStatisticsDataService extends IService { - - /** - * 查询热卖商品 - * 查询TOP100的商品 - * - * @param goodsStatisticsQueryParam 查询参数 - * @param num 数量 - * @return - */ - List getGoodsStatisticsData(GoodsStatisticsQueryParam goodsStatisticsQueryParam, Integer num); - - /** - * 查询行业统计 - * 根据商品一级分类ID查询 - * - * @param goodsStatisticsQueryParam 查询参数 - * @return - */ - List getCategoryStatisticsData(GoodsStatisticsQueryParam goodsStatisticsQueryParam); - -} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/GoodsStatisticsService.java b/framework/src/main/java/cn/lili/modules/statistics/service/GoodsStatisticsService.java new file mode 100644 index 00000000..fb6d0a36 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/service/GoodsStatisticsService.java @@ -0,0 +1,31 @@ +package cn.lili.modules.statistics.service; + +import cn.lili.modules.goods.entity.dos.Goods; +import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; +import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 商品统计业务层 + * + * @author Bulbasaur + * @since 2020/12/9 11:06 + */ +public interface GoodsStatisticsService extends IService { + + /** + * 获取所有的已上架的商品数量 + * + * @param goodsAuthEnum 商品审核枚举 + * @param goodsStatusEnum 商品状态枚举 + * @return 所有的已上架的商品数量 + */ + Integer goodsNum(GoodsStatusEnum goodsStatusEnum, GoodsAuthEnum goodsAuthEnum); + + /** + * 获取今天的已上架的商品数量 + * + * @return 今天的已上架的商品数量 + */ + Integer todayUpperNum(); +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/MemberEvaluationStatisticsService.java b/framework/src/main/java/cn/lili/modules/statistics/service/MemberEvaluationStatisticsService.java new file mode 100644 index 00000000..e2d3d3f5 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/service/MemberEvaluationStatisticsService.java @@ -0,0 +1,28 @@ +package cn.lili.modules.statistics.service; + +import cn.lili.modules.member.entity.dos.MemberEvaluation; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 会员商品评价统计 + * + * @author Bulbasaur + * @since 2020-02-25 14:10:16 + */ +public interface MemberEvaluationStatisticsService extends IService { + + /** + * 获取今天新增的评价数量 + * + * @return 今日评价数量 + */ + Integer todayMemberEvaluation(); + + /** + * 获取等待回复评价数量 + * + * @return 等待回复评价数量 + */ + Integer getWaitReplyNum(); + +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/MemberStatisticsDataService.java b/framework/src/main/java/cn/lili/modules/statistics/service/MemberStatisticsService.java similarity index 81% rename from framework/src/main/java/cn/lili/modules/statistics/service/MemberStatisticsDataService.java rename to framework/src/main/java/cn/lili/modules/statistics/service/MemberStatisticsService.java index 5cfb280f..8dd9a447 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/service/MemberStatisticsDataService.java +++ b/framework/src/main/java/cn/lili/modules/statistics/service/MemberStatisticsService.java @@ -1,5 +1,6 @@ package cn.lili.modules.statistics.service; +import cn.lili.modules.member.entity.vo.MemberDistributionVO; import cn.lili.modules.statistics.entity.dos.MemberStatisticsData; import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; import com.baomidou.mybatisplus.extension.service.IService; @@ -13,7 +14,7 @@ import java.util.List; * @author Bulbasaur * @since 2020/12/9 11:06 */ -public interface MemberStatisticsDataService extends IService { +public interface MemberStatisticsService extends IService { /** * 获取会员数量 @@ -61,4 +62,13 @@ public interface MemberStatisticsDataService extends IService statistics(StatisticsQueryParam statisticsQueryParam); + + + /** + * 查看会员数据分布 + * + * @return 会员数据分布 + */ + List distribution(); + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/OrderComplaintStatisticsService.java b/framework/src/main/java/cn/lili/modules/statistics/service/OrderComplaintStatisticsService.java new file mode 100644 index 00000000..16a896fe --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/service/OrderComplaintStatisticsService.java @@ -0,0 +1,20 @@ +package cn.lili.modules.statistics.service; + +import cn.lili.modules.order.order.entity.dos.OrderComplaint; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 交易投诉统计 + * + * @author paulG + * @since 2020/12/4 + **/ +public interface OrderComplaintStatisticsService extends IService { + + /** + * 待处理投诉数量 + * + * @return 待处理投诉数量 + */ + Integer waitComplainNum(); +} diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/OrderStatisticsDataService.java b/framework/src/main/java/cn/lili/modules/statistics/service/OrderStatisticsService.java similarity index 68% rename from framework/src/main/java/cn/lili/modules/statistics/service/OrderStatisticsDataService.java rename to framework/src/main/java/cn/lili/modules/statistics/service/OrderStatisticsService.java index cdc192f5..55206f90 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/service/OrderStatisticsDataService.java +++ b/framework/src/main/java/cn/lili/modules/statistics/service/OrderStatisticsService.java @@ -1,13 +1,15 @@ package cn.lili.modules.statistics.service; -import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.common.vo.PageVO; +import cn.lili.modules.order.order.entity.dos.Order; +import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; import cn.lili.modules.statistics.entity.vo.OrderOverviewVO; import cn.lili.modules.statistics.entity.vo.OrderStatisticsDataVO; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; -import java.util.Map; /** * 订单统计业务层 @@ -15,7 +17,7 @@ import java.util.Map; * @author Bulbasaur * @since 2020/12/9 11:06 */ -public interface OrderStatisticsDataService extends IService { +public interface OrderStatisticsService extends IService { /** * 订单统计概览 @@ -25,21 +27,6 @@ public interface OrderStatisticsDataService extends IService { */ OrderOverviewVO overview(StatisticsQueryParam statisticsQueryParam); - /** - * 查询订单统计金额 - * - * @return 订单统计 - */ - Map getStoreOrderStatisticsPrice(); - - - /** - * 查询今日付款统计 - * - * @return 订单统计金额 - */ - Map getOrderStatisticsPrice(); - /** * 获取订单总数量 * @@ -56,4 +43,12 @@ public interface OrderStatisticsDataService extends IService { */ List statisticsChart(StatisticsQueryParam statisticsQueryParam); + /** + * 获取统计的订单 + * + * @param statisticsQueryParam + * @param pageVO + * @return + */ + IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/PlatformViewDataService.java b/framework/src/main/java/cn/lili/modules/statistics/service/PlatformViewService.java similarity index 93% rename from framework/src/main/java/cn/lili/modules/statistics/service/PlatformViewDataService.java rename to framework/src/main/java/cn/lili/modules/statistics/service/PlatformViewService.java index 526ccdb4..789cb119 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/service/PlatformViewDataService.java +++ b/framework/src/main/java/cn/lili/modules/statistics/service/PlatformViewService.java @@ -15,7 +15,7 @@ import java.util.List; * @author Bulbasaur * @since 2020/12/9 11:06 */ -public interface PlatformViewDataService extends IService { +public interface PlatformViewService extends IService { /** diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/SeckillStatisticsService.java b/framework/src/main/java/cn/lili/modules/statistics/service/SeckillStatisticsService.java new file mode 100644 index 00000000..fe5d0b81 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/service/SeckillStatisticsService.java @@ -0,0 +1,22 @@ +package cn.lili.modules.statistics.service; + +import cn.lili.modules.promotion.entity.dos.Seckill; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 秒杀统计 + * + * @author Chopper + * @since 2020/11/18 9:45 上午 + */ +public interface SeckillStatisticsService extends IService { + + + /** + * 获取当前可参与的活动数量 + * + * @return 可参与活动数量 + */ + Integer getApplyNum(); + +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/StoreFlowStatisticsService.java b/framework/src/main/java/cn/lili/modules/statistics/service/StoreFlowStatisticsService.java new file mode 100644 index 00000000..9f99d7dd --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/service/StoreFlowStatisticsService.java @@ -0,0 +1,69 @@ +package cn.lili.modules.statistics.service; + +import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam; +import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; +import cn.lili.modules.statistics.entity.vo.CategoryStatisticsDataVO; +import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO; +import cn.lili.modules.statistics.entity.vo.OrderOverviewVO; +import cn.lili.modules.statistics.entity.vo.StoreStatisticsDataVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 流水统计业务层 + * + * @author Bulbasaur + * @since 2020/12/9 11:06 + */ +public interface StoreFlowStatisticsService extends IService { + + /** + * 查询热卖商品 + * 查询TOP100的商品 + * + * @param goodsStatisticsQueryParam 查询参数 + * @param num 数量 + * @return + */ + List getGoodsStatisticsData(GoodsStatisticsQueryParam goodsStatisticsQueryParam, Integer num); + + /** + * 查询行业统计 + * 根据商品一级分类ID查询 + * + * @param goodsStatisticsQueryParam 查询参数 + * @return + */ + List getCategoryStatisticsData(GoodsStatisticsQueryParam goodsStatisticsQueryParam); + + /** + * 店铺流水 根据店铺 统计 + * + * @param page + * @param queryWrapper + * @return + */ + List getStoreStatisticsData(Page page, QueryWrapper queryWrapper); + + /** + * 查询今日付款统计 + * + * @return 订单统计金额 + */ + Map getOrderStatisticsPrice(); + + /** + * 订单统计,数据概览 + * + * @param dates + * @param orderOverviewVO + * @param statisticsQueryParam + */ + void overview(Date[] dates, OrderOverviewVO orderOverviewVO, StatisticsQueryParam statisticsQueryParam); +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/StoreStatisticsService.java b/framework/src/main/java/cn/lili/modules/statistics/service/StoreStatisticsService.java new file mode 100644 index 00000000..a8e3a0dd --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/service/StoreStatisticsService.java @@ -0,0 +1,34 @@ +package cn.lili.modules.statistics.service; + +import cn.lili.modules.store.entity.dos.Store; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 店铺统计业务层 + * + * @author Bulbasaur + * @since 2020/12/9 11:06 + */ +public interface StoreStatisticsService extends IService { + + /** + * 获取待审核店铺数量 + * + * @return 待审核店铺数量 + */ + Integer auditNum(); + + /** + * 获取所有店铺数量 + * + * @return 店铺总数 + */ + Integer storeNum(); + + /** + * 获取今天的店铺数量 + * + * @return 今天的店铺数量 + */ + Integer todayStoreNum(); +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/AfterSaleStatisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/AfterSaleStatisticsServiceImpl.java new file mode 100644 index 00000000..eabd80ee --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/AfterSaleStatisticsServiceImpl.java @@ -0,0 +1,57 @@ +package cn.lili.modules.statistics.serviceimpl; + +import cn.hutool.core.text.CharSequenceUtil; +import cn.lili.common.security.AuthUser; +import cn.lili.common.security.context.UserContext; +import cn.lili.common.security.enums.UserEnums; +import cn.lili.common.vo.PageVO; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; +import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum; +import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; +import cn.lili.modules.statistics.mapper.AfterSaleStatisticsMapper; +import cn.lili.modules.statistics.service.AfterSaleStatisticsService; +import cn.lili.modules.statistics.util.StatisticsDateUtil; +import cn.lili.mybatis.util.PageUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.Objects; + +/** + * 售后统计业务层实现 + * + * @author Bulbasaur + * @since 2020/12/9 11:30 + */ +@Service +public class AfterSaleStatisticsServiceImpl extends ServiceImpl implements AfterSaleStatisticsService { + + + @Override + public Integer applyNum(String serviceType) { + AuthUser authUser = Objects.requireNonNull(UserContext.getCurrentUser()); + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(AfterSale::getServiceStatus, AfterSaleStatusEnum.APPLY.name()); + queryWrapper.eq(CharSequenceUtil.isNotEmpty(serviceType), AfterSale::getServiceType, serviceType); + queryWrapper.eq(CharSequenceUtil.equals(authUser.getRole().name(), UserEnums.STORE.name()), + AfterSale::getStoreId, authUser.getStoreId()); + return this.count(queryWrapper); + } + + + @Override + public IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); + queryWrapper.between(AfterSale::getCreateTime, dates[0], dates[1]); + queryWrapper.eq(CharSequenceUtil.isNotEmpty(statisticsQueryParam.getStoreId()), AfterSale::getStoreId, statisticsQueryParam.getStoreId()); + + return this.page(PageUtil.initPage(pageVO), queryWrapper); + } + +} diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/BillStatisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/BillStatisticsServiceImpl.java new file mode 100644 index 00000000..e9350d29 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/BillStatisticsServiceImpl.java @@ -0,0 +1,37 @@ +package cn.lili.modules.statistics.serviceimpl; + +import cn.lili.common.security.context.UserContext; +import cn.lili.common.security.enums.UserEnums; +import cn.lili.common.utils.StringUtils; +import cn.lili.modules.statistics.mapper.BillStatisticsMapper; +import cn.lili.modules.statistics.service.BillStatisticsService; +import cn.lili.modules.store.entity.dos.Bill; +import cn.lili.modules.store.entity.enums.BillStatusEnum; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 结算单统计 + * + * @author Chopper + * @since 2020/11/17 4:28 下午 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class BillStatisticsServiceImpl extends ServiceImpl implements BillStatisticsService { + + + @Override + public Integer billNum(BillStatusEnum billStatusEnum) { + LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate(); + lambdaUpdateWrapper.eq(Bill::getBillStatus, billStatusEnum.name()); + lambdaUpdateWrapper.eq(StringUtils.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), + Bill::getStoreId, UserContext.getCurrentUser().getStoreId()); + return this.count(lambdaUpdateWrapper); + } + + +} diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/DistributionCashStatisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/DistributionCashStatisticsServiceImpl.java new file mode 100644 index 00000000..41cb6d9b --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/DistributionCashStatisticsServiceImpl.java @@ -0,0 +1,32 @@ +package cn.lili.modules.statistics.serviceimpl; + +import cn.lili.modules.distribution.entity.dos.DistributionCash; +import cn.lili.modules.statistics.mapper.DistributionCashStatisticsMapper; +import cn.lili.modules.statistics.service.DistributionCashStatisticsService; +import cn.lili.modules.wallet.entity.enums.WithdrawStatusEnum; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + + +/** + * 分销佣金统计层实现 + * + * @author pikachu + * @since 2020-03-126 18:04:56 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class DistributionCashStatisticsServiceImpl extends ServiceImpl + implements DistributionCashStatisticsService { + + + @Override + public Integer newDistributionCash() { + QueryWrapper queryWrapper = Wrappers.query(); + queryWrapper.eq("distribution_cash_status", WithdrawStatusEnum.APPLY.name()); + return this.count(queryWrapper); + } +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/GoodsStatisticsDataServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/GoodsStatisticsDataServiceImpl.java deleted file mode 100644 index 3f101189..00000000 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/GoodsStatisticsDataServiceImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -package cn.lili.modules.statistics.serviceimpl; - -import cn.lili.common.utils.StringUtils; -import cn.lili.modules.order.order.entity.dos.StoreFlow; -import cn.lili.modules.order.order.entity.enums.FlowTypeEnum; -import cn.lili.modules.statistics.mapper.GoodsStatisticsDataMapper; -import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam; -import cn.lili.modules.statistics.entity.enums.StatisticsQuery; -import cn.lili.modules.statistics.entity.vo.CategoryStatisticsDataVO; -import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO; -import cn.lili.modules.statistics.service.GoodsStatisticsDataService; -import cn.lili.modules.statistics.util.StatisticsDateUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -import java.util.Date; -import java.util.List; - -/** - * 商品统计业务层实现 - * - * @author Bulbasaur - * @since 2020/12/9 11:30 - */ -@Service -public class GoodsStatisticsDataServiceImpl extends ServiceImpl implements GoodsStatisticsDataService { - - @Override - public List getGoodsStatisticsData(GoodsStatisticsQueryParam goodsStatisticsQueryParam, Integer num) { - //获取查询条件 - QueryWrapper queryWrapper = getQueryWrapper(goodsStatisticsQueryParam); - //根据商品分组 - queryWrapper.groupBy("goods_id"); - queryWrapper.groupBy("goods_name"); - - queryWrapper.eq(!StringUtils.isEmpty(goodsStatisticsQueryParam.getStoreId()), "store_id", goodsStatisticsQueryParam.getStoreId()); - //查询前X记录 - Page page = new Page(1, num); - return this.baseMapper.getGoodsStatisticsData(page, queryWrapper); - } - - @Override - public List getCategoryStatisticsData(GoodsStatisticsQueryParam goodsStatisticsQueryParam) { - //获取查询条件 - QueryWrapper queryWrapper = getQueryWrapper(goodsStatisticsQueryParam); - //根据分类分组 - queryWrapper.groupBy("category_id"); - return this.baseMapper.getCateGoryStatisticsData(queryWrapper); - } - - - private QueryWrapper getQueryWrapper(GoodsStatisticsQueryParam goodsStatisticsQueryParam) { - - QueryWrapper queryWrapper = Wrappers.query(); - //判断搜索类型是:年、月 - Date[] date = StatisticsDateUtil.getDateArray(goodsStatisticsQueryParam); - queryWrapper.between("create_time", date[0], date[1]); - - //判断是按照数量统计还是按照金额统计 - if (goodsStatisticsQueryParam.getType().equals(StatisticsQuery.PRICE.name())) { - queryWrapper.orderByDesc("price"); - } else { - queryWrapper.orderByDesc("num"); - } - //设置为付款查询 - queryWrapper.eq("flow_type", FlowTypeEnum.PAY.name()); - return queryWrapper; - } - -} diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/GoodsStatisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/GoodsStatisticsServiceImpl.java new file mode 100644 index 00000000..120d9c15 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/GoodsStatisticsServiceImpl.java @@ -0,0 +1,56 @@ +package cn.lili.modules.statistics.serviceimpl; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.text.CharSequenceUtil; +import cn.lili.common.security.AuthUser; +import cn.lili.common.security.context.UserContext; +import cn.lili.common.security.enums.UserEnums; +import cn.lili.modules.goods.entity.dos.Goods; +import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; +import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; +import cn.lili.modules.statistics.mapper.GoodsStatisticsMapper; +import cn.lili.modules.statistics.service.GoodsStatisticsService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * 商品统计业务层实现 + * + * @author Bulbasaur + * @since 2020/12/9 11:30 + */ +@Service +public class GoodsStatisticsServiceImpl extends ServiceImpl implements GoodsStatisticsService { + + @Override + public Integer goodsNum(GoodsStatusEnum goodsStatusEnum, GoodsAuthEnum goodsAuthEnum) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + + queryWrapper.eq(Goods::getDeleteFlag, false); + + if (goodsStatusEnum != null) { + queryWrapper.eq(Goods::getMarketEnable, goodsStatusEnum.name()); + } + if (goodsAuthEnum != null) { + queryWrapper.eq(Goods::getIsAuth, goodsAuthEnum.name()); + } + AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser()); + queryWrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.STORE.name()), + Goods::getStoreId, currentUser.getStoreId()); + + return this.count(queryWrapper); + } + + @Override + public Integer todayUpperNum() { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(Goods::getMarketEnable, GoodsStatusEnum.UPPER.name()); + queryWrapper.ge(Goods::getCreateTime, DateUtil.beginOfDay(new DateTime())); + return this.count(queryWrapper); + } +} diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/IndexStatisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/IndexStatisticsServiceImpl.java index eab152e7..fa5a7fae 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/IndexStatisticsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/IndexStatisticsServiceImpl.java @@ -5,18 +5,11 @@ import cn.hutool.core.date.DateTime; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.BeanUtil; -import cn.lili.modules.distribution.service.DistributionCashService; import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; -import cn.lili.modules.goods.service.GoodsService; -import cn.lili.modules.member.service.MemberEvaluationService; import cn.lili.modules.order.order.entity.enums.FlowTypeEnum; import cn.lili.modules.order.order.entity.enums.OrderStatusEnum; -import cn.lili.modules.order.order.service.AfterSaleService; -import cn.lili.modules.order.order.service.OrderComplaintService; import cn.lili.modules.order.trade.entity.enums.AfterSaleTypeEnum; -import cn.lili.modules.promotion.service.SeckillService; -import cn.lili.modules.statistics.mapper.StoreStatisticsDataMapper; import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam; import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; import cn.lili.modules.statistics.entity.enums.SearchTypeEnum; @@ -24,8 +17,6 @@ import cn.lili.modules.statistics.entity.vo.*; import cn.lili.modules.statistics.service.*; import cn.lili.modules.statistics.util.StatisticsDateUtil; import cn.lili.modules.store.entity.enums.BillStatusEnum; -import cn.lili.modules.store.service.BillService; -import cn.lili.modules.store.service.StoreService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -50,84 +41,79 @@ public class IndexStatisticsServiceImpl implements IndexStatisticsService { * 订单统计 */ @Autowired - private OrderStatisticsDataService orderStatisticsDataService; + private OrderStatisticsService orderStatisticsService; /** * 会员统计 */ @Autowired - private MemberStatisticsDataService memberStatisticsDataService; + private MemberStatisticsService memberStatisticsService; /** * 商品统计 */ @Autowired - private GoodsStatisticsDataService goodsStatisticsDataService; + private GoodsStatisticsService goodsStatisticsService; /** - * 店铺统计 + * 商品统计 */ @Autowired - private StoreStatisticsDataMapper storeStatisticsDataMapper; - /** - * 商品 - */ - @Autowired - private GoodsService goodsService; + private StoreFlowStatisticsService storeFlowStatisticsService; /** * 店铺 */ @Autowired - private StoreService storeService; + private StoreStatisticsService storeStatisticsService; /** * 店铺 */ @Autowired - private MemberEvaluationService memberEvaluationService; + private MemberEvaluationStatisticsService memberEvaluationStatisticsService; /** * 售后 */ @Autowired - private AfterSaleService afterSaleService; + private AfterSaleStatisticsService afterSaleStatisticsService; /** * 投诉 */ @Autowired - private OrderComplaintService orderComplaintService; + private OrderComplaintStatisticsService orderComplaintStatisticsService; /** * 分销员提现 */ @Autowired - private DistributionCashService distributionCashService; + private DistributionCashStatisticsService distributionCashStatisticsService; /** * 平台PV统计 */ @Autowired - private PlatformViewDataService platformViewDataService; + private PlatformViewService platformViewService; /** * 结算单 */ @Autowired - private BillService billService; + private BillStatisticsService billStatisticsService; /** * 秒杀活动 */ @Autowired - private SeckillService seckillService; + private SeckillStatisticsService seckillStatisticsService; @Override public IndexNoticeVO indexNotice() { IndexNoticeVO indexNoticeVO = new IndexNoticeVO(); //商品审核 - indexNoticeVO.setGoods(goodsService.goodsNum(null, GoodsAuthEnum.TOBEAUDITED)); + indexNoticeVO.setGoods(goodsStatisticsService.goodsNum(null, GoodsAuthEnum.TOBEAUDITED)); //店铺入驻审核 - indexNoticeVO.setStore(storeService.auditNum()); + indexNoticeVO.setStore(storeStatisticsService.auditNum()); //售后申请 - indexNoticeVO.setRefund(afterSaleService.applyNum(null)); + indexNoticeVO.setRefund(afterSaleStatisticsService.applyNum(null)); //投诉审核 - indexNoticeVO.setComplain(orderComplaintService.waitComplainNum()); + indexNoticeVO.setComplain(orderComplaintStatisticsService.waitComplainNum()); //分销员提现审核 - indexNoticeVO.setDistributionCash(distributionCashService.newDistributionCash()); + indexNoticeVO.setDistributionCash(distributionCashStatisticsService.newDistributionCash()); //待处理商家结算 - indexNoticeVO.setWaitPayBill(billService.billNum(BillStatusEnum.CHECK)); + indexNoticeVO.setWaitPayBill(billStatisticsService.billNum(BillStatusEnum.CHECK)); return indexNoticeVO; } @@ -138,31 +124,31 @@ public class IndexStatisticsServiceImpl implements IndexStatisticsService { IndexStatisticsVO indexStatisticsVO = new IndexStatisticsVO(); //获取总订单数量 - indexStatisticsVO.setOrderNum(orderStatisticsDataService.orderNum(null)); + indexStatisticsVO.setOrderNum(orderStatisticsService.orderNum(null)); //获取总会员数量 - indexStatisticsVO.setMemberNum(memberStatisticsDataService.getMemberCount()); + indexStatisticsVO.setMemberNum(memberStatisticsService.getMemberCount()); //获取总上架商品数量 - indexStatisticsVO.setGoodsNum(goodsService.goodsNum(GoodsStatusEnum.UPPER, GoodsAuthEnum.PASS)); + indexStatisticsVO.setGoodsNum(goodsStatisticsService.goodsNum(GoodsStatusEnum.UPPER, GoodsAuthEnum.PASS)); //获取总店铺数量 - indexStatisticsVO.setStoreNum(storeService.storeNum()); + indexStatisticsVO.setStoreNum(storeStatisticsService.storeNum()); //下单统计 - Map map = orderStatisticsDataService.getOrderStatisticsPrice(); + Map map = storeFlowStatisticsService.getOrderStatisticsPrice(); //今日下单数 indexStatisticsVO.setTodayOrderNum(map.get("num") == null ? 0L : (Long) map.get("num")); //今日下单金额 indexStatisticsVO.setTodayOrderPrice(map.get("price") == null ? 0D : (Double) map.get("price")); //今日新增会员数量 - indexStatisticsVO.setTodayMemberNum(memberStatisticsDataService.todayMemberNum()); + indexStatisticsVO.setTodayMemberNum(memberStatisticsService.todayMemberNum()); //今日新增商品数量 - indexStatisticsVO.setTodayGoodsNum(goodsService.todayUpperNum()); + indexStatisticsVO.setTodayGoodsNum(goodsStatisticsService.todayUpperNum()); //今日新增店铺数量 - indexStatisticsVO.setTodayStoreNum(storeService.todayStoreNum()); + indexStatisticsVO.setTodayStoreNum(storeStatisticsService.todayStoreNum()); //今日新增评论数量 - indexStatisticsVO.setTodayMemberEvaluation(memberEvaluationService.todayMemberEvaluation()); + indexStatisticsVO.setTodayMemberEvaluation(memberEvaluationStatisticsService.todayMemberEvaluation()); //当前在线人数 - indexStatisticsVO.setCurrentNumberPeopleOnline(platformViewDataService.online()); + indexStatisticsVO.setCurrentNumberPeopleOnline(platformViewService.online()); //流量统计 @@ -170,19 +156,19 @@ public class IndexStatisticsServiceImpl implements IndexStatisticsService { //今日uv queryParam.setSearchType(SearchTypeEnum.TODAY.name()); - indexStatisticsVO.setTodayUV(platformViewDataService.countUv(queryParam)); + indexStatisticsVO.setTodayUV(platformViewService.countUv(queryParam)); // 昨日访问数UV queryParam.setSearchType(SearchTypeEnum.YESTERDAY.name()); - indexStatisticsVO.setYesterdayUV(platformViewDataService.countUv(queryParam)); + indexStatisticsVO.setYesterdayUV(platformViewService.countUv(queryParam)); // 前七日访问数UV queryParam.setSearchType(SearchTypeEnum.LAST_SEVEN.name()); - indexStatisticsVO.setLastSevenUV(platformViewDataService.countUv(queryParam)); + indexStatisticsVO.setLastSevenUV(platformViewService.countUv(queryParam)); // 三十日访问数UV queryParam.setSearchType(SearchTypeEnum.LAST_THIRTY.name()); - indexStatisticsVO.setLastThirtyUV(platformViewDataService.countUv(queryParam)); + indexStatisticsVO.setLastThirtyUV(platformViewService.countUv(queryParam)); return indexStatisticsVO; @@ -195,9 +181,9 @@ public class IndexStatisticsServiceImpl implements IndexStatisticsService { StoreIndexStatisticsVO storeIndexStatisticsVO = new StoreIndexStatisticsVO(); //商品总数量 - storeIndexStatisticsVO.setGoodsNum(goodsService.goodsNum(GoodsStatusEnum.UPPER, null)); + storeIndexStatisticsVO.setGoodsNum(goodsStatisticsService.goodsNum(GoodsStatusEnum.UPPER, null)); //订单总数量、订单总金额 - Map map = orderStatisticsDataService.getStoreOrderStatisticsPrice(); + Map map = storeFlowStatisticsService.getOrderStatisticsPrice(); storeIndexStatisticsVO.setOrderNum(Convert.toInt(map.get("num").toString())); storeIndexStatisticsVO.setOrderPrice(map.get("price") != null ? Double.parseDouble(map.get("price").toString()) : 0.0); @@ -205,34 +191,34 @@ public class IndexStatisticsServiceImpl implements IndexStatisticsService { StatisticsQueryParam queryParam = new StatisticsQueryParam(); queryParam.setSearchType(SearchTypeEnum.TODAY.name()); queryParam.setStoreId(storeId); - PlatformViewVO platformViewVO = platformViewDataService.list(queryParam).get(0); + PlatformViewVO platformViewVO = platformViewService.list(queryParam).get(0); storeIndexStatisticsVO.setStoreUV(platformViewVO.getUvNum().intValue()); //待付款订单数量 - storeIndexStatisticsVO.setUnPaidOrder(orderStatisticsDataService.orderNum(OrderStatusEnum.UNPAID.name())); + storeIndexStatisticsVO.setUnPaidOrder(orderStatisticsService.orderNum(OrderStatusEnum.UNPAID.name())); //待发货订单数量 - storeIndexStatisticsVO.setUnDeliveredOrder(orderStatisticsDataService.orderNum(OrderStatusEnum.UNDELIVERED.name())); + storeIndexStatisticsVO.setUnDeliveredOrder(orderStatisticsService.orderNum(OrderStatusEnum.UNDELIVERED.name())); //待收货订单数量 - storeIndexStatisticsVO.setDeliveredOrder(orderStatisticsDataService.orderNum(OrderStatusEnum.DELIVERED.name())); + storeIndexStatisticsVO.setDeliveredOrder(orderStatisticsService.orderNum(OrderStatusEnum.DELIVERED.name())); //待处理退货数量 - storeIndexStatisticsVO.setReturnGoods(afterSaleService.applyNum(AfterSaleTypeEnum.RETURN_GOODS.name())); + storeIndexStatisticsVO.setReturnGoods(afterSaleStatisticsService.applyNum(AfterSaleTypeEnum.RETURN_GOODS.name())); //待处理退款数量 - storeIndexStatisticsVO.setReturnMoney(afterSaleService.applyNum(AfterSaleTypeEnum.RETURN_MONEY.name())); + storeIndexStatisticsVO.setReturnMoney(afterSaleStatisticsService.applyNum(AfterSaleTypeEnum.RETURN_MONEY.name())); //待回复评价数量 - storeIndexStatisticsVO.setMemberEvaluation(memberEvaluationService.getWaitReplyNum()); + storeIndexStatisticsVO.setMemberEvaluation(memberEvaluationStatisticsService.getWaitReplyNum()); //待处理投诉数量 - storeIndexStatisticsVO.setComplaint(orderComplaintService.waitComplainNum()); + storeIndexStatisticsVO.setComplaint(orderComplaintStatisticsService.waitComplainNum()); //待上架商品数量 - storeIndexStatisticsVO.setWaitUpper(goodsService.goodsNum(GoodsStatusEnum.DOWN, null)); + storeIndexStatisticsVO.setWaitUpper(goodsStatisticsService.goodsNum(GoodsStatusEnum.DOWN, null)); //待审核商品数量 - storeIndexStatisticsVO.setWaitAuth(goodsService.goodsNum(null, GoodsAuthEnum.TOBEAUDITED)); + storeIndexStatisticsVO.setWaitAuth(goodsStatisticsService.goodsNum(null, GoodsAuthEnum.TOBEAUDITED)); //可参与秒杀活动数量 - storeIndexStatisticsVO.setSeckillNum(seckillService.getApplyNum()); + storeIndexStatisticsVO.setSeckillNum(seckillStatisticsService.getApplyNum()); //待处理商家结算 - storeIndexStatisticsVO.setWaitPayBill(billService.billNum(BillStatusEnum.OUT)); + storeIndexStatisticsVO.setWaitPayBill(billStatisticsService.billNum(BillStatusEnum.OUT)); return storeIndexStatisticsVO; } @@ -240,7 +226,7 @@ public class IndexStatisticsServiceImpl implements IndexStatisticsService { @Override public List goodsStatistics(GoodsStatisticsQueryParam statisticsQueryParam) { //查询商品 - return goodsStatisticsDataService.getGoodsStatisticsData(statisticsQueryParam, 10); + return storeFlowStatisticsService.getGoodsStatisticsData(statisticsQueryParam, 10); } @Override @@ -261,7 +247,7 @@ public class IndexStatisticsServiceImpl implements IndexStatisticsService { //查询前十条记录 Page page = new Page(1, 10); - return storeStatisticsDataMapper.getStoreStatisticsData(page, queryWrapper); + return storeFlowStatisticsService.getStoreStatisticsData(page, queryWrapper); } diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberEvaluationStatisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberEvaluationStatisticsServiceImpl.java new file mode 100644 index 00000000..255fca6e --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberEvaluationStatisticsServiceImpl.java @@ -0,0 +1,43 @@ +package cn.lili.modules.statistics.serviceimpl; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.lili.common.security.context.UserContext; +import cn.lili.common.security.enums.UserEnums; +import cn.lili.common.utils.StringUtils; +import cn.lili.modules.member.entity.dos.MemberEvaluation; +import cn.lili.modules.statistics.mapper.MemberEvaluationStatisticsMapper; +import cn.lili.modules.statistics.service.MemberEvaluationStatisticsService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 会员商品评价业务层实现 + * + * @author Bulbasaur + * @since 2020-02-25 14:10:16 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class MemberEvaluationStatisticsServiceImpl extends ServiceImpl implements MemberEvaluationStatisticsService { + + + @Override + public Integer todayMemberEvaluation() { + return this.count(new LambdaQueryWrapper().ge(MemberEvaluation::getCreateTime, DateUtil.beginOfDay(new DateTime()))); + } + + @Override + public Integer getWaitReplyNum() { + QueryWrapper queryWrapper = Wrappers.query(); + queryWrapper.eq(StringUtils.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), + "store_id", UserContext.getCurrentUser().getStoreId()); + queryWrapper.eq("reply_status", false); + return this.count(queryWrapper); + } + +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberStatisticsDataServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberStatisticsServiceImpl.java similarity index 85% rename from framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberStatisticsDataServiceImpl.java rename to framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberStatisticsServiceImpl.java index e79dae22..716828c2 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberStatisticsDataServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberStatisticsServiceImpl.java @@ -1,11 +1,12 @@ package cn.lili.modules.statistics.serviceimpl; import cn.hutool.core.date.DateUtil; -import cn.lili.modules.statistics.mapper.MemberStatisticsDataMapper; +import cn.lili.modules.member.entity.vo.MemberDistributionVO; import cn.lili.modules.statistics.entity.dos.MemberStatisticsData; import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; import cn.lili.modules.statistics.entity.enums.SearchTypeEnum; -import cn.lili.modules.statistics.service.MemberStatisticsDataService; +import cn.lili.modules.statistics.mapper.MemberStatisticsMapper; +import cn.lili.modules.statistics.service.MemberStatisticsService; import cn.lili.modules.statistics.util.StatisticsDateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -23,7 +24,7 @@ import java.util.List; * @since 2020/12/9 18:33 */ @Service -public class MemberStatisticsDataServiceImpl extends ServiceImpl implements MemberStatisticsDataService { +public class MemberStatisticsServiceImpl extends ServiceImpl implements MemberStatisticsService { @Override public Integer getMemberCount() { @@ -85,4 +86,13 @@ public class MemberStatisticsDataServiceImpl extends ServiceImpl distribution() { + List memberDistributionVOS = this.baseMapper.distribution(); + return memberDistributionVOS; + } + } diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/OrderComplaintStatisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/OrderComplaintStatisticsServiceImpl.java new file mode 100644 index 00000000..a6b24251 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/OrderComplaintStatisticsServiceImpl.java @@ -0,0 +1,34 @@ +package cn.lili.modules.statistics.serviceimpl; + +import cn.lili.common.security.context.UserContext; +import cn.lili.common.security.enums.UserEnums; +import cn.lili.common.utils.StringUtils; +import cn.lili.modules.order.aftersale.entity.enums.ComplaintStatusEnum; +import cn.lili.modules.order.order.entity.dos.OrderComplaint; +import cn.lili.modules.statistics.mapper.OrderComplaintStatisticsMapper; +import cn.lili.modules.statistics.service.OrderComplaintStatisticsService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 交易投诉业务层实现 + * + * @author paulG + * @since 2020/12/5 + **/ +@Service +public class OrderComplaintStatisticsServiceImpl extends ServiceImpl implements OrderComplaintStatisticsService { + + @Override + public Integer waitComplainNum() { + QueryWrapper queryWrapper = Wrappers.query(); + queryWrapper.ne("complain_status", ComplaintStatusEnum.COMPLETE.name()); + queryWrapper.eq(StringUtils.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), + "store_id", UserContext.getCurrentUser().getStoreId()); + return this.count(queryWrapper); + } + + +} diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/OrderStatisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/OrderStatisticsServiceImpl.java new file mode 100644 index 00000000..00e8545c --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/OrderStatisticsServiceImpl.java @@ -0,0 +1,181 @@ +package cn.lili.modules.statistics.serviceimpl; + +import cn.lili.common.security.context.UserContext; +import cn.lili.common.security.enums.UserEnums; +import cn.lili.common.utils.CurrencyUtil; +import cn.lili.common.utils.StringUtils; +import cn.lili.common.vo.PageVO; +import cn.lili.modules.order.order.entity.dos.Order; +import cn.lili.modules.order.order.entity.enums.FlowTypeEnum; +import cn.lili.modules.order.order.entity.enums.PayStatusEnum; +import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; +import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; +import cn.lili.modules.statistics.entity.vo.OrderOverviewVO; +import cn.lili.modules.statistics.entity.vo.OrderStatisticsDataVO; +import cn.lili.modules.statistics.mapper.OrderStatisticsMapper; +import cn.lili.modules.statistics.service.OrderStatisticsService; +import cn.lili.modules.statistics.service.PlatformViewService; +import cn.lili.modules.statistics.service.StoreFlowStatisticsService; +import cn.lili.modules.statistics.util.StatisticsDateUtil; +import cn.lili.mybatis.util.PageUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +/** + * 订单统计业务层实现 + * + * @author Bulbasaur + * @since 2020/12/9 17:16 + */ +@Service +public class OrderStatisticsServiceImpl extends ServiceImpl implements OrderStatisticsService { + + /** + * 平台PV统计 + */ + @Autowired + private PlatformViewService platformViewService; + + @Autowired + private StoreFlowStatisticsService storeFlowStatisticsService; + + @Override + public OrderOverviewVO overview(StatisticsQueryParam statisticsQueryParam) { + Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); + + OrderOverviewVO orderOverviewVO = new OrderOverviewVO(); + + /** + * 组织统计初始化 + */ + storeFlowStatisticsService.overview(dates, orderOverviewVO, statisticsQueryParam); + //访客数 + Integer uv = platformViewService.countUv(statisticsQueryParam); + if (uv != null) { + orderOverviewVO.setUvNum(uv.longValue()); + } + + //数据运算(转换率,比例相关) + conversionRateOperation(orderOverviewVO); + return orderOverviewVO; + } + + /** + * 运算转换率 + * + * @param orderOverviewVO 订单统计视图 + */ + private void conversionRateOperation(OrderOverviewVO orderOverviewVO) { + + //下单转换率 订单数/UV + Double orderConversionRate = CurrencyUtil.div(orderOverviewVO.getOrderNum(), orderOverviewVO.getUvNum(), 4); + if (orderConversionRate > 1) { + orderConversionRate = 1d; + } + orderOverviewVO.setOrderConversionRate(CurrencyUtil.mul(orderConversionRate, 100) + "%"); + //付款转换率 付款订单数/订单数 + Double paymentsConversionRate = CurrencyUtil.div(orderOverviewVO.getPaymentOrderNum(), orderOverviewVO.getOrderNum(), 4); + if (paymentsConversionRate > 1) { + paymentsConversionRate = 1d; + } + orderOverviewVO.setPaymentsConversionRate(CurrencyUtil.mul(paymentsConversionRate, 100) + "%"); + //整体转换率 付款数/UV + Double overallConversionRate = CurrencyUtil.div(orderOverviewVO.getPaymentOrderNum(), orderOverviewVO.getUvNum(), 4); + if (overallConversionRate > 1) { + overallConversionRate = 1d; + } + orderOverviewVO.setOverallConversionRate(CurrencyUtil.mul(overallConversionRate, 100) + "%"); + } + + @Override + public Integer orderNum(String orderStatus) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(StringUtils.isNotEmpty(orderStatus), Order::getOrderStatus, orderStatus); + queryWrapper.eq(StringUtils.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), + Order::getStoreId, UserContext.getCurrentUser().getStoreId()); + return this.count(queryWrapper); + } + + @Override + public List statisticsChart(StatisticsQueryParam statisticsQueryParam) { + Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); + QueryWrapper queryWrapper = new QueryWrapper(); + //已支付 + queryWrapper.eq("pay_status", PayStatusEnum.PAID.name()); + //选择商家判定 + queryWrapper.eq(StringUtils.isNotEmpty(statisticsQueryParam.getStoreId()), "store_id", statisticsQueryParam.getStoreId()); +// 查询时间区间 + queryWrapper.between("create_time", dates[0], dates[1]); +// 格式化时间 + queryWrapper.groupBy("DATE_FORMAT(create_time,'%Y-%m-%d')"); + List orderStatisticsDataVOS = this.baseMapper.getOrderStatisticsData(queryWrapper); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(dates[0]); + + List result = new ArrayList<>(); + //时间判定,将数据填充好 + //如果当前的时间,在结束时间之前 + while (calendar.getTime().before(dates[1])) { + OrderStatisticsDataVO item = null; + //判定是否已经有这一天的数据 + for (OrderStatisticsDataVO orderStatisticsDataVO : orderStatisticsDataVOS) { + if (orderStatisticsDataVO.getCreateTime().equals(calendar.getTime())) { + item = orderStatisticsDataVO; + } + } + //如果数据不存在,则进行数据填充 + if (item == null) { + item = new OrderStatisticsDataVO(); + item.setPrice(0d); + item.setCreateTime(calendar.getTime()); + } + result.add(item); + //增加时间 + calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + 1); + } + return result; + } + + @Override + public IPage getStatistics(StatisticsQueryParam statisticsQueryParam, PageVO pageVO) { + + QueryWrapper queryWrapper = new QueryWrapper<>(); + Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); + queryWrapper.between("o.create_time", dates[0], dates[1]); + queryWrapper.eq(StringUtils.isNotEmpty(statisticsQueryParam.getStoreId()), + "o.store_id", statisticsQueryParam.getStoreId()); + + queryWrapper.eq("o.delete_flag", false); + queryWrapper.groupBy("o.id"); + queryWrapper.orderByDesc("o.id"); + return this.baseMapper.queryByParams(PageUtil.initPage(pageVO), queryWrapper); + } + + private QueryWrapper getQueryWrapper(StatisticsQueryParam statisticsQueryParam) { + + QueryWrapper queryWrapper = Wrappers.query(); + + Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); + queryWrapper.between("create_time", dates[0], dates[1]); + + //设置店铺ID + queryWrapper.eq(StringUtils.isNotEmpty(statisticsQueryParam.getStoreId()), "store_id", statisticsQueryParam.getStoreId()); + + + //设置为付款查询 + queryWrapper.eq("flow_type", FlowTypeEnum.PAY.name()); + + return queryWrapper; + } + +} diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewDataServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewServiceImpl.java similarity index 95% rename from framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewDataServiceImpl.java rename to framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewServiceImpl.java index 3dcf50e1..d0db1cb9 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewDataServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewServiceImpl.java @@ -2,21 +2,21 @@ package cn.lili.modules.statistics.serviceimpl; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; +import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; +import cn.lili.common.properties.StatisticsProperties; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.CurrencyUtil; -import cn.lili.common.properties.StatisticsProperties; -import cn.lili.common.enums.ClientTypeEnum; import cn.lili.modules.member.entity.vo.MemberDistributionVO; -import cn.lili.modules.member.service.MemberService; -import cn.lili.modules.statistics.mapper.PlatformViewDataMapper; import cn.lili.modules.statistics.entity.dos.PlatformViewData; import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; import cn.lili.modules.statistics.entity.enums.SearchTypeEnum; import cn.lili.modules.statistics.entity.vo.OnlineMemberVO; import cn.lili.modules.statistics.entity.vo.PlatformViewVO; -import cn.lili.modules.statistics.service.PlatformViewDataService; +import cn.lili.modules.statistics.mapper.PlatformViewMapper; +import cn.lili.modules.statistics.service.MemberStatisticsService; +import cn.lili.modules.statistics.service.PlatformViewService; import cn.lili.modules.statistics.util.StatisticsDateUtil; import cn.lili.modules.statistics.util.StatisticsSuffix; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -42,7 +42,8 @@ import java.util.List; * 2021/1/18 12:07 */ @Service -public class PlatformViewDataServiceImpl extends ServiceImpl implements PlatformViewDataService { +public class PlatformViewServiceImpl extends ServiceImpl implements PlatformViewService { + /** * 在线人数统计 */ @@ -52,7 +53,7 @@ public class PlatformViewDataServiceImpl extends ServiceImpl) cache.get(CachePrefix.MEMBER_DISTRIBUTION.getPrefix()); } - List memberDistributionVOS = memberService.distribution(); + List memberDistributionVOS = memberStatisticsService.distribution(); //统计总数 int count = 0; @@ -249,7 +250,7 @@ public class PlatformViewDataServiceImpl extends ServiceImpl implements RefundOrderStatisticsService { +public class RefundOrderStatisticsServiceImpl extends ServiceImpl implements RefundOrderStatisticsService { @Override public IPage getRefundOrderStatisticsData(PageVO pageVO, StatisticsQueryParam statisticsQueryParam) { diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/SeckillStatisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/SeckillStatisticsServiceImpl.java new file mode 100644 index 00000000..f683332f --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/SeckillStatisticsServiceImpl.java @@ -0,0 +1,33 @@ +package cn.lili.modules.statistics.serviceimpl; + +import cn.lili.modules.promotion.entity.dos.Seckill; +import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum; +import cn.lili.modules.statistics.mapper.SeckillStatisticsMapper; +import cn.lili.modules.statistics.service.SeckillStatisticsService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 秒杀活动统计 + * + * @author Chopper + * @since 2020/8/21 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class SeckillStatisticsServiceImpl extends ServiceImpl implements SeckillStatisticsService { + + + @Override + public Integer getApplyNum() { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + //秒杀申请时间未超过当前时间 + queryWrapper.ge(Seckill::getApplyEndTime, cn.hutool.core.date.DateUtil.date()); + queryWrapper.eq(Seckill::getPromotionStatus, PromotionsStatusEnum.NEW.name()); + return this.count(queryWrapper); + } + +} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/OrderStatisticsDataServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/StoreFlowStatisticsServiceImpl.java similarity index 52% rename from framework/src/main/java/cn/lili/modules/statistics/serviceimpl/OrderStatisticsDataServiceImpl.java rename to framework/src/main/java/cn/lili/modules/statistics/serviceimpl/StoreFlowStatisticsServiceImpl.java index 12d1187b..bb31a7d9 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/OrderStatisticsDataServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/StoreFlowStatisticsServiceImpl.java @@ -3,57 +3,92 @@ package cn.lili.modules.statistics.serviceimpl; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; -import cn.lili.common.utils.CurrencyUtil; -import cn.lili.common.utils.DateUtil; import cn.lili.common.utils.StringUtils; -import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.StoreFlow; import cn.lili.modules.order.order.entity.enums.FlowTypeEnum; -import cn.lili.modules.order.order.entity.enums.PayStatusEnum; -import cn.lili.modules.order.order.service.OrderService; -import cn.lili.modules.statistics.mapper.OrderStatisticsDataMapper; +import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam; import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; +import cn.lili.modules.statistics.entity.enums.StatisticsQuery; +import cn.lili.modules.statistics.entity.vo.CategoryStatisticsDataVO; +import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO; import cn.lili.modules.statistics.entity.vo.OrderOverviewVO; -import cn.lili.modules.statistics.entity.vo.OrderStatisticsDataVO; -import cn.lili.modules.statistics.service.OrderStatisticsDataService; -import cn.lili.modules.statistics.service.PlatformViewDataService; +import cn.lili.modules.statistics.entity.vo.StoreStatisticsDataVO; +import cn.lili.modules.statistics.mapper.StoreFlowStatisticsMapper; +import cn.lili.modules.statistics.service.OrderStatisticsService; +import cn.lili.modules.statistics.service.StoreFlowStatisticsService; import cn.lili.modules.statistics.util.StatisticsDateUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.*; +import java.util.Date; +import java.util.List; +import java.util.Map; /** - * 订单统计业务层实现 + * 商品统计业务层实现 * * @author Bulbasaur - * @since 2020/12/9 17:16 + * @since 2020/12/9 11:30 */ @Service -public class OrderStatisticsDataServiceImpl extends ServiceImpl implements OrderStatisticsDataService { - /** - * 平台PV统计 - */ +public class StoreFlowStatisticsServiceImpl extends ServiceImpl implements StoreFlowStatisticsService { + + @Autowired - private PlatformViewDataService platformViewDataService; - /** - * 订单 - */ - @Autowired - private OrderService orderService; + private OrderStatisticsService orderStatisticsService; + @Override + public List getGoodsStatisticsData(GoodsStatisticsQueryParam goodsStatisticsQueryParam, Integer num) { + //获取查询条件 + QueryWrapper queryWrapper = getQueryWrapper(goodsStatisticsQueryParam); + //根据商品分组 + queryWrapper.groupBy("goods_id"); + queryWrapper.groupBy("goods_name"); + + queryWrapper.eq(!StringUtils.isEmpty(goodsStatisticsQueryParam.getStoreId()), "store_id", goodsStatisticsQueryParam.getStoreId()); + //查询前X记录 + Page page = new Page(1, num); + return this.baseMapper.getGoodsStatisticsData(page, queryWrapper); + } @Override - public OrderOverviewVO overview(StatisticsQueryParam statisticsQueryParam) { - Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); + public List getCategoryStatisticsData(GoodsStatisticsQueryParam goodsStatisticsQueryParam) { + //获取查询条件 + QueryWrapper queryWrapper = getQueryWrapper(goodsStatisticsQueryParam); + //根据分类分组 + queryWrapper.groupBy("category_id"); + return this.baseMapper.getCateGoryStatisticsData(queryWrapper); + } - OrderOverviewVO orderOverviewVO = new OrderOverviewVO(); - //访客数 - orderOverviewVO.setUvNum(platformViewDataService.countUv(statisticsQueryParam)); + @Override + public List getStoreStatisticsData(Page page, QueryWrapper queryWrapper) { + return this.baseMapper.getStoreStatisticsData(page, queryWrapper); + } + @Override + public Map getOrderStatisticsPrice() { + QueryWrapper queryWrapper = Wrappers.query(); + //支付订单 + queryWrapper.eq("flow_type", FlowTypeEnum.PAY.name()); + + //商家查询,则增加商家判定 + AuthUser authUser = UserContext.getCurrentUser(); + if (authUser.getRole().equals(UserEnums.STORE)) { + queryWrapper.eq("store_id", authUser.getStoreId()); + } + //大于今天凌晨 + queryWrapper.ge("create_time", cn.lili.common.utils.DateUtil.startOfTodDayTime()); + + queryWrapper.select("SUM(final_price) AS price , COUNT(0) AS num"); + return this.getMap(queryWrapper); + } + + + @Override + public void overview(Date[] dates, OrderOverviewVO orderOverviewVO, StatisticsQueryParam statisticsQueryParam) { //下单统计 initOrder(dates, orderOverviewVO, statisticsQueryParam); @@ -62,37 +97,6 @@ public class OrderStatisticsDataServiceImpl extends ServiceImpl 1) { - orderConversionRate = 1d; - } - orderOverviewVO.setOrderConversionRate(CurrencyUtil.mul(orderConversionRate, 100) + "%"); - //付款转换率 付款订单数/订单数 - Double paymentsConversionRate = CurrencyUtil.div(orderOverviewVO.getPaymentOrderNum(), orderOverviewVO.getOrderNum(), 4); - if (paymentsConversionRate > 1) { - paymentsConversionRate = 1d; - } - orderOverviewVO.setPaymentsConversionRate(CurrencyUtil.mul(paymentsConversionRate, 100) + "%"); - //整体转换率 付款数/UV - Double overallConversionRate = CurrencyUtil.div(orderOverviewVO.getPaymentOrderNum(), orderOverviewVO.getUvNum(), 4); - if (overallConversionRate > 1) { - overallConversionRate = 1d; - } - orderOverviewVO.setOverallConversionRate(CurrencyUtil.mul(overallConversionRate, 100) + "%"); } /** @@ -113,7 +117,7 @@ public class OrderStatisticsDataServiceImpl extends ServiceImpl getStoreOrderStatisticsPrice() { - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq(StringUtils.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), - "store_id", UserContext.getCurrentUser().getStoreId()); - queryWrapper.select("SUM(final_price) AS price , COUNT(0) AS num"); - return this.getMap(queryWrapper); - } - - @Override - public Map getOrderStatisticsPrice() { - QueryWrapper queryWrapper = Wrappers.query(); - //支付订单 - queryWrapper.eq("flow_type", FlowTypeEnum.PAY.name()); - - //商家查询,则增加商家判定 - AuthUser authUser = UserContext.getCurrentUser(); - if (authUser.getRole().equals(UserEnums.STORE)) { - queryWrapper.eq("store_id", authUser.getStoreId()); - } - //大于今天凌晨 - queryWrapper.ge("create_time", DateUtil.startOfTodDayTime()); - - queryWrapper.select("SUM(final_price) AS price , COUNT(0) AS num"); - return this.getMap(queryWrapper); - } - - @Override - public Integer orderNum(String orderStatus) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(StringUtils.isNotEmpty(orderStatus), Order::getOrderStatus, orderStatus); - queryWrapper.eq(StringUtils.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), - Order::getStoreId, UserContext.getCurrentUser().getStoreId()); - return orderService.count(queryWrapper); - } - - @Override - public List statisticsChart(StatisticsQueryParam statisticsQueryParam) { - Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); - QueryWrapper queryWrapper = new QueryWrapper(); - //已支付 - queryWrapper.eq("pay_status", PayStatusEnum.PAID.name()); - //选择商家判定 - queryWrapper.eq(StringUtils.isNotEmpty(statisticsQueryParam.getStoreId()), "store_id", statisticsQueryParam.getStoreId()); -// 查询时间区间 - queryWrapper.between("create_time", dates[0], dates[1]); -// 格式化时间 - queryWrapper.groupBy("DATE_FORMAT(create_time,'%Y-%m-%d')"); - List orderStatisticsDataVOS = this.baseMapper.getOrderStatisticsData(queryWrapper); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(dates[0]); - - List result = new ArrayList<>(); - //时间判定,将数据填充好 - //如果当前的时间,在结束时间之前 - while (calendar.getTime().before(dates[1])) { - OrderStatisticsDataVO item = null; - //判定是否已经有这一天的数据 - for (OrderStatisticsDataVO orderStatisticsDataVO : orderStatisticsDataVOS) { - if (orderStatisticsDataVO.getCreateTime().equals(calendar.getTime())) { - item = orderStatisticsDataVO; - } - } - //如果数据不存在,则进行数据填充 - if (item == null) { - item = new OrderStatisticsDataVO(); - item.setPrice(0d); - item.setCreateTime(calendar.getTime()); - } - result.add(item); - //增加时间 - calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + 1); - } - return result; - } - - private QueryWrapper getQueryWrapper(StatisticsQueryParam statisticsQueryParam) { + /** + * 组织查询条件 + * + * @param goodsStatisticsQueryParam + * @return + */ + private QueryWrapper getQueryWrapper(GoodsStatisticsQueryParam goodsStatisticsQueryParam) { QueryWrapper queryWrapper = Wrappers.query(); + //判断搜索类型是:年、月 + Date[] date = StatisticsDateUtil.getDateArray(goodsStatisticsQueryParam); + queryWrapper.between("create_time", date[0], date[1]); - Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); - queryWrapper.between("create_time", dates[0], dates[1]); - - //设置店铺ID - queryWrapper.eq(StringUtils.isNotEmpty(statisticsQueryParam.getStoreId()), "store_id", statisticsQueryParam.getStoreId()); - - + //判断是按照数量统计还是按照金额统计 + if (goodsStatisticsQueryParam.getType().equals(StatisticsQuery.PRICE.name())) { + queryWrapper.orderByDesc("price"); + } else { + queryWrapper.orderByDesc("num"); + } //设置为付款查询 queryWrapper.eq("flow_type", FlowTypeEnum.PAY.name()); - return queryWrapper; } diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/StoreStatisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/StoreStatisticsServiceImpl.java new file mode 100644 index 00000000..1fb8c7c9 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/StoreStatisticsServiceImpl.java @@ -0,0 +1,46 @@ +package cn.lili.modules.statistics.serviceimpl; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.lili.modules.statistics.mapper.StoreStatisticsMapper; +import cn.lili.modules.statistics.service.StoreStatisticsService; +import cn.lili.modules.store.entity.dos.Store; +import cn.lili.modules.store.entity.enums.StoreStatusEnum; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 商品统计业务层实现 + * + * @author Bulbasaur + * @since 2020/12/9 11:30 + */ +@Service +public class StoreStatisticsServiceImpl extends ServiceImpl implements StoreStatisticsService { + + + @Override + public Integer auditNum() { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(Store::getStoreDisable, StoreStatusEnum.APPLYING.name()); + return this.count(queryWrapper); + } + + @Override + public Integer storeNum() { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(Store::getStoreDisable, StoreStatusEnum.OPEN.name()); + return this.count(queryWrapper); + } + + @Override + public Integer todayStoreNum() { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(Store::getStoreDisable, StoreStatusEnum.OPEN.name()); + queryWrapper.ge(Store::getCreateTime, DateUtil.beginOfDay(new DateTime())); + return this.count(queryWrapper); + } + +} diff --git a/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreDetail.java b/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreDetail.java index 27948bd5..c9e4c359 100644 --- a/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreDetail.java +++ b/framework/src/main/java/cn/lili/modules/store/entity/dos/StoreDetail.java @@ -183,28 +183,9 @@ public class StoreDetail extends BaseIdEntity { public StoreDetail(Store store, AdminStoreApplyDTO adminStoreApplyDTO) { this.storeId = store.getId(); - //过滤字段值 - isNotNull(adminStoreApplyDTO); //设置店铺公司信息、设置店铺银行信息、设置店铺其他信息 BeanUtil.copyProperties(adminStoreApplyDTO, this); this.settlementDay = DateUtil.date(); this.stockWarning = 10; } - - public void isNotNull(AdminStoreApplyDTO adminStoreApplyDTO){ - if("null".equals(adminStoreApplyDTO.getSalesConsigneeName())){ - adminStoreApplyDTO.setSalesConsigneeName(""); - } - if("null".equals(adminStoreApplyDTO.getSalesConsigneeMobile())){ - adminStoreApplyDTO.setSalesConsigneeMobile(""); - } - if("null".equals(adminStoreApplyDTO.getSalesConsigneeDetail())){ - adminStoreApplyDTO.setSalesConsigneeDetail(""); - } - if("null".equals(adminStoreApplyDTO.getDdCode())){ - adminStoreApplyDTO.setDdCode(""); - } - } - - } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/entity/vos/StoreFlowRefundDownloadVO.java b/framework/src/main/java/cn/lili/modules/store/entity/vos/StoreFlowRefundDownloadVO.java index 303745c1..f76c92a4 100644 --- a/framework/src/main/java/cn/lili/modules/store/entity/vos/StoreFlowRefundDownloadVO.java +++ b/framework/src/main/java/cn/lili/modules/store/entity/vos/StoreFlowRefundDownloadVO.java @@ -1,64 +1,18 @@ package cn.lili.modules.store.entity.vos; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import org.springframework.data.annotation.CreatedDate; -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; /** * 店铺流水下载 + * * @author Bulbasaur * @date: 2021/8/13 4:14 下午 - * */ @Data -public class StoreFlowRefundDownloadVO { - - @CreatedDate - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @TableField(fill = FieldFill.INSERT) - @ApiModelProperty(value = "创建时间", hidden = true) - private Date createTime; - - @ApiModelProperty(value = "订单sn") - private String orderSn; +public class StoreFlowRefundDownloadVO extends StoreFlowPayDownloadVO { @ApiModelProperty(value = "售后SN") private String refundSn; - @ApiModelProperty(value = "店铺名称 ") - private String storeName; - - @ApiModelProperty(value = "商品名称") - private String goodsName; - - @ApiModelProperty(value = "销售量") - private Integer num; - - @ApiModelProperty(value = "流水金额") - private Double finalPrice; - - @ApiModelProperty(value = "平台收取交易佣金") - private Double commissionPrice; - - @ApiModelProperty(value = "平台优惠券 使用金额") - private Double siteCouponPrice; - - @ApiModelProperty(value = "单品分销返现支出") - private Double distributionRebate; - - @ApiModelProperty(value = "积分活动商品结算价格") - private Double pointSettlementPrice; - - @ApiModelProperty(value = "砍价活动商品结算价格") - private Double kanjiaSettlementPrice; - - @ApiModelProperty(value = "最终结算金额") - private Double billPrice; } diff --git a/framework/src/main/java/cn/lili/modules/store/mapper/StoreMapper.java b/framework/src/main/java/cn/lili/modules/store/mapper/StoreMapper.java index ab9594f0..7d115b53 100644 --- a/framework/src/main/java/cn/lili/modules/store/mapper/StoreMapper.java +++ b/framework/src/main/java/cn/lili/modules/store/mapper/StoreMapper.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; /** * 店铺数据处理层 @@ -37,4 +38,13 @@ public interface StoreMapper extends BaseMapper { IPage getStoreList(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + /** + * 修改店铺收藏数据 + * + * @param storeId 店铺id + * @param num 收藏数量 + */ + @Update("update li_store set collection_num = collection_num + #{num} where id = #{storeId}") + void updateCollection(String storeId, Integer num); + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/service/BillService.java b/framework/src/main/java/cn/lili/modules/store/service/BillService.java index 19b99429..5ffc1a8e 100644 --- a/framework/src/main/java/cn/lili/modules/store/service/BillService.java +++ b/framework/src/main/java/cn/lili/modules/store/service/BillService.java @@ -1,11 +1,8 @@ package cn.lili.modules.store.service; import cn.hutool.core.date.DateTime; -import cn.lili.common.vo.PageVO; -import cn.lili.modules.order.order.entity.dos.StoreFlow; import cn.lili.modules.store.entity.dos.Bill; import cn.lili.modules.store.entity.dto.BillSearchParams; -import cn.lili.modules.store.entity.enums.BillStatusEnum; import cn.lili.modules.store.entity.vos.BillListVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -42,25 +39,6 @@ public interface BillService extends IService { */ void immediatelyBill(String storeId, Long endTime); - /** - * 根据结算单ID获取商家流水 - * - * @param pageVO 分页 - * @param id 结算单ID - * @param type 类型 - * @return 商家流水 - */ - IPage getStoreFlow(String id, String type, PageVO pageVO); - - /** - * 根据结算单ID获取商家流水 - * - * @param pageVO 分页 - * @param id 结算单ID - * @return 商家流水 - */ - IPage getDistributionFlow(String id, PageVO pageVO); - /** * 获取结算单分页 * @@ -85,14 +63,6 @@ public interface BillService extends IService { */ boolean complete(String id); - /** - * 商家待结算数量 - * - * @param billStatusEnum 结算单类型 - * @return 待结算商家数量 - */ - Integer billNum(BillStatusEnum billStatusEnum); - /** * 下载结算单 * @response response diff --git a/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java b/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java index 8232dd2f..e90ccc9e 100644 --- a/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java +++ b/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java @@ -113,4 +113,11 @@ public interface StoreDetailService extends IService { * @param store 店铺信息 */ void updateStoreGoodsInfo(Store store); + + /** + * 修改店铺udesk字段设置 + * + * @param merchantEuid 店铺客服信息 + */ + Boolean editMerchantEuid(String merchantEuid); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/service/StoreService.java b/framework/src/main/java/cn/lili/modules/store/service/StoreService.java index 0fa2ab0b..d25a618d 100644 --- a/framework/src/main/java/cn/lili/modules/store/service/StoreService.java +++ b/framework/src/main/java/cn/lili/modules/store/service/StoreService.java @@ -1,6 +1,7 @@ package cn.lili.modules.store.service; import cn.lili.common.vo.PageVO; +import cn.lili.modules.member.entity.dto.CollectionDTO; import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.entity.dto.*; import cn.lili.modules.store.entity.vos.StoreSearchParams; @@ -101,26 +102,6 @@ public interface StoreService extends IService { */ boolean applyThirdStep(StoreOtherInfoDTO storeOtherInfoDTO); - /** - * 获取待审核店铺数量 - * - * @return 待审核店铺数量 - */ - Integer auditNum(); - - /** - * 获取所有店铺数量 - * - * @return 店铺总数 - */ - Integer storeNum(); - - /** - * 获取今天的店铺数量 - * - * @return 今天的店铺数量 - */ - Integer todayStoreNum(); /** * 更新店铺商品数量 @@ -132,7 +113,7 @@ public interface StoreService extends IService { /** * 更新店铺收藏数量 * - * @param goodsId 店铺ID + * @param collectionDTO 收藏信息 */ - void updateStoreCollectionNum(String goodsId); + void updateStoreCollectionNum(CollectionDTO collectionDTO); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java index d25ae1e8..c0c9c04b 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java @@ -11,11 +11,8 @@ import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.SnowFlake; -import cn.lili.common.utils.StringUtils; -import cn.lili.common.vo.PageVO; -import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.order.order.entity.dto.StoreFlowQueryDTO; import cn.lili.modules.order.order.entity.enums.FlowTypeEnum; -import cn.lili.modules.order.order.mapper.StoreFlowMapper; import cn.lili.modules.order.order.service.StoreFlowService; import cn.lili.modules.store.entity.dos.Bill; import cn.lili.modules.store.entity.dto.BillSearchParams; @@ -28,7 +25,6 @@ import cn.lili.modules.store.mapper.BillMapper; import cn.lili.modules.store.service.BillService; import cn.lili.modules.store.service.StoreDetailService; import cn.lili.mybatis.util.PageUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -39,7 +35,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.net.URLEncoder; @@ -66,8 +61,6 @@ public class BillServiceImpl extends ServiceImpl implements Bi */ @Autowired private StoreFlowService storeFlowService; - @Resource - private StoreFlowMapper storeFlowMapper; @Override public void createBill(String storeId, Date startTime, DateTime endTime) { @@ -163,18 +156,6 @@ public class BillServiceImpl extends ServiceImpl implements Bi // this.createBill(storeId, startTime, endTime); } - @Override - public IPage getStoreFlow(String id, String type, PageVO pageVO) { - Bill bill = this.getById(id); - return storeFlowService.getStoreFlow(bill.getStoreId(), type, false, pageVO, bill.getStartTime(), bill.getCreateTime()); - } - - @Override - public IPage getDistributionFlow(String id, PageVO pageVO) { - Bill bill = this.getById(id); - return storeFlowService.getStoreFlow(bill.getStoreId(), null, true, pageVO, bill.getStartTime(), bill.getCreateTime()); - } - @Override public IPage billPage(BillSearchParams billSearchParams) { QueryWrapper queryWrapper = billSearchParams.queryWrapper(); @@ -215,15 +196,6 @@ public class BillServiceImpl extends ServiceImpl implements Bi return this.update(lambdaUpdateWrapper); } - @Override - public Integer billNum(BillStatusEnum billStatusEnum) { - LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate(); - lambdaUpdateWrapper.eq(Bill::getBillStatus, billStatusEnum.name()); - lambdaUpdateWrapper.eq(StringUtils.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), - Bill::getStoreId, UserContext.getCurrentUser().getStoreId()); - return this.count(lambdaUpdateWrapper); - } - @Override public void download(HttpServletResponse response, String id) { @@ -251,12 +223,8 @@ public class BillServiceImpl extends ServiceImpl implements Bi writer.addHeaderAlias("billPrice", "应结金额"); writer.setColumnWidth(11, 20); - //存放入账列表 - LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); - lambdaQueryWrapper.eq(StoreFlow::getStoreId, bill.getStoreId()); - lambdaQueryWrapper.between(StoreFlow::getCreateTime, bill.getStartTime(), bill.getCreateTime()); - lambdaQueryWrapper.eq(StoreFlow::getFlowType, FlowTypeEnum.PAY.name()); - List storeFlowList = storeFlowMapper.getStoreFlowPayDownloadVO(lambdaQueryWrapper); + + List storeFlowList = storeFlowService.getStoreFlowPayDownloadVO(StoreFlowQueryDTO.builder().type(FlowTypeEnum.PAY.name()).bill(bill).build()); writer.write(storeFlowList, true); writer.setSheet("退款订单"); @@ -283,12 +251,10 @@ public class BillServiceImpl extends ServiceImpl implements Bi writer.addHeaderAlias("billPrice", "结算金额"); writer.setColumnWidth(12, 20); - //存放入账列表 - LambdaQueryWrapper storeFlowlambdaQueryWrapper = Wrappers.lambdaQuery(); - storeFlowlambdaQueryWrapper.eq(StoreFlow::getStoreId, bill.getStoreId()); - storeFlowlambdaQueryWrapper.between(StoreFlow::getCreateTime, bill.getStartTime(), bill.getCreateTime()); - storeFlowlambdaQueryWrapper.eq(StoreFlow::getFlowType, FlowTypeEnum.PAY.name()); - List storeFlowRefundDownloadVOList = storeFlowMapper.getStoreFlowRefundDownloadVO(storeFlowlambdaQueryWrapper); + + List storeFlowRefundDownloadVOList = storeFlowService.getStoreFlowRefundDownloadVO( + StoreFlowQueryDTO.builder().type(FlowTypeEnum.REFUND.name()).bill(bill).build() + ); writer.write(storeFlowRefundDownloadVOList, true); ServletOutputStream out = null; diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java index 5c752d51..99799f78 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java @@ -7,11 +7,8 @@ import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.BeanUtil; import cn.lili.modules.goods.entity.dos.Category; -import cn.lili.modules.goods.entity.dos.Goods; -import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.service.CategoryService; import cn.lili.modules.goods.service.GoodsService; -import cn.lili.modules.goods.service.GoodsSkuService; import cn.lili.modules.search.utils.EsIndexUtil; import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.entity.dos.StoreDetail; @@ -64,9 +61,6 @@ public class StoreDetailServiceImpl extends ServiceImpl() - .eq(Goods::getStoreId, store.getId()) - .set(Goods::getStoreName, store.getStoreName()) - .set(Goods::getSelfOperated, store.getSelfOperated())); - goodsSkuService.update(new LambdaUpdateWrapper() - .eq(GoodsSku::getStoreId, store.getId()) - .set(GoodsSku::getStoreName, store.getStoreName()) - .set(GoodsSku::getSelfOperated, store.getSelfOperated())); + goodsService.updateStoreDetail(store); Map updateIndexFieldsMap = EsIndexUtil.getUpdateIndexFieldsMap( MapUtil.builder().put("storeId", store.getId()).build(), @@ -123,6 +110,14 @@ public class StoreDetailServiceImpl extends ServiceImpl implements */ @Autowired private GoodsService goodsService; - /** - * 商品SKU - */ - @Autowired - private GoodsSkuService goodsSkuService; /** * 店铺详情 */ @Autowired private StoreDetailService storeDetailService; - /** - * 页面 - */ - @Autowired - private PageDataService pageDataService; - /** - * 店铺收藏 - */ - @Autowired - private StoreCollectionService storeCollectionService; @Override public IPage findByConditionPage(StoreSearchParams storeSearchParams, PageVO page) { @@ -115,6 +93,7 @@ public class StoreServiceImpl extends ServiceImpl implements if (Boolean.TRUE.equals(member.getHaveStore())) { throw new ServiceException(ResultCode.STORE_APPLY_DOUBLE_ERROR); } + //添加店铺 Store store = new Store(member, adminStoreApplyDTO); this.save(store); @@ -187,8 +166,6 @@ public class StoreServiceImpl extends ServiceImpl implements } if (passed == 0) { store.setStoreDisable(StoreStatusEnum.OPEN.value()); - //添加店铺页面 - pageDataService.addStorePageData(store.getId()); //修改会员 表示已有店铺 Member member = memberService.getById(store.getMemberId()); member.setHaveStore(true); @@ -289,36 +266,10 @@ public class StoreServiceImpl extends ServiceImpl implements store.setStoreLogo(storeOtherInfoDTO.getStoreLogo()); return this.updateById(store); } - - @Override - public Integer auditNum() { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(Store::getStoreDisable, StoreStatusEnum.APPLYING.name()); - return this.count(queryWrapper); - } - - @Override - public Integer storeNum() { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(Store::getStoreDisable, StoreStatusEnum.OPEN.name()); - return this.count(queryWrapper); - } - - @Override - public Integer todayStoreNum() { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(Store::getStoreDisable, StoreStatusEnum.OPEN.name()); - queryWrapper.ge(Store::getCreateTime, DateUtil.beginOfDay(new DateTime())); - return this.count(queryWrapper); - } - @Override public void updateStoreGoodsNum(String storeId) { //获取店铺已上架已审核通过商品数量 - Integer goodsNum = goodsService.count(new LambdaQueryWrapper() - .eq(Goods::getStoreId, storeId) - .eq(Goods::getIsAuth, GoodsAuthEnum.PASS.name()) - .eq(Goods::getMarketEnable, GoodsStatusEnum.UPPER.name())); + Integer goodsNum = goodsService.countStoreGoodsNum(storeId); //修改店铺商品数量 this.update(new LambdaUpdateWrapper() .set(Store::getGoodsNum, goodsNum) @@ -326,15 +277,8 @@ public class StoreServiceImpl extends ServiceImpl implements } @Override - public void updateStoreCollectionNum(String goodsId) { - String storeId = goodsSkuService.getById(goodsId).getStoreId(); - //获取店铺收藏数量 - Integer collectionNum = storeCollectionService.count(new LambdaQueryWrapper() - .eq(StoreCollection::getStoreId, storeId)); - //修改店铺收藏数量 - this.update(new LambdaUpdateWrapper() - .set(Store::getCollectionNum, collectionNum) - .eq(Store::getId, storeId)); + public void updateStoreCollectionNum(CollectionDTO collectionDTO) { + baseMapper.updateCollection(collectionDTO.getId(), collectionDTO.getNum()); } /** diff --git a/framework/src/main/java/cn/lili/modules/system/service/SensitiveWordsService.java b/framework/src/main/java/cn/lili/modules/system/service/SensitiveWordsService.java index 239fa94d..ac772590 100644 --- a/framework/src/main/java/cn/lili/modules/system/service/SensitiveWordsService.java +++ b/framework/src/main/java/cn/lili/modules/system/service/SensitiveWordsService.java @@ -11,5 +11,9 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface SensitiveWordsService extends IService { + /** + * 重新写入缓存 + */ + void resetCache(); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/system/serviceimpl/SensitiveWordsServiceImpl.java b/framework/src/main/java/cn/lili/modules/system/serviceimpl/SensitiveWordsServiceImpl.java index 9a16a185..3205aef6 100644 --- a/framework/src/main/java/cn/lili/modules/system/serviceimpl/SensitiveWordsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/system/serviceimpl/SensitiveWordsServiceImpl.java @@ -1,13 +1,16 @@ package cn.lili.modules.system.serviceimpl; +import cn.lili.cache.Cache; +import cn.lili.cache.CachePrefix; import cn.lili.modules.system.entity.dos.SensitiveWords; import cn.lili.modules.system.mapper.SensitiveWordsMapper; import cn.lili.modules.system.service.SensitiveWordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; /** * 敏感词业务层实现 @@ -17,5 +20,17 @@ import org.springframework.transaction.annotation.Transactional; */ @Service public class SensitiveWordsServiceImpl extends ServiceImpl implements SensitiveWordsService { + @Autowired + private Cache> cache; + @Override + public void resetCache() { + List sensitiveWordsList = this.list(); + + if (sensitiveWordsList == null || sensitiveWordsList.isEmpty()) { + return; + } + List sensitiveWords = sensitiveWordsList.stream().map(SensitiveWords::getSensitiveWord).collect(Collectors.toList()); + cache.put(CachePrefix.SENSITIVE.getPrefix(), sensitiveWords); + } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/system/token/ManagerTokenGenerate.java b/framework/src/main/java/cn/lili/modules/system/token/ManagerTokenGenerate.java index 850560a9..aa9ec8e3 100644 --- a/framework/src/main/java/cn/lili/modules/system/token/ManagerTokenGenerate.java +++ b/framework/src/main/java/cn/lili/modules/system/token/ManagerTokenGenerate.java @@ -68,40 +68,40 @@ public class ManagerTokenGenerate extends AbstractTokenGenerate { */ private Map> permissionList(List userMenuVOList) { Map> permission = new HashMap<>(2); - if (userMenuVOList == null || userMenuVOList.size() == 0) { - return permission; - } + List superPermissions = new ArrayList<>(); List queryPermissions = new ArrayList<>(); initPermission(superPermissions, queryPermissions); //循环权限菜单 - userMenuVOList.forEach(menu -> { - //循环菜单,赋予用户权限 - if (StrUtil.isNotEmpty(menu.getPermission())) { - //获取路径集合 - String[] permissionUrl = menu.getPermission().split(","); - //for循环路径集合 - for (String url : permissionUrl) { - //如果是超级权限 则计入超级权限 - if (menu.getSuper()) { - //如果已有超级权限,则这里就不做权限的累加 - if (!superPermissions.contains(url)) { - superPermissions.add(url); + if (userMenuVOList == null || userMenuVOList.isEmpty()) { + userMenuVOList.forEach(menu -> { + //循环菜单,赋予用户权限 + if (StrUtil.isNotEmpty(menu.getPermission())) { + //获取路径集合 + String[] permissionUrl = menu.getPermission().split(","); + //for循环路径集合 + for (String url : permissionUrl) { + //如果是超级权限 则计入超级权限 + if (menu.getSuper()) { + //如果已有超级权限,则这里就不做权限的累加 + if (!superPermissions.contains(url)) { + superPermissions.add(url); + } } - } - //否则计入浏览权限 - else { - //没有权限,则累加。 - if (!queryPermissions.contains(url)) { - queryPermissions.add(url); + //否则计入浏览权限 + else { + //没有权限,则累加。 + if (!queryPermissions.contains(url)) { + queryPermissions.add(url); + } } } } - } - //去除重复的权限 - queryPermissions.removeAll(superPermissions); - }); + //去除重复的权限 + queryPermissions.removeAll(superPermissions); + }); + } permission.put(PermissionEnum.SUPER.name(), superPermissions); permission.put(PermissionEnum.QUERY.name(), queryPermissions); return permission; diff --git a/framework/src/main/java/cn/lili/modules/system/utils/CharacterConstant.java b/framework/src/main/java/cn/lili/modules/system/utils/CharacterConstant.java deleted file mode 100644 index 44749097..00000000 --- a/framework/src/main/java/cn/lili/modules/system/utils/CharacterConstant.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.lili.modules.system.utils; - -/** - * - * 字符常量 - * @author Bulbasaur - * @version v1.0 - * @since v1.0 - * 2020-02-25 14:10:16 - */ -public class CharacterConstant { - - - /** - * 字符* - */ - public final static char WILDCARD_STAR = '*'; - - -} diff --git a/framework/src/main/java/cn/lili/modules/system/utils/HttpUtils.java b/framework/src/main/java/cn/lili/modules/system/utils/HttpUtils.java deleted file mode 100644 index 8f01aaf8..00000000 --- a/framework/src/main/java/cn/lili/modules/system/utils/HttpUtils.java +++ /dev/null @@ -1,243 +0,0 @@ -package cn.lili.modules.system.utils; - -import com.alibaba.fastjson.JSONObject; -import lombok.extern.slf4j.Slf4j; - -import java.io.*; -import java.net.HttpURLConnection; -import java.net.URL; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; -import java.util.Iterator; -import java.util.Map; - -/** - * Http工具 - * - * @author pikachu - * @since 2018/3/13 - */ -@Slf4j -public final class HttpUtils { - - public static final int HTTP_CONN_TIMEOUT = 100000; - public static final int HTTP_SOCKET_TIMEOUT = 100000; - - public static String doPost(String reqUrl, Map parameters, String encoding, int connectTimeout, - int readTimeout) { - HttpURLConnection urlConn = null; - try { - urlConn = sendPost(reqUrl, parameters, encoding, connectTimeout, readTimeout); - String responseContent = getContent(urlConn, encoding); - return responseContent.trim(); - } finally { - if (urlConn != null) { - urlConn.disconnect(); - - } - } - } - - /** - * post携带json请求 - * - * @param reqUrl 请求地址 - * @param jsonParameters 参数 - * @return - */ - public static String doPostWithJson(String reqUrl, Map jsonParameters) { - - BufferedReader reader = null; - try { - //创建连接 - URL url = new URL(reqUrl); - HttpURLConnection connection = (HttpURLConnection) url.openConnection(); - connection.setDoOutput(true); - connection.setDoInput(true); - connection.setUseCaches(false); - connection.setInstanceFollowRedirects(true); - //设置请求方式 - connection.setRequestMethod("POST"); - //设置发送数据的格式 - connection.setRequestProperty("Content-Type", "application/json"); - connection.connect(); - //一定要用BufferedReader 来接收响应, 使用字节来接收响应的方法是接收不到内容的 - //utf-8编码 - OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), StandardCharsets.UTF_8); - out.append(JSONObject.toJSONString(jsonParameters)); - out.flush(); - out.close(); - //读取响应 - reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8)); - String line; - String res = ""; - while ((line = reader.readLine()) != null) { - res += line; - } - reader.close(); - - return res; - } catch (IOException e) { - log.error("post请求错误", e); - } - //自定义错误信息 - return "error"; - - } - - /** - * post携带json请求 - * - * @param reqUrl 请求地址 - * @param object 对象 - * @return - */ - public static String doPostWithJson(String reqUrl, Object object) { - - BufferedReader reader = null; - try { - //创建连接 - URL url = new URL(reqUrl); - HttpURLConnection connection = (HttpURLConnection) url.openConnection(); - connection.setDoOutput(true); - connection.setDoInput(true); - connection.setUseCaches(false); - connection.setInstanceFollowRedirects(true); - //设置请求方式 - connection.setRequestMethod("POST"); - //设置发送数据的格式 - connection.setRequestProperty("Content-Type", "application/json"); - connection.connect(); - //一定要用BufferedReader 来接收响应, 使用字节来接收响应的方法是接收不到内容的 - //utf-8编码 - OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), StandardCharsets.UTF_8); - out.append(JSONObject.toJSONString(object)); - out.flush(); - out.close(); - //读取响应 - reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8)); - String line; - String res = ""; - while ((line = reader.readLine()) != null) { - res += line; - } - reader.close(); - - return res; - } catch (IOException e) { - log.error("post错误", e); - } - //自定义错误信息 - return "error"; - - } - - private static HttpURLConnection sendPost(String reqUrl, - Map parameters, String encoding, int connectTimeout, int readTimeout) { - HttpURLConnection urlConn = null; - try { - String params = generatorParamString(parameters, encoding); - URL url = new URL(reqUrl); - urlConn = (HttpURLConnection) url.openConnection(); - urlConn.setRequestMethod("POST"); - //(单位:毫秒)jdk - urlConn.setConnectTimeout(connectTimeout); - //(单位:毫秒)jdk 1.5换成这个,读操作超时 - urlConn.setReadTimeout(readTimeout); - urlConn.setDoOutput(true); - //String按照字节处理是一个好方法 - byte[] b = params.getBytes(encoding); - urlConn.getOutputStream().write(b, 0, b.length); - urlConn.getOutputStream().flush(); - urlConn.getOutputStream().close(); - } catch (Exception e) { - throw new RuntimeException(e.getMessage(), e); - } - return urlConn; - } - - private static String getContent(HttpURLConnection urlConn, String encoding) { - try { - String responseContent = null; - InputStream in = urlConn.getInputStream(); - BufferedReader rd = new BufferedReader(new InputStreamReader(in, encoding)); - String tempLine = rd.readLine(); - StringBuffer tempStr = new StringBuffer(); - String crlf = System.getProperty("line.separator"); - while (tempLine != null) { - tempStr.append(tempLine); - tempStr.append(crlf); - tempLine = rd.readLine(); - } - responseContent = tempStr.toString(); - rd.close(); - in.close(); - return responseContent; - } catch (Exception e) { - throw new RuntimeException(e.getMessage(), e); - } - } - - /** - * @param link - * @param encoding - * @return - */ - public static String doGet(String link, String encoding, int connectTimeout, int readTimeout) { - HttpURLConnection conn = null; - try { - URL url = new URL(link); - conn = (HttpURLConnection) url.openConnection(); - conn.setRequestMethod("GET"); - conn.setConnectTimeout(connectTimeout); - conn.setReadTimeout(readTimeout); - BufferedInputStream in = new BufferedInputStream( - conn.getInputStream()); - ByteArrayOutputStream out = new ByteArrayOutputStream(); - byte[] buf = new byte[1024]; - for (int i = 0; (i = in.read(buf)) > 0; ) { - out.write(buf, 0, i); - } - out.flush(); - String s = out.toString(encoding); - return s; - } catch (Exception e) { - throw new RuntimeException(e.getMessage(), e); - } finally { - if (conn != null) { - conn.disconnect(); - conn = null; - } - } - } - - /** - * 将parameters中数据转换成用"&"链接的http请求参数形式 - * - * @param parameters - * @return - */ - private static String generatorParamString(Map parameters, String encoding) { - StringBuffer params = new StringBuffer(); - if (parameters != null) { - for (Iterator iter = parameters.keySet().iterator(); iter - .hasNext(); ) { - String name = iter.next(); - String value = parameters.get(name); - params.append(name + "="); - try { - params.append(URLEncoder.encode(value, encoding)); - } catch (UnsupportedEncodingException e) { - throw new RuntimeException(e.getMessage(), e); - } catch (Exception e) { - String message = String.format("'%s'='%s'", name, value); - throw new RuntimeException(message, e); - } - if (iter.hasNext()) { - params.append("&"); - } - } - } - return params.toString(); - } -} \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/verification/aop/VerificationInterceptor.java b/framework/src/main/java/cn/lili/modules/verification/aop/VerificationInterceptor.java index 0948babd..913fcb25 100644 --- a/framework/src/main/java/cn/lili/modules/verification/aop/VerificationInterceptor.java +++ b/framework/src/main/java/cn/lili/modules/verification/aop/VerificationInterceptor.java @@ -3,7 +3,7 @@ package cn.lili.modules.verification.aop; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.modules.verification.aop.annotation.Verification; -import cn.lili.modules.verification.enums.VerificationEnums; +import cn.lili.modules.verification.entity.enums.VerificationEnums; import cn.lili.modules.verification.service.VerificationService; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.JoinPoint; diff --git a/framework/src/main/java/cn/lili/modules/verification/aop/annotation/Verification.java b/framework/src/main/java/cn/lili/modules/verification/aop/annotation/Verification.java index a6bd95e0..26b79aa2 100644 --- a/framework/src/main/java/cn/lili/modules/verification/aop/annotation/Verification.java +++ b/framework/src/main/java/cn/lili/modules/verification/aop/annotation/Verification.java @@ -1,7 +1,7 @@ package cn.lili.modules.verification.aop.annotation; -import cn.lili.modules.verification.enums.VerificationEnums; +import cn.lili.modules.verification.entity.enums.VerificationEnums; import java.lang.annotation.*; diff --git a/framework/src/main/java/cn/lili/modules/verification/enums/VerificationEnums.java b/framework/src/main/java/cn/lili/modules/verification/entity/enums/VerificationEnums.java similarity index 86% rename from framework/src/main/java/cn/lili/modules/verification/enums/VerificationEnums.java rename to framework/src/main/java/cn/lili/modules/verification/entity/enums/VerificationEnums.java index 4825c9a6..48b6b92b 100644 --- a/framework/src/main/java/cn/lili/modules/verification/enums/VerificationEnums.java +++ b/framework/src/main/java/cn/lili/modules/verification/entity/enums/VerificationEnums.java @@ -1,4 +1,4 @@ -package cn.lili.modules.verification.enums; +package cn.lili.modules.verification.entity.enums; /** * VerificationEnums diff --git a/framework/src/main/java/cn/lili/modules/verification/service/VerificationService.java b/framework/src/main/java/cn/lili/modules/verification/service/VerificationService.java index 44c3f836..40d709c5 100644 --- a/framework/src/main/java/cn/lili/modules/verification/service/VerificationService.java +++ b/framework/src/main/java/cn/lili/modules/verification/service/VerificationService.java @@ -1,6 +1,6 @@ package cn.lili.modules.verification.service; -import cn.lili.modules.verification.enums.VerificationEnums; +import cn.lili.modules.verification.entity.enums.VerificationEnums; import java.io.IOException; import java.util.Map; diff --git a/framework/src/main/java/cn/lili/modules/verification/service/impl/VerificationServiceImpl.java b/framework/src/main/java/cn/lili/modules/verification/service/impl/VerificationServiceImpl.java index c5449bc6..8cb4b56e 100644 --- a/framework/src/main/java/cn/lili/modules/verification/service/impl/VerificationServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/verification/service/impl/VerificationServiceImpl.java @@ -7,12 +7,12 @@ import cn.lili.common.exception.ServiceException; import cn.lili.common.properties.VerificationCodeProperties; import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.SerializableStream; +import cn.lili.modules.verification.SliderImageUtil; import cn.lili.modules.verification.entity.dos.VerificationSource; import cn.lili.modules.verification.entity.dto.VerificationDTO; -import cn.lili.modules.verification.service.VerificationSourceService; -import cn.lili.modules.verification.SliderImageUtil; -import cn.lili.modules.verification.enums.VerificationEnums; +import cn.lili.modules.verification.entity.enums.VerificationEnums; import cn.lili.modules.verification.service.VerificationService; +import cn.lili.modules.verification.service.VerificationSourceService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dos/MemberWallet.java b/framework/src/main/java/cn/lili/modules/wallet/entity/dos/MemberWallet.java similarity index 95% rename from framework/src/main/java/cn/lili/modules/member/entity/dos/MemberWallet.java rename to framework/src/main/java/cn/lili/modules/wallet/entity/dos/MemberWallet.java index 9b7dab44..cf9fdfe8 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dos/MemberWallet.java +++ b/framework/src/main/java/cn/lili/modules/wallet/entity/dos/MemberWallet.java @@ -1,4 +1,4 @@ -package cn.lili.modules.member.entity.dos; +package cn.lili.modules.wallet.entity.dos; import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dos/MemberWithdrawApply.java b/framework/src/main/java/cn/lili/modules/wallet/entity/dos/MemberWithdrawApply.java similarity index 97% rename from framework/src/main/java/cn/lili/modules/member/entity/dos/MemberWithdrawApply.java rename to framework/src/main/java/cn/lili/modules/wallet/entity/dos/MemberWithdrawApply.java index 02ca4597..02aaf1eb 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dos/MemberWithdrawApply.java +++ b/framework/src/main/java/cn/lili/modules/wallet/entity/dos/MemberWithdrawApply.java @@ -1,4 +1,4 @@ -package cn.lili.modules.member.entity.dos; +package cn.lili.modules.wallet.entity.dos; import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.FieldFill; diff --git a/framework/src/main/java/cn/lili/modules/order/trade/entity/dos/Recharge.java b/framework/src/main/java/cn/lili/modules/wallet/entity/dos/Recharge.java similarity index 98% rename from framework/src/main/java/cn/lili/modules/order/trade/entity/dos/Recharge.java rename to framework/src/main/java/cn/lili/modules/wallet/entity/dos/Recharge.java index dc1ca9fd..fb1bf454 100644 --- a/framework/src/main/java/cn/lili/modules/order/trade/entity/dos/Recharge.java +++ b/framework/src/main/java/cn/lili/modules/wallet/entity/dos/Recharge.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.trade.entity.dos; +package cn.lili.modules.wallet.entity.dos; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.mybatis.BaseIdEntity; diff --git a/framework/src/main/java/cn/lili/modules/order/trade/entity/dos/WalletLog.java b/framework/src/main/java/cn/lili/modules/wallet/entity/dos/WalletLog.java similarity index 58% rename from framework/src/main/java/cn/lili/modules/order/trade/entity/dos/WalletLog.java rename to framework/src/main/java/cn/lili/modules/wallet/entity/dos/WalletLog.java index 8dc7112f..60185153 100644 --- a/framework/src/main/java/cn/lili/modules/order/trade/entity/dos/WalletLog.java +++ b/framework/src/main/java/cn/lili/modules/wallet/entity/dos/WalletLog.java @@ -1,5 +1,7 @@ -package cn.lili.modules.order.trade.entity.dos; +package cn.lili.modules.wallet.entity.dos; +import cn.lili.modules.wallet.entity.dto.MemberWalletUpdateDTO; +import cn.lili.modules.wallet.entity.enums.DepositServiceTypeEnum; import cn.lili.mybatis.BaseIdEntity; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; @@ -29,34 +31,21 @@ public class WalletLog extends BaseIdEntity { private static final long serialVersionUID = -1599270544927161096L; - /** - * 会员id - */ @ApiModelProperty(value = "会员id") private String memberId; - /** - * 会员名称 - */ @ApiModelProperty(value = "会员名称") private String memberName; - /** - * 金额 - */ + @ApiModelProperty(value = "金额") private Double money; /** - * 变动业务类型 - * - * @see cn.lili.modules.order.trade.entity.enums.DepositServiceTypeEnum + * @see DepositServiceTypeEnum */ @ApiModelProperty(value = "业务类型") private String serviceType; - /** - * 日志明细 - */ @ApiModelProperty(value = "日志明细") private String detail; @@ -76,17 +65,30 @@ public class WalletLog extends BaseIdEntity { /** * 构建新的预存款日志对象 * - * @param memberId 会员id - * @param memberName 会员名称 - * @param money 金额 - * @param detail 备注 + * @param memberName 会员名称 + * @param memberWalletUpdateDTO 变动模型 */ - public WalletLog(String memberId, String memberName, Double money, String detail, String serviceType) { - this.setMemberId(memberId); + public WalletLog(String memberName, MemberWalletUpdateDTO memberWalletUpdateDTO) { + this.setMemberId(memberWalletUpdateDTO.getMemberId()); this.setMemberName(memberName); - this.setMoney(money); - this.setDetail(detail); - this.setServiceType(serviceType); + this.setMoney(memberWalletUpdateDTO.getMoney()); + this.setDetail(memberWalletUpdateDTO.getDetail()); + this.setServiceType(memberWalletUpdateDTO.getServiceType()); + } + + /** + * 构建新的预存款日志对象 + * + * @param memberName 会员名称 + * @param memberWalletUpdateDTO 变动模型 + * @param isReduce 是否是消费 + */ + public WalletLog(String memberName, MemberWalletUpdateDTO memberWalletUpdateDTO, boolean isReduce) { + this.setMemberId(memberWalletUpdateDTO.getMemberId()); + this.setMemberName(memberName); + this.setMoney(isReduce ? -memberWalletUpdateDTO.getMoney() : memberWalletUpdateDTO.getMoney()); + this.setDetail(memberWalletUpdateDTO.getDetail()); + this.setServiceType(memberWalletUpdateDTO.getServiceType()); } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/wallet/entity/dto/MemberWalletUpdateDTO.java b/framework/src/main/java/cn/lili/modules/wallet/entity/dto/MemberWalletUpdateDTO.java new file mode 100644 index 00000000..70d18c86 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/wallet/entity/dto/MemberWalletUpdateDTO.java @@ -0,0 +1,30 @@ +package cn.lili.modules.wallet.entity.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * 会员余额变动模型 + * + * @author Chopper + * @version v1.0 + * 2021-12-01 09:35 + */ +@Data +@AllArgsConstructor +public class MemberWalletUpdateDTO { + + @ApiModelProperty(value = "变动金额") + private Double money; + @ApiModelProperty(value = "变动会员id") + private String memberId; + @ApiModelProperty(value = "日志详情") + private String detail; + + /** + * @see cn.lili.modules.wallet.entity.enums.DepositServiceTypeEnum + */ + @ApiModelProperty(value = "变动业务原因") + private String serviceType; +} diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/MemberWithdrawalMessage.java b/framework/src/main/java/cn/lili/modules/wallet/entity/dto/MemberWithdrawalMessage.java similarity index 75% rename from framework/src/main/java/cn/lili/modules/member/entity/dto/MemberWithdrawalMessage.java rename to framework/src/main/java/cn/lili/modules/wallet/entity/dto/MemberWithdrawalMessage.java index 2e468323..6eeb7f62 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dto/MemberWithdrawalMessage.java +++ b/framework/src/main/java/cn/lili/modules/wallet/entity/dto/MemberWithdrawalMessage.java @@ -1,5 +1,6 @@ -package cn.lili.modules.member.entity.dto; +package cn.lili.modules.wallet.entity.dto; +import cn.lili.modules.wallet.entity.enums.MemberWithdrawalDestinationEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,7 +23,7 @@ public class MemberWithdrawalMessage { private String status; /** - * @see cn.lili.modules.member.entity.enums.MemberWithdrawalDestinationEnum + * @see MemberWithdrawalDestinationEnum */ @ApiModelProperty(value = "提现到哪里") private String destination; diff --git a/framework/src/main/java/cn/lili/modules/order/trade/entity/enums/DepositServiceTypeEnum.java b/framework/src/main/java/cn/lili/modules/wallet/entity/enums/DepositServiceTypeEnum.java similarity index 92% rename from framework/src/main/java/cn/lili/modules/order/trade/entity/enums/DepositServiceTypeEnum.java rename to framework/src/main/java/cn/lili/modules/wallet/entity/enums/DepositServiceTypeEnum.java index cbfae540..ff6109df 100644 --- a/framework/src/main/java/cn/lili/modules/order/trade/entity/enums/DepositServiceTypeEnum.java +++ b/framework/src/main/java/cn/lili/modules/wallet/entity/enums/DepositServiceTypeEnum.java @@ -1,4 +1,4 @@ -package cn.lili.modules.order.trade.entity.enums; +package cn.lili.modules.wallet.entity.enums; /** * 预存款变动日志业务类型 diff --git a/framework/src/main/java/cn/lili/modules/member/entity/enums/MemberWithdrawalDestinationEnum.java b/framework/src/main/java/cn/lili/modules/wallet/entity/enums/MemberWithdrawalDestinationEnum.java similarity index 90% rename from framework/src/main/java/cn/lili/modules/member/entity/enums/MemberWithdrawalDestinationEnum.java rename to framework/src/main/java/cn/lili/modules/wallet/entity/enums/MemberWithdrawalDestinationEnum.java index bfcbaa0a..1ebabf31 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/enums/MemberWithdrawalDestinationEnum.java +++ b/framework/src/main/java/cn/lili/modules/wallet/entity/enums/MemberWithdrawalDestinationEnum.java @@ -1,4 +1,4 @@ -package cn.lili.modules.member.entity.enums; +package cn.lili.modules.wallet.entity.enums; /** * 会员提现到哪里 枚举 diff --git a/framework/src/main/java/cn/lili/modules/member/entity/enums/WithdrawStatusEnum.java b/framework/src/main/java/cn/lili/modules/wallet/entity/enums/WithdrawStatusEnum.java similarity index 92% rename from framework/src/main/java/cn/lili/modules/member/entity/enums/WithdrawStatusEnum.java rename to framework/src/main/java/cn/lili/modules/wallet/entity/enums/WithdrawStatusEnum.java index 53b96e94..3910eace 100755 --- a/framework/src/main/java/cn/lili/modules/member/entity/enums/WithdrawStatusEnum.java +++ b/framework/src/main/java/cn/lili/modules/wallet/entity/enums/WithdrawStatusEnum.java @@ -1,4 +1,4 @@ -package cn.lili.modules.member.entity.enums; +package cn.lili.modules.wallet.entity.enums; /** * 提现申请状态枚举类 diff --git a/framework/src/main/java/cn/lili/modules/member/entity/vo/MemberWalletVO.java b/framework/src/main/java/cn/lili/modules/wallet/entity/vo/MemberWalletVO.java similarity index 93% rename from framework/src/main/java/cn/lili/modules/member/entity/vo/MemberWalletVO.java rename to framework/src/main/java/cn/lili/modules/wallet/entity/vo/MemberWalletVO.java index 774084ea..cc98aa60 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/vo/MemberWalletVO.java +++ b/framework/src/main/java/cn/lili/modules/wallet/entity/vo/MemberWalletVO.java @@ -1,4 +1,4 @@ -package cn.lili.modules.member.entity.vo; +package cn.lili.modules.wallet.entity.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/framework/src/main/java/cn/lili/modules/member/entity/vo/MemberWithdrawApplyQueryVO.java b/framework/src/main/java/cn/lili/modules/wallet/entity/vo/MemberWithdrawApplyQueryVO.java similarity index 96% rename from framework/src/main/java/cn/lili/modules/member/entity/vo/MemberWithdrawApplyQueryVO.java rename to framework/src/main/java/cn/lili/modules/wallet/entity/vo/MemberWithdrawApplyQueryVO.java index e5c72401..99ffd599 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/vo/MemberWithdrawApplyQueryVO.java +++ b/framework/src/main/java/cn/lili/modules/wallet/entity/vo/MemberWithdrawApplyQueryVO.java @@ -1,4 +1,4 @@ -package cn.lili.modules.member.entity.vo; +package cn.lili.modules.wallet.entity.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/framework/src/main/java/cn/lili/modules/member/mapper/MemberWalletMapper.java b/framework/src/main/java/cn/lili/modules/wallet/mapper/MemberWalletMapper.java similarity index 70% rename from framework/src/main/java/cn/lili/modules/member/mapper/MemberWalletMapper.java rename to framework/src/main/java/cn/lili/modules/wallet/mapper/MemberWalletMapper.java index eec4d70f..2c8a1450 100644 --- a/framework/src/main/java/cn/lili/modules/member/mapper/MemberWalletMapper.java +++ b/framework/src/main/java/cn/lili/modules/wallet/mapper/MemberWalletMapper.java @@ -1,7 +1,7 @@ -package cn.lili.modules.member.mapper; +package cn.lili.modules.wallet.mapper; -import cn.lili.modules.member.entity.dos.MemberWallet; +import cn.lili.modules.wallet.entity.dos.MemberWallet; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/framework/src/main/java/cn/lili/modules/member/mapper/MemberWithdrawApplyMapper.java b/framework/src/main/java/cn/lili/modules/wallet/mapper/MemberWithdrawApplyMapper.java similarity index 70% rename from framework/src/main/java/cn/lili/modules/member/mapper/MemberWithdrawApplyMapper.java rename to framework/src/main/java/cn/lili/modules/wallet/mapper/MemberWithdrawApplyMapper.java index 8ed446b2..bf2addfc 100644 --- a/framework/src/main/java/cn/lili/modules/member/mapper/MemberWithdrawApplyMapper.java +++ b/framework/src/main/java/cn/lili/modules/wallet/mapper/MemberWithdrawApplyMapper.java @@ -1,7 +1,7 @@ -package cn.lili.modules.member.mapper; +package cn.lili.modules.wallet.mapper; -import cn.lili.modules.member.entity.dos.MemberWithdrawApply; +import cn.lili.modules.wallet.entity.dos.MemberWithdrawApply; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/framework/src/main/java/cn/lili/modules/order/trade/mapper/RechargeMapper.java b/framework/src/main/java/cn/lili/modules/wallet/mapper/RechargeMapper.java similarity index 68% rename from framework/src/main/java/cn/lili/modules/order/trade/mapper/RechargeMapper.java rename to framework/src/main/java/cn/lili/modules/wallet/mapper/RechargeMapper.java index fafc2195..fba8eeed 100644 --- a/framework/src/main/java/cn/lili/modules/order/trade/mapper/RechargeMapper.java +++ b/framework/src/main/java/cn/lili/modules/wallet/mapper/RechargeMapper.java @@ -1,6 +1,6 @@ -package cn.lili.modules.order.trade.mapper; +package cn.lili.modules.wallet.mapper; -import cn.lili.modules.order.trade.entity.dos.Recharge; +import cn.lili.modules.wallet.entity.dos.Recharge; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/framework/src/main/java/cn/lili/modules/order/trade/mapper/WalletLogMapper.java b/framework/src/main/java/cn/lili/modules/wallet/mapper/WalletLogMapper.java similarity index 68% rename from framework/src/main/java/cn/lili/modules/order/trade/mapper/WalletLogMapper.java rename to framework/src/main/java/cn/lili/modules/wallet/mapper/WalletLogMapper.java index 2ea8ae05..61f2db7f 100644 --- a/framework/src/main/java/cn/lili/modules/order/trade/mapper/WalletLogMapper.java +++ b/framework/src/main/java/cn/lili/modules/wallet/mapper/WalletLogMapper.java @@ -1,6 +1,6 @@ -package cn.lili.modules.order.trade.mapper; +package cn.lili.modules.wallet.mapper; -import cn.lili.modules.order.trade.entity.dos.WalletLog; +import cn.lili.modules.wallet.entity.dos.WalletLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/framework/src/main/java/cn/lili/modules/member/service/MemberWalletService.java b/framework/src/main/java/cn/lili/modules/wallet/service/MemberWalletService.java similarity index 50% rename from framework/src/main/java/cn/lili/modules/member/service/MemberWalletService.java rename to framework/src/main/java/cn/lili/modules/wallet/service/MemberWalletService.java index effcc319..99334fd3 100644 --- a/framework/src/main/java/cn/lili/modules/member/service/MemberWalletService.java +++ b/framework/src/main/java/cn/lili/modules/wallet/service/MemberWalletService.java @@ -1,10 +1,11 @@ -package cn.lili.modules.member.service; +package cn.lili.modules.wallet.service; import cn.lili.modules.member.entity.dos.Member; -import cn.lili.modules.member.entity.dos.MemberWallet; -import cn.lili.modules.member.entity.dos.MemberWithdrawApply; -import cn.lili.modules.member.entity.vo.MemberWalletVO; +import cn.lili.modules.wallet.entity.dos.MemberWallet; +import cn.lili.modules.wallet.entity.dos.MemberWithdrawApply; +import cn.lili.modules.wallet.entity.dto.MemberWalletUpdateDTO; +import cn.lili.modules.wallet.entity.vo.MemberWalletVO; import com.baomidou.mybatisplus.extension.service.IService; /** @@ -26,57 +27,42 @@ public interface MemberWalletService extends IService { /** * 增加用户预存款余额 * - * @param money 金额 - * @param memberId 会员id - * @param serviceType 业务类型 @see DepositServiceTypeEnum - * @param detail 操作描述 - * @return 返回增加结果 true:增加成功 false:增加失败 + * @param memberWalletUpdateDTO 变动模型 + * @return 返回增加结果 true:成功 false:失败 */ - Boolean increase(Double money, String memberId, String detail, String serviceType); + Boolean increase(MemberWalletUpdateDTO memberWalletUpdateDTO); /** * 从冻结金额到余额 * - * @param money 金额 - * @param memberId 会员id - * @param serviceType 业务类型 @see DepositServiceTypeEnum - * @param detail 操作描述 - * @return 返回增加结果 true:增加成功 false:增加失败 + * @param memberWalletUpdateDTO 变动模型 + * @return 返回冻结结果 true:成功 false:失败 */ - Boolean increaseWithdrawal(Double money, String memberId, String detail, String serviceType); + Boolean increaseWithdrawal(MemberWalletUpdateDTO memberWalletUpdateDTO); /** * 扣减用户预存款余额 * - * @param money 金额 - * @param memberId 会员id - * @param detail 操作描述 - * @param serviceType 业务类型 @see DepositServiceTypeEnum - * @return 操作状态 + * @param memberWalletUpdateDTO 变动模型 + * @return 操作状态 true:成功 false:失败 */ - Boolean reduce(Double money, String memberId, String detail, String serviceType); + Boolean reduce(MemberWalletUpdateDTO memberWalletUpdateDTO); /** * 提现扣减余额到冻结金额 * - * @param money 金额 - * @param memberId 会员id - * @param detail 操作描述 - * @param serviceType 业务类型 @see DepositServiceTypeEnum - * @return 操作状态 + * @param memberWalletUpdateDTO 变动模型 + * @return 操作状态 true:成功 false:失败 */ - Boolean reduceWithdrawal(Double money, String memberId, String detail, String serviceType); + Boolean reduceWithdrawal(MemberWalletUpdateDTO memberWalletUpdateDTO); /** * 提现扣减冻结金额 * - * @param money 金额 - * @param memberId 会员id - * @param detail 操作描述 - * @param serviceType 类型 + * @param memberWalletUpdateDTO 变动模型 * @return 操作状态 */ - Boolean reduceFrozen(Double money, String memberId, String detail, String serviceType); + Boolean reduceFrozen(MemberWalletUpdateDTO memberWalletUpdateDTO); /** * 设置支付密码 diff --git a/framework/src/main/java/cn/lili/modules/member/service/MemberWithdrawApplyService.java b/framework/src/main/java/cn/lili/modules/wallet/service/MemberWithdrawApplyService.java similarity index 84% rename from framework/src/main/java/cn/lili/modules/member/service/MemberWithdrawApplyService.java rename to framework/src/main/java/cn/lili/modules/wallet/service/MemberWithdrawApplyService.java index ae9ac2b5..95f2339c 100644 --- a/framework/src/main/java/cn/lili/modules/member/service/MemberWithdrawApplyService.java +++ b/framework/src/main/java/cn/lili/modules/wallet/service/MemberWithdrawApplyService.java @@ -1,9 +1,9 @@ -package cn.lili.modules.member.service; +package cn.lili.modules.wallet.service; import cn.lili.common.vo.PageVO; -import cn.lili.modules.member.entity.dos.MemberWithdrawApply; -import cn.lili.modules.member.entity.vo.MemberWithdrawApplyQueryVO; +import cn.lili.modules.wallet.entity.dos.MemberWithdrawApply; +import cn.lili.modules.wallet.entity.vo.MemberWithdrawApplyQueryVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; diff --git a/framework/src/main/java/cn/lili/modules/order/trade/service/RechargeService.java b/framework/src/main/java/cn/lili/modules/wallet/service/RechargeService.java similarity index 90% rename from framework/src/main/java/cn/lili/modules/order/trade/service/RechargeService.java rename to framework/src/main/java/cn/lili/modules/wallet/service/RechargeService.java index e7034250..818b7ef9 100644 --- a/framework/src/main/java/cn/lili/modules/order/trade/service/RechargeService.java +++ b/framework/src/main/java/cn/lili/modules/wallet/service/RechargeService.java @@ -1,13 +1,13 @@ -package cn.lili.modules.order.trade.service; +package cn.lili.modules.wallet.service; import cn.lili.common.vo.PageVO; -import cn.lili.modules.order.trade.entity.dos.Recharge; import cn.lili.modules.order.trade.entity.vo.RechargeQueryVO; +import cn.lili.modules.wallet.entity.dos.Recharge; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; /** - * 预存款充值记录业务层 + * 预存款充值业务层 * * @author pikachu * @since 2020-02-25 14:10:16 diff --git a/framework/src/main/java/cn/lili/modules/order/trade/service/WalletLogService.java b/framework/src/main/java/cn/lili/modules/wallet/service/WalletLogService.java similarity index 82% rename from framework/src/main/java/cn/lili/modules/order/trade/service/WalletLogService.java rename to framework/src/main/java/cn/lili/modules/wallet/service/WalletLogService.java index 8ca0722f..4803c08c 100644 --- a/framework/src/main/java/cn/lili/modules/order/trade/service/WalletLogService.java +++ b/framework/src/main/java/cn/lili/modules/wallet/service/WalletLogService.java @@ -1,13 +1,13 @@ -package cn.lili.modules.order.trade.service; +package cn.lili.modules.wallet.service; import cn.lili.common.vo.PageVO; -import cn.lili.modules.order.trade.entity.dos.WalletLog; import cn.lili.modules.order.trade.entity.vo.DepositQueryVO; +import cn.lili.modules.wallet.entity.dos.WalletLog; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; /** - * 预存款日志业务层 + * 钱包变动日志业务层 * * @author pikachu * @since 2020-02-25 14:10:16 diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberWalletServiceImpl.java b/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/MemberWalletServiceImpl.java similarity index 82% rename from framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberWalletServiceImpl.java rename to framework/src/main/java/cn/lili/modules/wallet/serviceimpl/MemberWalletServiceImpl.java index b58407f3..defd9ca7 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberWalletServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/MemberWalletServiceImpl.java @@ -1,4 +1,4 @@ -package cn.lili.modules.member.serviceimpl; +package cn.lili.modules.wallet.serviceimpl; import cn.lili.common.enums.ResultCode; @@ -10,23 +10,24 @@ import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.SnowFlake; import cn.lili.common.utils.StringUtils; import cn.lili.modules.member.entity.dos.Member; -import cn.lili.modules.member.entity.dos.MemberWallet; -import cn.lili.modules.member.entity.dos.MemberWithdrawApply; -import cn.lili.modules.member.entity.dto.MemberWithdrawalMessage; -import cn.lili.modules.member.entity.enums.MemberWithdrawalDestinationEnum; -import cn.lili.modules.member.entity.enums.WithdrawStatusEnum; -import cn.lili.modules.member.entity.vo.MemberWalletVO; -import cn.lili.modules.member.mapper.MemberWalletMapper; import cn.lili.modules.member.service.MemberService; -import cn.lili.modules.member.service.MemberWalletService; -import cn.lili.modules.member.service.MemberWithdrawApplyService; -import cn.lili.modules.order.trade.entity.dos.WalletLog; -import cn.lili.modules.order.trade.entity.enums.DepositServiceTypeEnum; -import cn.lili.modules.order.trade.service.WalletLogService; import cn.lili.modules.system.entity.dos.Setting; import cn.lili.modules.system.entity.dto.WithdrawalSetting; import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; +import cn.lili.modules.wallet.entity.dos.MemberWallet; +import cn.lili.modules.wallet.entity.dos.MemberWithdrawApply; +import cn.lili.modules.wallet.entity.dos.WalletLog; +import cn.lili.modules.wallet.entity.dto.MemberWalletUpdateDTO; +import cn.lili.modules.wallet.entity.dto.MemberWithdrawalMessage; +import cn.lili.modules.wallet.entity.enums.DepositServiceTypeEnum; +import cn.lili.modules.wallet.entity.enums.MemberWithdrawalDestinationEnum; +import cn.lili.modules.wallet.entity.enums.WithdrawStatusEnum; +import cn.lili.modules.wallet.entity.vo.MemberWalletVO; +import cn.lili.modules.wallet.mapper.MemberWalletMapper; +import cn.lili.modules.wallet.service.MemberWalletService; +import cn.lili.modules.wallet.service.MemberWithdrawApplyService; +import cn.lili.modules.wallet.service.WalletLogService; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.MemberTagsEnum; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -42,7 +43,7 @@ import java.util.Date; /** - * 会员预存款业务层实现 + * 会员余额业务层实现 * * @author pikachu * @since 2020-02-25 14:10:16 @@ -94,82 +95,82 @@ public class MemberWalletServiceImpl extends ServiceImpl CurrencyUtil.sub(memberWallet.getMemberWallet(), money)) { + if (0 > CurrencyUtil.sub(memberWallet.getMemberWallet(), memberWalletUpdateDTO.getMoney())) { return false; } - memberWallet.setMemberWallet(CurrencyUtil.sub(memberWallet.getMemberWallet(), money)); + memberWallet.setMemberWallet(CurrencyUtil.sub(memberWallet.getMemberWallet(), memberWalletUpdateDTO.getMoney())); //保存记录 this.updateById(memberWallet); //新增预存款日志 - WalletLog walletLog = new WalletLog(memberWallet.getMemberId(), memberWallet.getMemberName(), -money, detail, serviceType); + WalletLog walletLog = new WalletLog(memberWallet.getMemberName(), memberWalletUpdateDTO, true); walletLogService.save(walletLog); return true; } @Override - public Boolean reduceWithdrawal(Double money, String memberId, String detail, String serviceType) { + public Boolean reduceWithdrawal(MemberWalletUpdateDTO memberWalletUpdateDTO) { //检测会员预存款讯息是否存在,如果不存在则新建 - MemberWallet memberWallet = this.checkMemberWallet(memberId); + MemberWallet memberWallet = this.checkMemberWallet(memberWalletUpdateDTO.getMemberId()); //减少预存款,需要校验 如果不够扣减预存款 - if (0 > CurrencyUtil.sub(memberWallet.getMemberWallet(), money)) { + if (0 > CurrencyUtil.sub(memberWallet.getMemberWallet(), memberWalletUpdateDTO.getMoney())) { throw new ServiceException(ResultCode.WALLET_WITHDRAWAL_INSUFFICIENT); } - memberWallet.setMemberWallet(CurrencyUtil.sub(memberWallet.getMemberWallet(), money)); - memberWallet.setMemberFrozenWallet(CurrencyUtil.add(memberWallet.getMemberFrozenWallet(), money)); + memberWallet.setMemberWallet(CurrencyUtil.sub(memberWallet.getMemberWallet(), memberWalletUpdateDTO.getMoney())); + memberWallet.setMemberFrozenWallet(CurrencyUtil.add(memberWallet.getMemberFrozenWallet(), memberWalletUpdateDTO.getMoney())); //修改余额 this.updateById(memberWallet); //新增预存款日志 - WalletLog walletLog = new WalletLog(memberWallet.getMemberId(), memberWallet.getMemberName(), -money, detail, serviceType); + WalletLog walletLog = new WalletLog(memberWallet.getMemberName(), memberWalletUpdateDTO, true); walletLogService.save(walletLog); return true; } @Override - public Boolean reduceFrozen(Double money, String memberId, String detail, String serviceType) { + public Boolean reduceFrozen(MemberWalletUpdateDTO memberWalletUpdateDTO) { //检测会员预存款讯息是否存在,如果不存在则新建 - MemberWallet memberWallet = this.checkMemberWallet(memberId); + MemberWallet memberWallet = this.checkMemberWallet(memberWalletUpdateDTO.getMemberId()); //校验此金额是否超过冻结金额 - if (0 > CurrencyUtil.sub(memberWallet.getMemberWallet(), money)) { + if (0 > CurrencyUtil.sub(memberWallet.getMemberWallet(), memberWalletUpdateDTO.getMoney())) { throw new ServiceException(ResultCode.WALLET_WITHDRAWAL_INSUFFICIENT); } - memberWallet.setMemberFrozenWallet(CurrencyUtil.sub(memberWallet.getMemberFrozenWallet(), money)); + memberWallet.setMemberFrozenWallet(CurrencyUtil.sub(memberWallet.getMemberFrozenWallet(), memberWalletUpdateDTO.getMoney())); this.updateById(memberWallet); //新增预存款日志 - WalletLog walletLog = new WalletLog(memberWallet.getMemberId(), memberWallet.getMemberName(), -money, "提现金额已冻结,审核通过提现成功", serviceType); + WalletLog walletLog = new WalletLog(memberWallet.getMemberName(), memberWalletUpdateDTO, true); walletLogService.save(walletLog); return true; } @@ -273,12 +274,12 @@ public class MemberWalletServiceImpl extends ServiceImpl i //执行保存操作 this.updateById(recharge); //增加预存款余额 - memberWalletService.increase(recharge.getRechargeMoney(), recharge.getMemberId(), "会员余额充值,充值单号为:" + recharge.getRechargeSn(), DepositServiceTypeEnum.WALLET_RECHARGE.name()); + memberWalletService.increase(new MemberWalletUpdateDTO(recharge.getRechargeMoney(), recharge.getMemberId(), "会员余额充值,充值单号为:" + recharge.getRechargeSn(), DepositServiceTypeEnum.WALLET_RECHARGE.name())); } } diff --git a/framework/src/main/java/cn/lili/modules/order/trade/serviceimpl/WalletLogServiceImpl.java b/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/WalletLogServiceImpl.java similarity index 88% rename from framework/src/main/java/cn/lili/modules/order/trade/serviceimpl/WalletLogServiceImpl.java rename to framework/src/main/java/cn/lili/modules/wallet/serviceimpl/WalletLogServiceImpl.java index 30f2ea31..bbafece0 100644 --- a/framework/src/main/java/cn/lili/modules/order/trade/serviceimpl/WalletLogServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/WalletLogServiceImpl.java @@ -1,12 +1,12 @@ -package cn.lili.modules.order.trade.serviceimpl; +package cn.lili.modules.wallet.serviceimpl; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.PageVO; -import cn.lili.modules.order.trade.entity.dos.WalletLog; import cn.lili.modules.order.trade.entity.vo.DepositQueryVO; -import cn.lili.modules.order.trade.mapper.WalletLogMapper; -import cn.lili.modules.order.trade.service.WalletLogService; +import cn.lili.modules.wallet.entity.dos.WalletLog; +import cn.lili.modules.wallet.mapper.WalletLogMapper; +import cn.lili.modules.wallet.service.WalletLogService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/framework/src/main/java/cn/lili/modules/message/entity/dos/WechatMPMessage.java b/framework/src/main/java/cn/lili/modules/wechat/entity/dos/WechatMPMessage.java similarity index 95% rename from framework/src/main/java/cn/lili/modules/message/entity/dos/WechatMPMessage.java rename to framework/src/main/java/cn/lili/modules/wechat/entity/dos/WechatMPMessage.java index 3150f70e..4e1d530c 100644 --- a/framework/src/main/java/cn/lili/modules/message/entity/dos/WechatMPMessage.java +++ b/framework/src/main/java/cn/lili/modules/wechat/entity/dos/WechatMPMessage.java @@ -1,4 +1,4 @@ -package cn.lili.modules.message.entity.dos; +package cn.lili.modules.wechat.entity.dos; import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/framework/src/main/java/cn/lili/modules/message/entity/dos/WechatMessage.java b/framework/src/main/java/cn/lili/modules/wechat/entity/dos/WechatMessage.java similarity index 95% rename from framework/src/main/java/cn/lili/modules/message/entity/dos/WechatMessage.java rename to framework/src/main/java/cn/lili/modules/wechat/entity/dos/WechatMessage.java index adbff5eb..5753b2e6 100644 --- a/framework/src/main/java/cn/lili/modules/message/entity/dos/WechatMessage.java +++ b/framework/src/main/java/cn/lili/modules/wechat/entity/dos/WechatMessage.java @@ -1,4 +1,4 @@ -package cn.lili.modules.message.entity.dos; +package cn.lili.modules.wechat.entity.dos; import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/framework/src/main/java/cn/lili/modules/message/entity/enums/WechatMessageItemEnums.java b/framework/src/main/java/cn/lili/modules/wechat/entity/enums/WechatMessageItemEnums.java similarity index 96% rename from framework/src/main/java/cn/lili/modules/message/entity/enums/WechatMessageItemEnums.java rename to framework/src/main/java/cn/lili/modules/wechat/entity/enums/WechatMessageItemEnums.java index beff0714..9d1697ec 100644 --- a/framework/src/main/java/cn/lili/modules/message/entity/enums/WechatMessageItemEnums.java +++ b/framework/src/main/java/cn/lili/modules/wechat/entity/enums/WechatMessageItemEnums.java @@ -1,4 +1,4 @@ -package cn.lili.modules.message.entity.enums; +package cn.lili.modules.wechat.entity.enums; /** * 微信模版设置变量 diff --git a/framework/src/main/java/cn/lili/modules/message/mapper/WechatMPMessageMapper.java b/framework/src/main/java/cn/lili/modules/wechat/mapper/WechatMPMessageMapper.java similarity index 78% rename from framework/src/main/java/cn/lili/modules/message/mapper/WechatMPMessageMapper.java rename to framework/src/main/java/cn/lili/modules/wechat/mapper/WechatMPMessageMapper.java index 954d7638..5adbf322 100644 --- a/framework/src/main/java/cn/lili/modules/message/mapper/WechatMPMessageMapper.java +++ b/framework/src/main/java/cn/lili/modules/wechat/mapper/WechatMPMessageMapper.java @@ -1,7 +1,7 @@ -package cn.lili.modules.message.mapper; +package cn.lili.modules.wechat.mapper; +import cn.lili.modules.wechat.entity.dos.WechatMPMessage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import cn.lili.modules.message.entity.dos.WechatMPMessage; import org.apache.ibatis.annotations.Delete; /** diff --git a/framework/src/main/java/cn/lili/modules/message/mapper/WechatMessageMapper.java b/framework/src/main/java/cn/lili/modules/wechat/mapper/WechatMessageMapper.java similarity index 77% rename from framework/src/main/java/cn/lili/modules/message/mapper/WechatMessageMapper.java rename to framework/src/main/java/cn/lili/modules/wechat/mapper/WechatMessageMapper.java index 1fbc16ab..1beb733a 100644 --- a/framework/src/main/java/cn/lili/modules/message/mapper/WechatMessageMapper.java +++ b/framework/src/main/java/cn/lili/modules/wechat/mapper/WechatMessageMapper.java @@ -1,6 +1,6 @@ -package cn.lili.modules.message.mapper; +package cn.lili.modules.wechat.mapper; -import cn.lili.modules.message.entity.dos.WechatMessage; +import cn.lili.modules.wechat.entity.dos.WechatMessage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Delete; diff --git a/framework/src/main/java/cn/lili/modules/message/service/WechatMPMessageService.java b/framework/src/main/java/cn/lili/modules/wechat/service/WechatMPMessageService.java similarity index 73% rename from framework/src/main/java/cn/lili/modules/message/service/WechatMPMessageService.java rename to framework/src/main/java/cn/lili/modules/wechat/service/WechatMPMessageService.java index 05b2aef8..eeccfd5c 100644 --- a/framework/src/main/java/cn/lili/modules/message/service/WechatMPMessageService.java +++ b/framework/src/main/java/cn/lili/modules/wechat/service/WechatMPMessageService.java @@ -1,7 +1,7 @@ -package cn.lili.modules.message.service; +package cn.lili.modules.wechat.service; +import cn.lili.modules.wechat.entity.dos.WechatMPMessage; import com.baomidou.mybatisplus.extension.service.IService; -import cn.lili.modules.message.entity.dos.WechatMPMessage; /** * 微信小程序消息订阅 业务层 diff --git a/framework/src/main/java/cn/lili/modules/message/service/WechatMessageService.java b/framework/src/main/java/cn/lili/modules/wechat/service/WechatMessageService.java similarity index 72% rename from framework/src/main/java/cn/lili/modules/message/service/WechatMessageService.java rename to framework/src/main/java/cn/lili/modules/wechat/service/WechatMessageService.java index f471ed89..c5514586 100644 --- a/framework/src/main/java/cn/lili/modules/message/service/WechatMessageService.java +++ b/framework/src/main/java/cn/lili/modules/wechat/service/WechatMessageService.java @@ -1,6 +1,6 @@ -package cn.lili.modules.message.service; +package cn.lili.modules.wechat.service; -import cn.lili.modules.message.entity.dos.WechatMessage; +import cn.lili.modules.wechat.entity.dos.WechatMessage; import com.baomidou.mybatisplus.extension.service.IService; /** diff --git a/framework/src/main/java/cn/lili/modules/message/serviceimpl/WechatMPMessageServiceImpl.java b/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMPMessageServiceImpl.java similarity index 94% rename from framework/src/main/java/cn/lili/modules/message/serviceimpl/WechatMPMessageServiceImpl.java rename to framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMPMessageServiceImpl.java index a10a752a..44701c19 100644 --- a/framework/src/main/java/cn/lili/modules/message/serviceimpl/WechatMPMessageServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMPMessageServiceImpl.java @@ -1,20 +1,20 @@ -package cn.lili.modules.message.serviceimpl; +package cn.lili.modules.wechat.serviceimpl; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.common.enums.ClientTypeEnum; -import cn.lili.modules.message.entity.dos.WechatMPMessage; -import cn.lili.modules.message.entity.enums.WechatMessageItemEnums; -import cn.lili.modules.message.mapper.WechatMPMessageMapper; -import cn.lili.modules.message.service.WechatMPMessageService; -import cn.lili.modules.message.util.WechatAccessTokenUtil; -import cn.lili.modules.message.util.WechatMessageUtil; +import cn.lili.common.utils.HttpUtils; import cn.lili.modules.order.order.entity.enums.OrderStatusEnum; -import cn.lili.modules.system.utils.HttpUtils; +import cn.lili.modules.wechat.entity.dos.WechatMPMessage; +import cn.lili.modules.wechat.entity.enums.WechatMessageItemEnums; +import cn.lili.modules.wechat.mapper.WechatMPMessageMapper; +import cn.lili.modules.wechat.service.WechatMPMessageService; +import cn.lili.modules.wechat.util.WechatAccessTokenUtil; +import cn.lili.modules.wechat.util.WechatMessageUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/framework/src/main/java/cn/lili/modules/message/serviceimpl/WechatMessageServiceImpl.java b/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMessageServiceImpl.java similarity index 94% rename from framework/src/main/java/cn/lili/modules/message/serviceimpl/WechatMessageServiceImpl.java rename to framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMessageServiceImpl.java index b2d78cb1..c05fb7ad 100644 --- a/framework/src/main/java/cn/lili/modules/message/serviceimpl/WechatMessageServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMessageServiceImpl.java @@ -1,19 +1,19 @@ -package cn.lili.modules.message.serviceimpl; +package cn.lili.modules.wechat.serviceimpl; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.common.enums.ClientTypeEnum; -import cn.lili.modules.message.entity.dos.WechatMessage; -import cn.lili.modules.message.entity.enums.WechatMessageItemEnums; -import cn.lili.modules.message.mapper.WechatMessageMapper; -import cn.lili.modules.message.service.WechatMessageService; -import cn.lili.modules.message.util.WechatAccessTokenUtil; -import cn.lili.modules.message.util.WechatMessageUtil; +import cn.lili.common.utils.HttpUtils; import cn.lili.modules.order.order.entity.enums.OrderStatusEnum; -import cn.lili.modules.system.utils.HttpUtils; +import cn.lili.modules.wechat.entity.dos.WechatMessage; +import cn.lili.modules.wechat.entity.enums.WechatMessageItemEnums; +import cn.lili.modules.wechat.mapper.WechatMessageMapper; +import cn.lili.modules.wechat.service.WechatMessageService; +import cn.lili.modules.wechat.util.WechatAccessTokenUtil; +import cn.lili.modules.wechat.util.WechatMessageUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/framework/src/main/java/cn/lili/modules/message/util/WechatAccessTokenUtil.java b/framework/src/main/java/cn/lili/modules/wechat/util/WechatAccessTokenUtil.java similarity index 99% rename from framework/src/main/java/cn/lili/modules/message/util/WechatAccessTokenUtil.java rename to framework/src/main/java/cn/lili/modules/wechat/util/WechatAccessTokenUtil.java index fc7411c8..643c3e90 100644 --- a/framework/src/main/java/cn/lili/modules/message/util/WechatAccessTokenUtil.java +++ b/framework/src/main/java/cn/lili/modules/wechat/util/WechatAccessTokenUtil.java @@ -1,12 +1,12 @@ -package cn.lili.modules.message.util; +package cn.lili.modules.wechat.util; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONObject; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; +import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.utils.HttpUtils; import cn.lili.modules.system.entity.dos.Setting; import cn.lili.modules.system.entity.dto.connect.WechatConnectSetting; diff --git a/framework/src/main/java/cn/lili/modules/message/util/WechatMessageData.java b/framework/src/main/java/cn/lili/modules/wechat/util/WechatMessageData.java similarity index 97% rename from framework/src/main/java/cn/lili/modules/message/util/WechatMessageData.java rename to framework/src/main/java/cn/lili/modules/wechat/util/WechatMessageData.java index 8866cb31..e425ab8c 100644 --- a/framework/src/main/java/cn/lili/modules/message/util/WechatMessageData.java +++ b/framework/src/main/java/cn/lili/modules/wechat/util/WechatMessageData.java @@ -1,4 +1,4 @@ -package cn.lili.modules.message.util; +package cn.lili.modules.wechat.util; import cn.hutool.json.JSONUtil; import lombok.Data; diff --git a/framework/src/main/java/cn/lili/modules/message/util/WechatMessageUtil.java b/framework/src/main/java/cn/lili/modules/wechat/util/WechatMessageUtil.java similarity index 91% rename from framework/src/main/java/cn/lili/modules/message/util/WechatMessageUtil.java rename to framework/src/main/java/cn/lili/modules/wechat/util/WechatMessageUtil.java index 2259b314..da0dfc45 100644 --- a/framework/src/main/java/cn/lili/modules/message/util/WechatMessageUtil.java +++ b/framework/src/main/java/cn/lili/modules/wechat/util/WechatMessageUtil.java @@ -1,28 +1,28 @@ -package cn.lili.modules.message.util; +package cn.lili.modules.wechat.util; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.utils.DateUtil; +import cn.lili.common.utils.HttpUtils; import cn.lili.common.utils.StringUtils; -import cn.lili.common.enums.ClientTypeEnum; import cn.lili.modules.connect.entity.Connect; import cn.lili.modules.connect.entity.enums.ConnectEnum; import cn.lili.modules.connect.service.ConnectService; -import cn.lili.modules.message.entity.dos.WechatMPMessage; -import cn.lili.modules.message.entity.dos.WechatMessage; -import cn.lili.modules.message.entity.enums.WechatMessageItemEnums; -import cn.lili.modules.message.service.WechatMPMessageService; -import cn.lili.modules.message.service.WechatMessageService; +import cn.lili.modules.member.entity.dto.ConnectQueryDTO; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.OrderItem; import cn.lili.modules.order.order.service.OrderItemService; import cn.lili.modules.order.order.service.OrderService; -import cn.lili.modules.system.utils.HttpUtils; +import cn.lili.modules.wechat.entity.dos.WechatMPMessage; +import cn.lili.modules.wechat.entity.dos.WechatMessage; +import cn.lili.modules.wechat.entity.enums.WechatMessageItemEnums; +import cn.lili.modules.wechat.service.WechatMPMessageService; +import cn.lili.modules.wechat.service.WechatMessageService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -87,11 +87,9 @@ public class WechatMessageUtil { return; } - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("user_id", order.getMemberId()); - queryWrapper.eq("union_type", ConnectEnum.WECHAT.name()); - - Connect connect = connectService.getOne(queryWrapper); + Connect connect = connectService.queryConnect( + ConnectQueryDTO.builder().userId(order.getMemberId()).unionType(ConnectEnum.WECHAT.name()).build() + ); if (connect == null) { return; } @@ -147,11 +145,9 @@ public class WechatMessageUtil { return; } - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("user_id", order.getMemberId()); - queryWrapper.eq("union_type", ConnectEnum.WECHAT_MP_OPEN_ID.name()); - - Connect connect = connectService.getOne(queryWrapper); + Connect connect = connectService.queryConnect( + ConnectQueryDTO.builder().userId(order.getMemberId()).unionType(ConnectEnum.WECHAT_MP_OPEN_ID.name()).build() + ); if (connect == null) { return; } diff --git a/framework/src/main/java/cn/lili/modules/message/util/WechatMpCodeUtil.java b/framework/src/main/java/cn/lili/modules/wechat/util/WechatMpCodeUtil.java similarity index 93% rename from framework/src/main/java/cn/lili/modules/message/util/WechatMpCodeUtil.java rename to framework/src/main/java/cn/lili/modules/wechat/util/WechatMpCodeUtil.java index ba93afa6..9ff0890a 100644 --- a/framework/src/main/java/cn/lili/modules/message/util/WechatMpCodeUtil.java +++ b/framework/src/main/java/cn/lili/modules/wechat/util/WechatMpCodeUtil.java @@ -1,12 +1,11 @@ -package cn.lili.modules.message.util; +package cn.lili.modules.wechat.util; +import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.common.enums.ClientTypeEnum; import cn.lili.modules.message.entity.dos.ShortLink; import cn.lili.modules.message.service.ShortLinkService; import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpEntity; @@ -100,16 +99,14 @@ public class WechatMpCodeUtil { //短链接存储 ShortLink shortLink = new ShortLink(); - //已经保存过则不再保存 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(ShortLink::getOriginalParams, scene); - List shortLinks = shortLinkService.list(queryWrapper); + shortLink.setOriginalParams(scene); + List shortLinks = shortLinkService.queryShortLinks(shortLink); if (shortLinks.size() > 0) { shortLink = shortLinks.get(0); } else { shortLink.setOriginalParams(scene); shortLinkService.save(shortLink); - shortLink = shortLinkService.getOne(queryWrapper); + shortLink = shortLinkService.queryShortLinks(shortLink).get(0); } String accessToken = wechatAccessTokenUtil.cgiAccessToken(ClientTypeEnum.WECHAT_MP); Map params = new HashMap<>(4); diff --git a/framework/src/main/java/cn/lili/rocketmq/tags/MqOrderTagsEnum.java b/framework/src/main/java/cn/lili/rocketmq/tags/OrderTagsEnum.java similarity index 85% rename from framework/src/main/java/cn/lili/rocketmq/tags/MqOrderTagsEnum.java rename to framework/src/main/java/cn/lili/rocketmq/tags/OrderTagsEnum.java index cfe9ba87..20363e3d 100644 --- a/framework/src/main/java/cn/lili/rocketmq/tags/MqOrderTagsEnum.java +++ b/framework/src/main/java/cn/lili/rocketmq/tags/OrderTagsEnum.java @@ -6,7 +6,7 @@ package cn.lili.rocketmq.tags; * @author paulG * @since 2020/12/9 **/ -public enum MqOrderTagsEnum { +public enum OrderTagsEnum { /** * 订单创建 @@ -20,7 +20,7 @@ public enum MqOrderTagsEnum { private final String description; - MqOrderTagsEnum(String description) { + OrderTagsEnum(String description) { this.description = description; } diff --git a/framework/src/main/resources/sensitive/sensitive_words.txt b/framework/src/main/resources/sensitive/sensitive_words.txt deleted file mode 100644 index 04912c08..00000000 --- a/framework/src/main/resources/sensitive/sensitive_words.txt +++ /dev/null @@ -1,6 +0,0 @@ -共产党 -习近平 -毛泽东 -胡锦涛 -邓小平 -强奸 \ No newline at end of file diff --git a/framework/src/main/resources/sensitive_words.txt b/framework/src/main/resources/sensitive_words.txt deleted file mode 100644 index 04912c08..00000000 --- a/framework/src/main/resources/sensitive_words.txt +++ /dev/null @@ -1,6 +0,0 @@ -共产党 -习近平 -毛泽东 -胡锦涛 -邓小平 -强奸 \ No newline at end of file diff --git a/framework/src/test/java/cn/lili/test/RedisLimiterHelperTest.java b/framework/src/test/java/cn/lili/test/RedisLimiterHelperTest.java index b329c27c..936bc736 100644 --- a/framework/src/test/java/cn/lili/test/RedisLimiterHelperTest.java +++ b/framework/src/test/java/cn/lili/test/RedisLimiterHelperTest.java @@ -2,7 +2,7 @@ package cn.lili.test; import cn.lili.modules.order.order.entity.dos.OrderItem; import cn.lili.modules.order.order.service.OrderItemService; -import cn.lili.modules.statistics.serviceimpl.OrderStatisticsDataServiceImpl; +import cn.lili.modules.statistics.serviceimpl.OrderStatisticsServiceImpl; import org.junit.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -28,7 +28,7 @@ public class RedisLimiterHelperTest { private OrderItemService orderItemService; @Autowired - private OrderStatisticsDataServiceImpl orderStatisticsDataService; + private OrderStatisticsServiceImpl orderStatisticsDataService; @Test diff --git a/manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashManagerController.java b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionCashManagerController.java similarity index 97% rename from manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashManagerController.java rename to manager-api/src/main/java/cn/lili/controller/distribution/DistributionCashManagerController.java index 67838270..ef0fde1c 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionCashManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.other.distribution; +package cn.lili.controller.distribution; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; diff --git a/manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsManagerController.java b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsManagerController.java similarity index 94% rename from manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsManagerController.java rename to manager-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsManagerController.java index 59968852..a4182635 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsManagerController.java @@ -1,6 +1,5 @@ -package cn.lili.controller.other.distribution; +package cn.lili.controller.distribution; -import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.distribution.entity.dto.DistributionGoodsSearchParams; diff --git a/manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionManagerController.java b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionManagerController.java similarity index 98% rename from manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionManagerController.java rename to manager-api/src/main/java/cn/lili/controller/distribution/DistributionManagerController.java index bbb98c1b..0a98a672 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionManagerController.java @@ -1,8 +1,8 @@ -package cn.lili.controller.other.distribution; +package cn.lili.controller.distribution; import cn.lili.common.enums.ResultCode; -import cn.lili.common.exception.ServiceException; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.exception.ServiceException; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.distribution.entity.dos.Distribution; diff --git a/manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderManagerController.java b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionOrderManagerController.java similarity index 97% rename from manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderManagerController.java rename to manager-api/src/main/java/cn/lili/controller/distribution/DistributionOrderManagerController.java index ae1c3d8f..acbbdb24 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionOrderManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.other.distribution; +package cn.lili.controller.distribution; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/HotWordsManagerController.java b/manager-api/src/main/java/cn/lili/controller/goods/HotWordsManagerController.java similarity index 97% rename from manager-api/src/main/java/cn/lili/controller/setting/HotWordsManagerController.java rename to manager-api/src/main/java/cn/lili/controller/goods/HotWordsManagerController.java index 80c97396..b38e5e85 100755 --- a/manager-api/src/main/java/cn/lili/controller/setting/HotWordsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/goods/HotWordsManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.setting; +package cn.lili.controller.goods; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; diff --git a/manager-api/src/main/java/cn/lili/controller/member/MemberManagerController.java b/manager-api/src/main/java/cn/lili/controller/member/MemberManagerController.java index 6daf5c1d..d6b6cc8e 100644 --- a/manager-api/src/main/java/cn/lili/controller/member/MemberManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/member/MemberManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.member; +import cn.lili.common.aop.annotation.DemoSite; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -9,7 +10,6 @@ import cn.lili.modules.member.entity.dto.MemberAddDTO; import cn.lili.modules.member.entity.vo.MemberSearchVO; import cn.lili.modules.member.entity.vo.MemberVO; import cn.lili.modules.member.service.MemberService; -import cn.lili.modules.system.aspect.annotation.DemoSite; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/manager-api/src/main/java/cn/lili/controller/member/MemberMessageManagerController.java b/manager-api/src/main/java/cn/lili/controller/message/MemberMessageManagerController.java similarity index 97% rename from manager-api/src/main/java/cn/lili/controller/member/MemberMessageManagerController.java rename to manager-api/src/main/java/cn/lili/controller/message/MemberMessageManagerController.java index 9ad3c74e..4f8d8427 100644 --- a/manager-api/src/main/java/cn/lili/controller/member/MemberMessageManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/message/MemberMessageManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.member; +package cn.lili.controller.message; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; diff --git a/manager-api/src/main/java/cn/lili/controller/member/MemberNoticeLogManagerController.java b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeLogManagerController.java similarity index 98% rename from manager-api/src/main/java/cn/lili/controller/member/MemberNoticeLogManagerController.java rename to manager-api/src/main/java/cn/lili/controller/message/MemberNoticeLogManagerController.java index 57f29a74..483e66a5 100644 --- a/manager-api/src/main/java/cn/lili/controller/member/MemberNoticeLogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeLogManagerController.java @@ -1,11 +1,11 @@ -package cn.lili.controller.member; +package cn.lili.controller.message; import cn.lili.common.enums.ResultUtil; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dos.MemberNoticeLog; import cn.lili.modules.member.service.MemberNoticeLogService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/MemberNoticeManagerController.java b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeManagerController.java similarity index 98% rename from manager-api/src/main/java/cn/lili/controller/setting/MemberNoticeManagerController.java rename to manager-api/src/main/java/cn/lili/controller/message/MemberNoticeManagerController.java index 54c7d520..30e74871 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/MemberNoticeManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.setting; +package cn.lili.controller.message; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; diff --git a/manager-api/src/main/java/cn/lili/controller/member/MemberNoticeSenterManagerController.java b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeSenterManagerController.java similarity index 98% rename from manager-api/src/main/java/cn/lili/controller/member/MemberNoticeSenterManagerController.java rename to manager-api/src/main/java/cn/lili/controller/message/MemberNoticeSenterManagerController.java index 312852dd..238ccffb 100644 --- a/manager-api/src/main/java/cn/lili/controller/member/MemberNoticeSenterManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeSenterManagerController.java @@ -1,12 +1,12 @@ -package cn.lili.controller.member; +package cn.lili.controller.message; import cn.lili.common.enums.ResultUtil; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.common.vo.SearchVO; import cn.lili.modules.member.entity.dos.MemberNoticeSenter; import cn.lili.modules.member.service.MemberNoticeSenterService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/ServiceNoticeManagerController.java b/manager-api/src/main/java/cn/lili/controller/message/ServiceNoticeManagerController.java similarity index 98% rename from manager-api/src/main/java/cn/lili/controller/setting/ServiceNoticeManagerController.java rename to manager-api/src/main/java/cn/lili/controller/message/ServiceNoticeManagerController.java index 59e7aa15..aca1ce21 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/ServiceNoticeManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/message/ServiceNoticeManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.setting; +package cn.lili.controller.message; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; diff --git a/manager-api/src/main/java/cn/lili/controller/trade/AfterSaleManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java similarity index 93% rename from manager-api/src/main/java/cn/lili/controller/trade/AfterSaleManagerController.java rename to manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java index 7916995f..42a16ecd 100644 --- a/manager-api/src/main/java/cn/lili/controller/trade/AfterSaleManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java @@ -1,11 +1,11 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.order.order.entity.dos.AfterSale; -import cn.lili.modules.order.order.entity.vo.AfterSaleSearchParams; -import cn.lili.modules.order.order.entity.vo.AfterSaleVO; -import cn.lili.modules.order.order.service.AfterSaleService; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleSearchParams; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO; +import cn.lili.modules.order.aftersale.service.AfterSaleService; import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO; import cn.lili.modules.system.entity.vo.Traces; import com.baomidou.mybatisplus.core.metadata.IPage; diff --git a/manager-api/src/main/java/cn/lili/controller/trade/AfterSaleReasonManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/AfterSaleReasonManagerController.java similarity index 94% rename from manager-api/src/main/java/cn/lili/controller/trade/AfterSaleReasonManagerController.java rename to manager-api/src/main/java/cn/lili/controller/order/AfterSaleReasonManagerController.java index 6e416255..75a3a54a 100644 --- a/manager-api/src/main/java/cn/lili/controller/trade/AfterSaleReasonManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/AfterSaleReasonManagerController.java @@ -1,10 +1,10 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.order.order.entity.dos.AfterSaleReason; -import cn.lili.modules.order.order.service.AfterSaleReasonService; +import cn.lili.modules.order.aftersale.entity.dos.AfterSaleReason; +import cn.lili.modules.order.aftersale.service.AfterSaleReasonService; import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; diff --git a/manager-api/src/main/java/cn/lili/controller/trade/OrderComplaintManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/OrderComplaintManagerController.java similarity index 99% rename from manager-api/src/main/java/cn/lili/controller/trade/OrderComplaintManagerController.java rename to manager-api/src/main/java/cn/lili/controller/order/OrderComplaintManagerController.java index 68c7c69f..a2a64ecc 100644 --- a/manager-api/src/main/java/cn/lili/controller/trade/OrderComplaintManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/OrderComplaintManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.AuthUser; diff --git a/manager-api/src/main/java/cn/lili/controller/trade/OrderLogManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/OrderLogManagerController.java similarity index 98% rename from manager-api/src/main/java/cn/lili/controller/trade/OrderLogManagerController.java rename to manager-api/src/main/java/cn/lili/controller/order/OrderLogManagerController.java index 401461e2..b16de35a 100644 --- a/manager-api/src/main/java/cn/lili/controller/trade/OrderLogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/OrderLogManagerController.java @@ -1,12 +1,12 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.common.vo.SearchVO; import cn.lili.modules.order.trade.entity.dos.OrderLog; import cn.lili.modules.order.trade.service.OrderLogService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/manager-api/src/main/java/cn/lili/controller/trade/OrderManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/OrderManagerController.java similarity index 99% rename from manager-api/src/main/java/cn/lili/controller/trade/OrderManagerController.java rename to manager-api/src/main/java/cn/lili/controller/order/OrderManagerController.java index 27c7faa1..2f7dedfc 100644 --- a/manager-api/src/main/java/cn/lili/controller/trade/OrderManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/OrderManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; diff --git a/manager-api/src/main/java/cn/lili/controller/trade/PaymentLogManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/PaymentLogManagerController.java similarity index 83% rename from manager-api/src/main/java/cn/lili/controller/trade/PaymentLogManagerController.java rename to manager-api/src/main/java/cn/lili/controller/order/PaymentLogManagerController.java index 48a58eb4..4483ad72 100644 --- a/manager-api/src/main/java/cn/lili/controller/trade/PaymentLogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/PaymentLogManagerController.java @@ -1,13 +1,13 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.common.vo.SearchVO; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.vo.PaymentLog; -import cn.lili.modules.payment.service.PaymentService; +import cn.lili.modules.order.order.service.OrderService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -31,7 +31,7 @@ import org.springframework.web.bind.annotation.RestController; public class PaymentLogManagerController { @Autowired - private PaymentService paymentService; + private OrderService orderService; @GetMapping @@ -39,6 +39,6 @@ public class PaymentLogManagerController { public ResultMessage> getByPage(Order order, SearchVO searchVo, PageVO page) { - return ResultUtil.data(paymentService.page(PageUtil.initPage(page), PageUtil.initWrapper(order, searchVo))); + return ResultUtil.data(orderService.queryPaymentLogs(PageUtil.initPage(page), PageUtil.initWrapper(order, searchVo))); } } diff --git a/manager-api/src/main/java/cn/lili/controller/trade/ReceiptManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/ReceiptManagerController.java similarity index 97% rename from manager-api/src/main/java/cn/lili/controller/trade/ReceiptManagerController.java rename to manager-api/src/main/java/cn/lili/controller/order/ReceiptManagerController.java index 984ad00c..3d0026b1 100644 --- a/manager-api/src/main/java/cn/lili/controller/trade/ReceiptManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/ReceiptManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; diff --git a/manager-api/src/main/java/cn/lili/controller/trade/RefundLogManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/RefundLogManagerController.java similarity index 98% rename from manager-api/src/main/java/cn/lili/controller/trade/RefundLogManagerController.java rename to manager-api/src/main/java/cn/lili/controller/order/RefundLogManagerController.java index 597e69d5..86c4ab16 100644 --- a/manager-api/src/main/java/cn/lili/controller/trade/RefundLogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/RefundLogManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; diff --git a/manager-api/src/main/java/cn/lili/controller/other/ElasticsearchController.java b/manager-api/src/main/java/cn/lili/controller/other/ElasticsearchController.java index 453d1efd..a3da87d4 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/ElasticsearchController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/ElasticsearchController.java @@ -1,6 +1,5 @@ package cn.lili.controller.other; -import cn.lili.cache.Cache; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.search.service.EsGoodsIndexService; @@ -27,9 +26,6 @@ public class ElasticsearchController { @Autowired private EsGoodsIndexService esGoodsIndexService; - @Autowired - private Cache cache; - @GetMapping public ResultMessage init() { esGoodsIndexService.init(); diff --git a/manager-api/src/main/java/cn/lili/controller/other/PageDataManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/PageDataManagerController.java index 0af0c47a..42a51826 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/PageDataManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/PageDataManagerController.java @@ -1,14 +1,13 @@ package cn.lili.controller.other; +import cn.lili.common.aop.annotation.DemoSite; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.system.aspect.annotation.DemoSite; import cn.lili.modules.page.entity.dos.PageData; import cn.lili.modules.page.entity.dto.PageDataDTO; import cn.lili.modules.page.entity.vos.PageDataListVO; import cn.lili.modules.page.service.PageDataService; -import cn.lili.modules.system.aspect.annotation.DemoSite; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/manager-api/src/main/java/cn/lili/controller/other/SensitiveWordsManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/SensitiveWordsManagerController.java index 5ca04bc2..112b21ab 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/SensitiveWordsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/SensitiveWordsManagerController.java @@ -1,12 +1,11 @@ package cn.lili.controller.other; import cn.lili.common.enums.ResultUtil; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.system.entity.dos.SensitiveWords; import cn.lili.modules.system.service.SensitiveWordsService; -import cn.lili.modules.system.utils.SensitiveWordsFilter; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -48,7 +47,7 @@ public class SensitiveWordsManagerController { @PostMapping public ResultMessage add(@Valid SensitiveWords sensitiveWords) { sensitiveWordsService.save(sensitiveWords); - SensitiveWordsFilter.put(sensitiveWords.getSensitiveWord()); + sensitiveWordsService.resetCache(); return ResultUtil.data(sensitiveWords); } @@ -58,7 +57,7 @@ public class SensitiveWordsManagerController { public ResultMessage edit(@PathVariable String id, SensitiveWords sensitiveWords) { sensitiveWords.setId(id); sensitiveWordsService.updateById(sensitiveWords); - SensitiveWordsFilter.put(sensitiveWords.getSensitiveWord()); + sensitiveWordsService.resetCache(); return ResultUtil.data(sensitiveWords); } @@ -66,12 +65,8 @@ public class SensitiveWordsManagerController { @ApiImplicitParam(name = "ids", value = "敏感词ID", required = true, dataType = "String", allowMultiple = true, paramType = "path") @DeleteMapping(value = "/delByIds/{ids}") public ResultMessage delAllByIds(@PathVariable List ids) { - for (String id : ids) { - String name = sensitiveWordsService.getById(id).getSensitiveWord(); - SensitiveWordsFilter.remove(name); - sensitiveWordsService.removeById(id); - } + sensitiveWordsService.removeByIds(ids); + sensitiveWordsService.resetCache(); return ResultUtil.success(); - } } diff --git a/manager-api/src/main/java/cn/lili/controller/other/VerificationSourceController.java b/manager-api/src/main/java/cn/lili/controller/other/VerificationSourceController.java index 15ea88f4..33d038d7 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/VerificationSourceController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/VerificationSourceController.java @@ -1,10 +1,10 @@ package cn.lili.controller.other; +import cn.lili.common.aop.annotation.DemoSite; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.common.vo.SearchVO; -import cn.lili.modules.system.aspect.annotation.DemoSite; import cn.lili.modules.verification.entity.dos.VerificationSource; import cn.lili.modules.verification.service.VerificationSourceService; import cn.lili.mybatis.util.PageUtil; diff --git a/manager-api/src/main/java/cn/lili/controller/passport/AdminUserManagerController.java b/manager-api/src/main/java/cn/lili/controller/passport/AdminUserManagerController.java index 9bd1d547..ce61b470 100644 --- a/manager-api/src/main/java/cn/lili/controller/passport/AdminUserManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/passport/AdminUserManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.passport; +import cn.lili.common.aop.annotation.DemoSite; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; @@ -17,8 +18,7 @@ import cn.lili.modules.permission.entity.dto.AdminUserDTO; import cn.lili.modules.permission.entity.vo.AdminUserVO; import cn.lili.modules.permission.service.AdminUserService; import cn.lili.modules.permission.service.DepartmentService; -import cn.lili.modules.system.aspect.annotation.DemoSite; -import cn.lili.modules.verification.enums.VerificationEnums; +import cn.lili.modules.verification.entity.enums.VerificationEnums; import cn.lili.modules.verification.service.VerificationService; import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; diff --git a/manager-api/src/main/java/cn/lili/controller/permission/MenuManagerController.java b/manager-api/src/main/java/cn/lili/controller/permission/MenuManagerController.java index 5169eb44..bf7bf540 100644 --- a/manager-api/src/main/java/cn/lili/controller/permission/MenuManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/permission/MenuManagerController.java @@ -1,12 +1,12 @@ package cn.lili.controller.permission; +import cn.lili.common.aop.annotation.DemoSite; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.permission.entity.dos.Menu; import cn.lili.modules.permission.entity.dto.MenuSearchParams; import cn.lili.modules.permission.entity.vo.MenuVO; import cn.lili.modules.permission.service.MenuService; -import cn.lili.modules.system.aspect.annotation.DemoSite; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/RegionManagerController.java b/manager-api/src/main/java/cn/lili/controller/setting/RegionManagerController.java index 558b6e2c..cb0bc1ef 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/RegionManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/setting/RegionManagerController.java @@ -1,10 +1,10 @@ package cn.lili.controller.setting; +import cn.lili.common.aop.annotation.DemoSite; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.system.aspect.annotation.DemoSite; -import cn.lili.modules.system.service.RegionService; import cn.lili.modules.system.entity.dos.Region; +import cn.lili.modules.system.service.RegionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/SettingManagerController.java b/manager-api/src/main/java/cn/lili/controller/setting/SettingManagerController.java index 5d3aa8e1..d68e3bcf 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/SettingManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/setting/SettingManagerController.java @@ -1,11 +1,11 @@ package cn.lili.controller.setting; import cn.hutool.json.JSONUtil; +import cn.lili.common.aop.annotation.DemoSite; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.system.aspect.annotation.DemoSite; import cn.lili.modules.system.entity.dos.Setting; import cn.lili.modules.system.entity.dto.*; import cn.lili.modules.system.entity.dto.connect.QQConnectSetting; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/SmsManagerController.java b/manager-api/src/main/java/cn/lili/controller/sms/SmsManagerController.java similarity index 91% rename from manager-api/src/main/java/cn/lili/controller/setting/SmsManagerController.java rename to manager-api/src/main/java/cn/lili/controller/sms/SmsManagerController.java index e466affd..c6bc158f 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/SmsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/sms/SmsManagerController.java @@ -1,10 +1,10 @@ -package cn.lili.controller.setting; +package cn.lili.controller.sms; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.message.entity.dos.SmsReach; -import cn.lili.modules.message.service.SmsReachService; +import cn.lili.modules.sms.entity.dos.SmsReach; +import cn.lili.modules.sms.service.SmsReachService; import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/SmsSignManagerController.java b/manager-api/src/main/java/cn/lili/controller/sms/SmsSignManagerController.java similarity index 94% rename from manager-api/src/main/java/cn/lili/controller/setting/SmsSignManagerController.java rename to manager-api/src/main/java/cn/lili/controller/sms/SmsSignManagerController.java index 9ed17cee..de3244f7 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/SmsSignManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/sms/SmsSignManagerController.java @@ -1,10 +1,10 @@ -package cn.lili.controller.setting; +package cn.lili.controller.sms; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.message.entity.dos.SmsSign; -import cn.lili.modules.message.service.SmsSignService; +import cn.lili.modules.sms.entity.dos.SmsSign; +import cn.lili.modules.sms.service.SmsSignService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/SmsTemplateManagerController.java b/manager-api/src/main/java/cn/lili/controller/sms/SmsTemplateManagerController.java similarity index 93% rename from manager-api/src/main/java/cn/lili/controller/setting/SmsTemplateManagerController.java rename to manager-api/src/main/java/cn/lili/controller/sms/SmsTemplateManagerController.java index bd8ae97b..f9beef26 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/SmsTemplateManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/sms/SmsTemplateManagerController.java @@ -1,10 +1,10 @@ -package cn.lili.controller.setting; +package cn.lili.controller.sms; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.message.entity.dos.SmsTemplate; -import cn.lili.modules.message.service.SmsTemplateService; +import cn.lili.modules.sms.entity.dos.SmsTemplate; +import cn.lili.modules.sms.service.SmsTemplateService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/manager-api/src/main/java/cn/lili/controller/statistics/GoodsStatisticsManagerController.java b/manager-api/src/main/java/cn/lili/controller/statistics/GoodsStatisticsManagerController.java index 21325245..7849998c 100644 --- a/manager-api/src/main/java/cn/lili/controller/statistics/GoodsStatisticsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/statistics/GoodsStatisticsManagerController.java @@ -5,7 +5,7 @@ import cn.lili.common.vo.ResultMessage; import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam; import cn.lili.modules.statistics.entity.vo.CategoryStatisticsDataVO; import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO; -import cn.lili.modules.statistics.service.GoodsStatisticsDataService; +import cn.lili.modules.statistics.service.StoreFlowStatisticsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -21,22 +21,22 @@ import java.util.List; * @author Bulbasaur * @since 2020/12/9 19:04 */ -@Api(tags = "管理端,商品统计接口") +@Api(tags = "管理端,商品流水统计接口") @RestController @RequestMapping("/manager/statistics/goods") public class GoodsStatisticsManagerController { @Autowired - private GoodsStatisticsDataService goodsStatisticsDataService; + private StoreFlowStatisticsService storeFlowStatisticsService; @ApiOperation(value = "获取统计列表,排行前一百的数据") @GetMapping public ResultMessage> getByPage(GoodsStatisticsQueryParam goodsStatisticsQueryParam) { - return ResultUtil.data(goodsStatisticsDataService.getGoodsStatisticsData(goodsStatisticsQueryParam, 100)); + return ResultUtil.data(storeFlowStatisticsService.getGoodsStatisticsData(goodsStatisticsQueryParam, 100)); } @ApiOperation(value = "获取行业统计列表") @GetMapping("/getCategoryByPage") public ResultMessage> getCategoryByPage(GoodsStatisticsQueryParam goodsStatisticsQueryParam) { - return ResultUtil.data(goodsStatisticsDataService.getCategoryStatisticsData(goodsStatisticsQueryParam)); + return ResultUtil.data(storeFlowStatisticsService.getCategoryStatisticsData(goodsStatisticsQueryParam)); } } diff --git a/manager-api/src/main/java/cn/lili/controller/statistics/MemberStatisticsManagerController.java b/manager-api/src/main/java/cn/lili/controller/statistics/MemberStatisticsManagerController.java index 84af4758..30aed609 100644 --- a/manager-api/src/main/java/cn/lili/controller/statistics/MemberStatisticsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/statistics/MemberStatisticsManagerController.java @@ -4,7 +4,7 @@ import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.statistics.entity.dos.MemberStatisticsData; import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; -import cn.lili.modules.statistics.service.MemberStatisticsDataService; +import cn.lili.modules.statistics.service.MemberStatisticsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -25,11 +25,11 @@ import java.util.List; @RequestMapping("/manager/statistics/member") public class MemberStatisticsManagerController { @Autowired - private MemberStatisticsDataService memberStatisticsDataService; + private MemberStatisticsService memberStatisticsService; @ApiOperation(value = "获取会员统计") @GetMapping public ResultMessage> getByList(StatisticsQueryParam statisticsQueryParam) { - return ResultUtil.data(memberStatisticsDataService.statistics(statisticsQueryParam)); + return ResultUtil.data(memberStatisticsService.statistics(statisticsQueryParam)); } } diff --git a/manager-api/src/main/java/cn/lili/controller/statistics/OrderStatisticsManagerController.java b/manager-api/src/main/java/cn/lili/controller/statistics/OrderStatisticsManagerController.java index de151751..f307ca03 100644 --- a/manager-api/src/main/java/cn/lili/controller/statistics/OrderStatisticsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/statistics/OrderStatisticsManagerController.java @@ -3,14 +3,13 @@ package cn.lili.controller.statistics; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.order.order.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; -import cn.lili.modules.order.order.service.AfterSaleService; -import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; import cn.lili.modules.statistics.entity.vo.OrderOverviewVO; import cn.lili.modules.statistics.entity.vo.OrderStatisticsDataVO; -import cn.lili.modules.statistics.service.OrderStatisticsDataService; +import cn.lili.modules.statistics.service.AfterSaleStatisticsService; +import cn.lili.modules.statistics.service.OrderStatisticsService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -34,17 +33,15 @@ import java.util.List; @RequestMapping("/manager/statistics/order") public class OrderStatisticsManagerController { @Autowired - private OrderStatisticsDataService orderStatisticsDataService; + private OrderStatisticsService orderStatisticsService; @Autowired - private OrderService orderService; - @Autowired - private AfterSaleService afterSaleService; + private AfterSaleStatisticsService afterSaleStatisticsService; @ApiOperation(value = "订单概览统计") @GetMapping("/overview") public ResultMessage overview(StatisticsQueryParam statisticsQueryParam) { try { - return ResultUtil.data(orderStatisticsDataService.overview(statisticsQueryParam)); + return ResultUtil.data(orderStatisticsService.overview(statisticsQueryParam)); } catch (Exception e) { log.error("订单概览统计错误",e); } @@ -55,7 +52,7 @@ public class OrderStatisticsManagerController { @GetMapping public ResultMessage> statisticsChart(StatisticsQueryParam statisticsQueryParam) { try { - return ResultUtil.data(orderStatisticsDataService.statisticsChart(statisticsQueryParam)); + return ResultUtil.data(orderStatisticsService.statisticsChart(statisticsQueryParam)); } catch (Exception e) { log.error("订单图表统计",e); } @@ -67,7 +64,7 @@ public class OrderStatisticsManagerController { @GetMapping("/order") public ResultMessage> order(StatisticsQueryParam statisticsQueryParam, PageVO pageVO) { try { - return ResultUtil.data(orderService.getStatistics(statisticsQueryParam, pageVO)); + return ResultUtil.data(orderStatisticsService.getStatistics(statisticsQueryParam, pageVO)); } catch (Exception e) { log.error("订单统计",e); } @@ -78,6 +75,6 @@ public class OrderStatisticsManagerController { @ApiOperation(value = "退单统计") @GetMapping("/refund") public ResultMessage> refund(StatisticsQueryParam statisticsQueryParam, PageVO pageVO) { - return ResultUtil.data(afterSaleService.getStatistics(statisticsQueryParam, pageVO)); + return ResultUtil.data(afterSaleStatisticsService.getStatistics(statisticsQueryParam, pageVO)); } } diff --git a/manager-api/src/main/java/cn/lili/controller/statistics/ViewStatisticsManagerController.java b/manager-api/src/main/java/cn/lili/controller/statistics/ViewStatisticsManagerController.java index 67847cce..01ffd699 100644 --- a/manager-api/src/main/java/cn/lili/controller/statistics/ViewStatisticsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/statistics/ViewStatisticsManagerController.java @@ -6,7 +6,7 @@ import cn.lili.modules.member.entity.vo.MemberDistributionVO; import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; import cn.lili.modules.statistics.entity.vo.OnlineMemberVO; import cn.lili.modules.statistics.entity.vo.PlatformViewVO; -import cn.lili.modules.statistics.service.PlatformViewDataService; +import cn.lili.modules.statistics.service.PlatformViewService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -27,31 +27,31 @@ import java.util.List; @RequestMapping("/manager/statistics/view") public class ViewStatisticsManagerController { @Autowired - private PlatformViewDataService platformViewDataService; + private PlatformViewService platformViewService; @ApiOperation(value = "流量数据 表单获取") @GetMapping("/list") public ResultMessage> getByPage(StatisticsQueryParam queryParam) { - return ResultUtil.data(platformViewDataService.list(queryParam)); + return ResultUtil.data(platformViewService.list(queryParam)); } @ApiOperation(value = "当前在线人数") @GetMapping("/online/current") public ResultMessage currentNumberPeopleOnline() { - return ResultUtil.data(platformViewDataService.online()); + return ResultUtil.data(platformViewService.online()); } @ApiOperation(value = "会员分布") @GetMapping("/online/distribution") public ResultMessage> memberDistribution() { - return ResultUtil.data(platformViewDataService.memberDistribution()); + return ResultUtil.data(platformViewService.memberDistribution()); } @ApiOperation(value = "在线人数历史(默认48小时)") @GetMapping("/online/history") public ResultMessage> history() { - return ResultUtil.data(platformViewDataService.statisticsOnline()); + return ResultUtil.data(platformViewService.statisticsOnline()); } } diff --git a/manager-api/src/main/java/cn/lili/controller/store/BillManagerController.java b/manager-api/src/main/java/cn/lili/controller/store/BillManagerController.java index d6f08dda..128cbe18 100644 --- a/manager-api/src/main/java/cn/lili/controller/store/BillManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/store/BillManagerController.java @@ -4,6 +4,7 @@ import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.order.order.service.StoreFlowService; import cn.lili.modules.store.entity.dos.Bill; import cn.lili.modules.store.entity.dto.BillSearchParams; import cn.lili.modules.store.entity.vos.BillListVO; @@ -31,6 +32,9 @@ public class BillManagerController { @Autowired private BillService billService; + @Autowired + private StoreFlowService storeFlowService; + @ApiOperation(value = "通过id获取结算单") @ApiImplicitParam(name = "id", value = "结算单ID", required = true, paramType = "path") @GetMapping(value = "/get/{id}") @@ -51,7 +55,7 @@ public class BillManagerController { }) @GetMapping(value = "/{id}/getStoreFlow") public ResultMessage> getStoreFlow(@PathVariable String id, String flowType, PageVO pageVO) { - return ResultUtil.data(billService.getStoreFlow(id, flowType, pageVO)); + return ResultUtil.data(storeFlowService.getStoreFlow(id, flowType, pageVO)); } @ApiOperation(value = "支付结算单") diff --git a/manager-api/src/main/java/cn/lili/controller/store/StoreManagerController.java b/manager-api/src/main/java/cn/lili/controller/store/StoreManagerController.java index e73b4fd9..329088a4 100644 --- a/manager-api/src/main/java/cn/lili/controller/store/StoreManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/store/StoreManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.store; +import cn.lili.common.aop.annotation.DemoSite; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -12,7 +13,6 @@ import cn.lili.modules.store.entity.vos.StoreSearchParams; import cn.lili.modules.store.entity.vos.StoreVO; import cn.lili.modules.store.service.StoreDetailService; import cn.lili.modules.store.service.StoreService; -import cn.lili.modules.system.aspect.annotation.DemoSite; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; diff --git a/manager-api/src/main/java/cn/lili/controller/member/MemberWalletManagerController.java b/manager-api/src/main/java/cn/lili/controller/wallet/MemberWalletManagerController.java similarity index 88% rename from manager-api/src/main/java/cn/lili/controller/member/MemberWalletManagerController.java rename to manager-api/src/main/java/cn/lili/controller/wallet/MemberWalletManagerController.java index 78a282ed..927c8816 100644 --- a/manager-api/src/main/java/cn/lili/controller/member/MemberWalletManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/wallet/MemberWalletManagerController.java @@ -1,9 +1,9 @@ -package cn.lili.controller.member; +package cn.lili.controller.wallet; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.member.entity.vo.MemberWalletVO; -import cn.lili.modules.member.service.MemberWalletService; +import cn.lili.modules.wallet.entity.vo.MemberWalletVO; +import cn.lili.modules.wallet.service.MemberWalletService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; diff --git a/manager-api/src/main/java/cn/lili/controller/member/MemberWithdrawApplyManagerController.java b/manager-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyManagerController.java similarity index 90% rename from manager-api/src/main/java/cn/lili/controller/member/MemberWithdrawApplyManagerController.java rename to manager-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyManagerController.java index 3c21d1be..b4d5ab42 100644 --- a/manager-api/src/main/java/cn/lili/controller/member/MemberWithdrawApplyManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyManagerController.java @@ -1,12 +1,12 @@ -package cn.lili.controller.member; +package cn.lili.controller.wallet; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.member.entity.dos.MemberWithdrawApply; -import cn.lili.modules.member.entity.vo.MemberWithdrawApplyQueryVO; -import cn.lili.modules.member.service.MemberWithdrawApplyService; +import cn.lili.modules.wallet.entity.dos.MemberWithdrawApply; +import cn.lili.modules.wallet.entity.vo.MemberWithdrawApplyQueryVO; +import cn.lili.modules.wallet.service.MemberWithdrawApplyService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/manager-api/src/main/java/cn/lili/controller/trade/RechargeManagerController.java b/manager-api/src/main/java/cn/lili/controller/wallet/RechargeManagerController.java similarity index 89% rename from manager-api/src/main/java/cn/lili/controller/trade/RechargeManagerController.java rename to manager-api/src/main/java/cn/lili/controller/wallet/RechargeManagerController.java index cac4e44e..30a19937 100644 --- a/manager-api/src/main/java/cn/lili/controller/trade/RechargeManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/wallet/RechargeManagerController.java @@ -1,11 +1,11 @@ -package cn.lili.controller.trade; +package cn.lili.controller.wallet; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.order.trade.entity.dos.Recharge; import cn.lili.modules.order.trade.entity.vo.RechargeQueryVO; -import cn.lili.modules.order.trade.service.RechargeService; +import cn.lili.modules.wallet.entity.dos.Recharge; +import cn.lili.modules.wallet.service.RechargeService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/manager-api/src/main/java/cn/lili/controller/trade/WalletLogManagerController.java b/manager-api/src/main/java/cn/lili/controller/wallet/WalletLogManagerController.java similarity index 89% rename from manager-api/src/main/java/cn/lili/controller/trade/WalletLogManagerController.java rename to manager-api/src/main/java/cn/lili/controller/wallet/WalletLogManagerController.java index 60afa39f..91a58b6b 100644 --- a/manager-api/src/main/java/cn/lili/controller/trade/WalletLogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/wallet/WalletLogManagerController.java @@ -1,11 +1,11 @@ -package cn.lili.controller.trade; +package cn.lili.controller.wallet; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.order.trade.entity.dos.WalletLog; import cn.lili.modules.order.trade.entity.vo.DepositQueryVO; -import cn.lili.modules.order.trade.service.WalletLogService; +import cn.lili.modules.wallet.entity.dos.WalletLog; +import cn.lili.modules.wallet.service.WalletLogService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/WechatMPMessageManagerController.java b/manager-api/src/main/java/cn/lili/controller/wechat/WechatMPMessageManagerController.java similarity index 94% rename from manager-api/src/main/java/cn/lili/controller/setting/WechatMPMessageManagerController.java rename to manager-api/src/main/java/cn/lili/controller/wechat/WechatMPMessageManagerController.java index 366363ac..83dbe02f 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/WechatMPMessageManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/wechat/WechatMPMessageManagerController.java @@ -1,12 +1,12 @@ -package cn.lili.controller.setting; +package cn.lili.controller.wechat; import cn.lili.common.enums.ResultUtil; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.common.vo.SearchVO; -import cn.lili.modules.message.entity.dos.WechatMPMessage; -import cn.lili.modules.message.service.WechatMPMessageService; +import cn.lili.modules.wechat.entity.dos.WechatMPMessage; +import cn.lili.modules.wechat.service.WechatMPMessageService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/WechatMessageManageController.java b/manager-api/src/main/java/cn/lili/controller/wechat/WechatMessageManageController.java similarity index 93% rename from manager-api/src/main/java/cn/lili/controller/setting/WechatMessageManageController.java rename to manager-api/src/main/java/cn/lili/controller/wechat/WechatMessageManageController.java index f2f3634c..c0a29854 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/WechatMessageManageController.java +++ b/manager-api/src/main/java/cn/lili/controller/wechat/WechatMessageManageController.java @@ -1,11 +1,11 @@ -package cn.lili.controller.setting; +package cn.lili.controller.wechat; import cn.lili.common.enums.ResultUtil; -import cn.lili.mybatis.util.PageUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.message.entity.dos.WechatMessage; -import cn.lili.modules.message.service.WechatMessageService; +import cn.lili.modules.wechat.entity.dos.WechatMessage; +import cn.lili.modules.wechat.service.WechatMessageService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/manager-api/src/main/java/cn/lili/security/ManagerAuthenticationFilter.java b/manager-api/src/main/java/cn/lili/security/ManagerAuthenticationFilter.java index d45eb63f..27a1586f 100755 --- a/manager-api/src/main/java/cn/lili/security/ManagerAuthenticationFilter.java +++ b/manager-api/src/main/java/cn/lili/security/ManagerAuthenticationFilter.java @@ -1,6 +1,7 @@ package cn.lili.security; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.security.AuthUser; @@ -90,25 +91,39 @@ public class ManagerAuthenticationFilter extends BasicAuthenticationFilter { //获取数据(GET 请求)权限 if (request.getMethod().equals(RequestMethod.GET.name())) { //如果用户的超级权限和查阅权限都不包含当前请求的api - if (PatternMatchUtils.simpleMatch(permission.get(PermissionEnum.SUPER.name()).toArray(new String[0]), requestUrl) - || PatternMatchUtils.simpleMatch(permission.get(PermissionEnum.QUERY.name()).toArray(new String[0]), requestUrl)) { + if (match(permission.get(PermissionEnum.SUPER.name()), requestUrl) || + match(permission.get(PermissionEnum.QUERY.name()), requestUrl)) { } else { ResponseUtil.output(response, ResponseUtil.resultMap(false, 400, "权限不足")); + log.error("当前请求路径:{},所拥有权限:{}", requestUrl, JSONUtil.toJsonStr(permission)); throw new NoPermissionException("权限不足"); } } //非get请求(数据操作) 判定鉴权 else { - if (PatternMatchUtils.simpleMatch(permission.get(PermissionEnum.SUPER.name()).toArray(new String[0]), requestUrl)) { - - } else { + if (!match(permission.get(PermissionEnum.SUPER.name()), requestUrl)) { ResponseUtil.output(response, ResponseUtil.resultMap(false, 400, "权限不足")); + log.error("当前请求路径:{},所拥有权限:{}", requestUrl, JSONUtil.toJsonStr(permission)); throw new NoPermissionException("权限不足"); } } } } + /** + * 校验权限 + * + * @param permissions 权限集合 + * @param url 请求地址 + * @return 是否拥有权限 + */ + boolean match(List permissions, String url) { + if (permissions == null || permissions.isEmpty()) { + return false; + } + return PatternMatchUtils.simpleMatch(permissions.toArray(new String[0]), url); + } + /** * 获取token信息 * diff --git a/manager-api/src/test/java/cn/lili/test/rocketmq/MsgExtRocketMqTest.java b/manager-api/src/test/java/cn/lili/test/rocketmq/MsgExtRocketMqTest.java index 6096dd97..b33633a4 100644 --- a/manager-api/src/test/java/cn/lili/test/rocketmq/MsgExtRocketMqTest.java +++ b/manager-api/src/test/java/cn/lili/test/rocketmq/MsgExtRocketMqTest.java @@ -1,8 +1,8 @@ package cn.lili.test.rocketmq; -import cn.lili.rocketmq.RocketmqSendCallbackBuilder; -import cn.lili.rocketmq.tags.MqOrderTagsEnum; import cn.lili.common.properties.RocketmqCustomProperties; +import cn.lili.rocketmq.RocketmqSendCallbackBuilder; +import cn.lili.rocketmq.tags.OrderTagsEnum; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -29,7 +29,7 @@ class MsgExtRocketMqTest { @Test void searchAll() { - String destination = rocketmqCustomProperties.getOrderTopic() + ":" + MqOrderTagsEnum.STATUS_CHANGE.name(); + String destination = rocketmqCustomProperties.getOrderTopic() + ":" + OrderTagsEnum.STATUS_CHANGE.name(); Message message = MessageBuilder.withPayload("Context").build(); rocketMQTemplate.asyncSend(destination, message, RocketmqSendCallbackBuilder.commonCallback()); rocketMQTemplate.send(destination, message); diff --git a/seller-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsStoreController.java b/seller-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsStoreController.java similarity index 96% rename from seller-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsStoreController.java rename to seller-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsStoreController.java index 03fba82c..c2fb9830 100644 --- a/seller-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsStoreController.java @@ -1,6 +1,7 @@ -package cn.lili.controller.other.distribution; +package cn.lili.controller.distribution; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.distribution.entity.dos.DistributionGoods; @@ -9,7 +10,6 @@ import cn.lili.modules.distribution.entity.dto.DistributionGoodsSearchParams; import cn.lili.modules.distribution.entity.vos.DistributionGoodsVO; import cn.lili.modules.distribution.service.DistributionGoodsService; import cn.lili.modules.distribution.service.DistributionSelectedGoodsService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; diff --git a/seller-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderStoreController.java b/seller-api/src/main/java/cn/lili/controller/distribution/DistributionOrderStoreController.java similarity index 97% rename from seller-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderStoreController.java rename to seller-api/src/main/java/cn/lili/controller/distribution/DistributionOrderStoreController.java index ab18fba4..21ac76b8 100644 --- a/seller-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/distribution/DistributionOrderStoreController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.other.distribution; +package cn.lili.controller.distribution; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; diff --git a/seller-api/src/main/java/cn/lili/controller/goods/CategoryParameterGroupStoreController.java b/seller-api/src/main/java/cn/lili/controller/goods/CategoryParameterGroupStoreController.java index ea965afe..eaad855f 100644 --- a/seller-api/src/main/java/cn/lili/controller/goods/CategoryParameterGroupStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/goods/CategoryParameterGroupStoreController.java @@ -2,7 +2,6 @@ package cn.lili.controller.goods; import cn.lili.modules.goods.entity.vos.ParameterGroupVO; import cn.lili.modules.goods.service.CategoryParameterGroupService; -import cn.lili.modules.goods.service.ParametersService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -27,8 +26,6 @@ import java.util.List; @Transactional(rollbackFor = Exception.class) public class CategoryParameterGroupStoreController { - @Autowired - private ParametersService parametersService; @Autowired private CategoryParameterGroupService categoryParameterGroupService; diff --git a/seller-api/src/main/java/cn/lili/controller/goods/DraftGoodsStoreController.java b/seller-api/src/main/java/cn/lili/controller/goods/DraftGoodsStoreController.java index 2f02bea8..3aeabf62 100644 --- a/seller-api/src/main/java/cn/lili/controller/goods/DraftGoodsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/goods/DraftGoodsStoreController.java @@ -3,6 +3,7 @@ package cn.lili.controller.goods; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.goods.entity.dos.DraftGoods; @@ -10,7 +11,6 @@ import cn.lili.modules.goods.entity.dto.DraftGoodsDTO; import cn.lili.modules.goods.entity.dto.DraftGoodsSearchParams; import cn.lili.modules.goods.entity.vos.DraftGoodsVO; import cn.lili.modules.goods.service.DraftGoodsService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/seller-api/src/main/java/cn/lili/controller/goods/GoodsLabelStoreController.java b/seller-api/src/main/java/cn/lili/controller/goods/GoodsLabelStoreController.java index 998ccae4..231617b4 100644 --- a/seller-api/src/main/java/cn/lili/controller/goods/GoodsLabelStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/goods/GoodsLabelStoreController.java @@ -1,12 +1,12 @@ package cn.lili.controller.goods; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.store.entity.dos.StoreGoodsLabel; -import cn.lili.modules.store.entity.vos.StoreGoodsLabelVO; -import cn.lili.modules.store.service.StoreGoodsLabelService; -import cn.lili.modules.system.utils.OperationalJudgment; +import cn.lili.modules.goods.entity.dos.StoreGoodsLabel; +import cn.lili.modules.goods.entity.vos.StoreGoodsLabelVO; +import cn.lili.modules.goods.service.StoreGoodsLabelService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; diff --git a/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java b/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java index a7635c57..8ea0ed5e 100644 --- a/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java @@ -1,6 +1,7 @@ package cn.lili.controller.goods; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.goods.entity.dos.Goods; @@ -16,7 +17,6 @@ import cn.lili.modules.goods.service.GoodsService; import cn.lili.modules.goods.service.GoodsSkuService; import cn.lili.modules.store.entity.dos.StoreDetail; import cn.lili.modules.store.service.StoreDetailService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; diff --git a/seller-api/src/main/java/cn/lili/controller/trade/BillStoreController.java b/seller-api/src/main/java/cn/lili/controller/member/BillStoreController.java similarity index 88% rename from seller-api/src/main/java/cn/lili/controller/trade/BillStoreController.java rename to seller-api/src/main/java/cn/lili/controller/member/BillStoreController.java index d430e600..b532786b 100644 --- a/seller-api/src/main/java/cn/lili/controller/trade/BillStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/member/BillStoreController.java @@ -1,16 +1,17 @@ -package cn.lili.controller.trade; +package cn.lili.controller.member; import cn.lili.common.context.ThreadContextHolder; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.order.order.service.StoreFlowService; import cn.lili.modules.store.entity.dos.Bill; import cn.lili.modules.store.entity.dto.BillSearchParams; import cn.lili.modules.store.entity.vos.BillListVO; import cn.lili.modules.store.service.BillService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -36,6 +37,9 @@ public class BillStoreController { @Autowired private BillService billService; + @Autowired + private StoreFlowService storeFlowService; + @ApiOperation(value = "获取结算单分页") @GetMapping(value = "/getByPage") public ResultMessage> getByPage(BillSearchParams billSearchParams) { @@ -59,7 +63,7 @@ public class BillStoreController { @GetMapping(value = "/{id}/getStoreFlow") public ResultMessage> getStoreFlow(@PathVariable String id, String flowType, PageVO pageVO) { OperationalJudgment.judgment(billService.getById(id)); - return ResultUtil.data(billService.getStoreFlow(id, flowType, pageVO)); + return ResultUtil.data(storeFlowService.getStoreFlow(id, flowType, pageVO)); } @ApiOperation(value = "获取商家分销订单流水分页") @@ -69,7 +73,7 @@ public class BillStoreController { @GetMapping(value = "/{id}/getDistributionFlow") public ResultMessage> getDistributionFlow(@PathVariable String id, PageVO pageVO) { OperationalJudgment.judgment(billService.getById(id)); - return ResultUtil.data(billService.getDistributionFlow(id, pageVO)); + return ResultUtil.data(storeFlowService.getDistributionFlow(id, pageVO)); } @ApiOperation(value = "核对结算单") @@ -81,13 +85,13 @@ public class BillStoreController { return ResultUtil.success(); } - @ApiOperation(value = "下载结算单",produces="application/octet-stream") + @ApiOperation(value = "下载结算单", produces = "application/octet-stream") @ApiImplicitParam(name = "id", value = "结算单ID", required = true, paramType = "path", dataType = "String") @GetMapping(value = "/downLoad/{id}") public void downLoadDeliverExcel(@PathVariable String id) { OperationalJudgment.judgment(billService.getById(id)); HttpServletResponse response = ThreadContextHolder.getHttpResponse(); - billService.download(response,id); + billService.download(response, id); } diff --git a/seller-api/src/main/java/cn/lili/controller/trade/MemberEvaluationStoreController.java b/seller-api/src/main/java/cn/lili/controller/member/MemberEvaluationStoreController.java similarity index 96% rename from seller-api/src/main/java/cn/lili/controller/trade/MemberEvaluationStoreController.java rename to seller-api/src/main/java/cn/lili/controller/member/MemberEvaluationStoreController.java index 166da7f5..fac94dd4 100644 --- a/seller-api/src/main/java/cn/lili/controller/trade/MemberEvaluationStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/member/MemberEvaluationStoreController.java @@ -1,13 +1,13 @@ -package cn.lili.controller.trade; +package cn.lili.controller.member; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dto.EvaluationQueryParams; import cn.lili.modules.member.entity.vo.MemberEvaluationListVO; import cn.lili.modules.member.entity.vo.MemberEvaluationVO; import cn.lili.modules.member.service.MemberEvaluationService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/seller-api/src/main/java/cn/lili/controller/settings/StoreMessageController.java b/seller-api/src/main/java/cn/lili/controller/message/StoreMessageController.java similarity index 98% rename from seller-api/src/main/java/cn/lili/controller/settings/StoreMessageController.java rename to seller-api/src/main/java/cn/lili/controller/message/StoreMessageController.java index 8ae6745f..c837d150 100644 --- a/seller-api/src/main/java/cn/lili/controller/settings/StoreMessageController.java +++ b/seller-api/src/main/java/cn/lili/controller/message/StoreMessageController.java @@ -1,7 +1,8 @@ -package cn.lili.controller.settings; +package cn.lili.controller.message; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -9,7 +10,6 @@ import cn.lili.modules.message.entity.dos.StoreMessage; import cn.lili.modules.message.entity.enums.MessageStatusEnum; import cn.lili.modules.message.entity.vos.StoreMessageQueryVO; import cn.lili.modules.message.service.StoreMessageService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/seller-api/src/main/java/cn/lili/controller/trade/AfterSaleStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java similarity index 93% rename from seller-api/src/main/java/cn/lili/controller/trade/AfterSaleStoreController.java rename to seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java index 5ff00da4..c50ad0df 100644 --- a/seller-api/src/main/java/cn/lili/controller/trade/AfterSaleStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java @@ -1,15 +1,15 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.order.order.entity.dos.AfterSale; -import cn.lili.modules.order.order.entity.vo.AfterSaleSearchParams; -import cn.lili.modules.order.order.entity.vo.AfterSaleVO; -import cn.lili.modules.order.order.service.AfterSaleService; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleSearchParams; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO; +import cn.lili.modules.order.aftersale.service.AfterSaleService; import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO; import cn.lili.modules.system.entity.vo.Traces; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/seller-api/src/main/java/cn/lili/controller/trade/OrderComplaintStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/OrderComplaintStoreController.java similarity index 97% rename from seller-api/src/main/java/cn/lili/controller/trade/OrderComplaintStoreController.java rename to seller-api/src/main/java/cn/lili/controller/order/OrderComplaintStoreController.java index 3fd4ae10..e2879831 100644 --- a/seller-api/src/main/java/cn/lili/controller/trade/OrderComplaintStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/order/OrderComplaintStoreController.java @@ -1,7 +1,8 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.AuthUser; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -10,7 +11,6 @@ import cn.lili.modules.order.order.entity.enums.CommunicationOwnerEnum; import cn.lili.modules.order.order.entity.vo.*; import cn.lili.modules.order.order.service.OrderComplaintCommunicationService; import cn.lili.modules.order.order.service.OrderComplaintService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/seller-api/src/main/java/cn/lili/controller/trade/OrderLogStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/OrderLogStoreController.java similarity index 94% rename from seller-api/src/main/java/cn/lili/controller/trade/OrderLogStoreController.java rename to seller-api/src/main/java/cn/lili/controller/order/OrderLogStoreController.java index acd8842a..8f642521 100644 --- a/seller-api/src/main/java/cn/lili/controller/trade/OrderLogStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/order/OrderLogStoreController.java @@ -1,11 +1,11 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.trade.entity.dos.OrderLog; import cn.lili.modules.order.trade.service.OrderLogService; -import cn.lili.modules.system.utils.OperationalJudgment; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; diff --git a/seller-api/src/main/java/cn/lili/controller/trade/OrderStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java similarity index 98% rename from seller-api/src/main/java/cn/lili/controller/trade/OrderStoreController.java rename to seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java index f62248c5..f0cb92e5 100644 --- a/seller-api/src/main/java/cn/lili/controller/trade/OrderStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java @@ -1,19 +1,19 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.context.ThreadContextHolder; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dto.MemberAddressDTO; +import cn.lili.modules.member.service.StoreLogisticsService; import cn.lili.modules.order.order.entity.dto.OrderExportDTO; import cn.lili.modules.order.order.entity.dto.OrderSearchParams; import cn.lili.modules.order.order.entity.vo.OrderDetailVO; import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; import cn.lili.modules.order.order.service.OrderPriceService; import cn.lili.modules.order.order.service.OrderService; -import cn.lili.modules.system.service.StoreLogisticsService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/seller-api/src/main/java/cn/lili/controller/trade/ReceiptStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/ReceiptStoreController.java similarity index 96% rename from seller-api/src/main/java/cn/lili/controller/trade/ReceiptStoreController.java rename to seller-api/src/main/java/cn/lili/controller/order/ReceiptStoreController.java index dc373ce5..5203cf5c 100644 --- a/seller-api/src/main/java/cn/lili/controller/trade/ReceiptStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/order/ReceiptStoreController.java @@ -1,6 +1,7 @@ -package cn.lili.controller.trade; +package cn.lili.controller.order; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -9,7 +10,6 @@ import cn.lili.modules.order.order.entity.dto.OrderReceiptDTO; import cn.lili.modules.order.order.entity.dto.ReceiptSearchParams; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.ReceiptService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java b/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java index 37d6646d..09999f03 100644 --- a/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java @@ -3,13 +3,13 @@ package cn.lili.controller.other.broadcast; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.goods.entity.dos.Studio; import cn.lili.modules.goods.entity.vos.StudioVO; import cn.lili.modules.goods.service.StudioService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/seller-api/src/main/java/cn/lili/controller/passport/StorePassportController.java b/seller-api/src/main/java/cn/lili/controller/passport/StorePassportController.java index 531857da..a4cc3a96 100644 --- a/seller-api/src/main/java/cn/lili/controller/passport/StorePassportController.java +++ b/seller-api/src/main/java/cn/lili/controller/passport/StorePassportController.java @@ -8,7 +8,7 @@ import cn.lili.common.security.enums.UserEnums; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.service.MemberService; -import cn.lili.modules.verification.enums.VerificationEnums; +import cn.lili.modules.verification.entity.enums.VerificationEnums; import cn.lili.modules.verification.service.VerificationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/seller-api/src/main/java/cn/lili/controller/promotion/CouponStoreController.java b/seller-api/src/main/java/cn/lili/controller/promotion/CouponStoreController.java index adc95395..7f041a11 100644 --- a/seller-api/src/main/java/cn/lili/controller/promotion/CouponStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/promotion/CouponStoreController.java @@ -4,6 +4,7 @@ import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.AuthUser; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -11,7 +12,6 @@ import cn.lili.modules.promotion.entity.dos.Coupon; import cn.lili.modules.promotion.entity.vos.CouponSearchParams; import cn.lili.modules.promotion.entity.vos.CouponVO; import cn.lili.modules.promotion.service.CouponService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; diff --git a/seller-api/src/main/java/cn/lili/controller/promotion/FullDiscountStoreController.java b/seller-api/src/main/java/cn/lili/controller/promotion/FullDiscountStoreController.java index 634024e7..47932340 100644 --- a/seller-api/src/main/java/cn/lili/controller/promotion/FullDiscountStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/promotion/FullDiscountStoreController.java @@ -3,6 +3,7 @@ package cn.lili.controller.promotion; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.AuthUser; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -10,7 +11,6 @@ import cn.lili.modules.order.cart.entity.vo.FullDiscountVO; import cn.lili.modules.promotion.entity.dos.FullDiscount; import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams; import cn.lili.modules.promotion.service.FullDiscountService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/seller-api/src/main/java/cn/lili/controller/promotion/PintuanStoreController.java b/seller-api/src/main/java/cn/lili/controller/promotion/PintuanStoreController.java index 0f3fd20a..85dfcc13 100644 --- a/seller-api/src/main/java/cn/lili/controller/promotion/PintuanStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/promotion/PintuanStoreController.java @@ -5,6 +5,7 @@ import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.security.AuthUser; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -15,7 +16,6 @@ import cn.lili.modules.promotion.entity.vos.PintuanVO; import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams; import cn.lili.modules.promotion.service.PintuanService; import cn.lili.modules.promotion.service.PromotionGoodsService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/seller-api/src/main/java/cn/lili/controller/promotion/SeckillStoreController.java b/seller-api/src/main/java/cn/lili/controller/promotion/SeckillStoreController.java index 935fa2f0..8dbdf3f8 100644 --- a/seller-api/src/main/java/cn/lili/controller/promotion/SeckillStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/promotion/SeckillStoreController.java @@ -1,6 +1,7 @@ package cn.lili.controller.promotion; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -10,7 +11,6 @@ import cn.lili.modules.promotion.entity.vos.SeckillApplyVO; import cn.lili.modules.promotion.entity.vos.SeckillSearchParams; import cn.lili.modules.promotion.service.SeckillApplyService; import cn.lili.modules.promotion.service.SeckillService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/seller-api/src/main/java/cn/lili/controller/settings/FreightTemplateStoreController.java b/seller-api/src/main/java/cn/lili/controller/settings/FreightTemplateStoreController.java index 4f1e69c1..405d5bd6 100644 --- a/seller-api/src/main/java/cn/lili/controller/settings/FreightTemplateStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/settings/FreightTemplateStoreController.java @@ -1,11 +1,11 @@ package cn.lili.controller.settings; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.store.entity.vos.FreightTemplateVO; import cn.lili.modules.store.service.FreightTemplateService; -import cn.lili.modules.system.utils.OperationalJudgment; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; diff --git a/seller-api/src/main/java/cn/lili/controller/settings/LogisticsStoreController.java b/seller-api/src/main/java/cn/lili/controller/settings/LogisticsStoreController.java index 188db0ce..1697a95b 100644 --- a/seller-api/src/main/java/cn/lili/controller/settings/LogisticsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/settings/LogisticsStoreController.java @@ -4,9 +4,9 @@ package cn.lili.controller.settings; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; +import cn.lili.modules.member.service.StoreLogisticsService; import cn.lili.modules.store.entity.dos.StoreLogistics; import cn.lili.modules.system.entity.vo.StoreLogisticsVO; -import cn.lili.modules.system.service.StoreLogisticsService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/seller-api/src/main/java/cn/lili/controller/settings/StoreAddressController.java b/seller-api/src/main/java/cn/lili/controller/settings/StoreAddressController.java index 22bc6b36..98b9c040 100644 --- a/seller-api/src/main/java/cn/lili/controller/settings/StoreAddressController.java +++ b/seller-api/src/main/java/cn/lili/controller/settings/StoreAddressController.java @@ -2,12 +2,12 @@ package cn.lili.controller.settings; import cn.lili.common.enums.ResultUtil; +import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.store.entity.dos.StoreAddress; import cn.lili.modules.store.service.StoreAddressService; -import cn.lili.modules.system.utils.OperationalJudgment; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/seller-api/src/main/java/cn/lili/controller/settings/StoreSettingsController.java b/seller-api/src/main/java/cn/lili/controller/settings/StoreSettingsController.java index 9f3e1267..a8a2a1bb 100644 --- a/seller-api/src/main/java/cn/lili/controller/settings/StoreSettingsController.java +++ b/seller-api/src/main/java/cn/lili/controller/settings/StoreSettingsController.java @@ -56,6 +56,14 @@ public class StoreSettingsController { return ResultUtil.data(result); } + @ApiOperation(value = "修改商家设置") + @PutMapping("/merchantEuid") + public ResultMessage edit(String merchantEuid) { + //修改UDESK设置 + Boolean result = storeDetailService.editMerchantEuid(merchantEuid); + return ResultUtil.data(result); + } + @ApiOperation(value = "修改店铺库存预警数量") @ApiImplicitParam(name = "stockWarning", value = "库存预警数量", required = true, dataType = "Integer", paramType = "query") @PutMapping("/updateStockWarning") diff --git a/seller-api/src/main/java/cn/lili/controller/statistics/GoodsStatisticsStoreController.java b/seller-api/src/main/java/cn/lili/controller/statistics/GoodsStatisticsStoreController.java index e89475e7..75159dd0 100644 --- a/seller-api/src/main/java/cn/lili/controller/statistics/GoodsStatisticsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/statistics/GoodsStatisticsStoreController.java @@ -5,7 +5,7 @@ import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam; import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO; -import cn.lili.modules.statistics.service.GoodsStatisticsDataService; +import cn.lili.modules.statistics.service.StoreFlowStatisticsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -31,13 +31,13 @@ public class GoodsStatisticsStoreController { * 商品统计 */ @Autowired - private GoodsStatisticsDataService goodsStatisticsDataService; + private StoreFlowStatisticsService storeFlowStatisticsService; @ApiOperation(value = "获取统计列表,排行前一百的数据") @GetMapping public ResultMessage> getByPage(GoodsStatisticsQueryParam statisticsQueryParam) { String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId(); statisticsQueryParam.setStoreId(storeId); - return ResultUtil.data(goodsStatisticsDataService.getGoodsStatisticsData(statisticsQueryParam, 100)); + return ResultUtil.data(storeFlowStatisticsService.getGoodsStatisticsData(statisticsQueryParam, 100)); } } diff --git a/seller-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsStoreController.java b/seller-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsStoreController.java index 8187062b..32f11e59 100644 --- a/seller-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsStoreController.java @@ -6,8 +6,8 @@ import cn.lili.common.vo.ResultMessage; import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam; import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO; import cn.lili.modules.statistics.entity.vo.StoreIndexStatisticsVO; -import cn.lili.modules.statistics.service.GoodsStatisticsDataService; import cn.lili.modules.statistics.service.IndexStatisticsService; +import cn.lili.modules.statistics.service.StoreFlowStatisticsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -33,7 +33,7 @@ public class IndexStatisticsStoreController { * 热卖商品统计 */ @Autowired - private GoodsStatisticsDataService goodsStatisticsDataService; + private StoreFlowStatisticsService storeFlowStatisticsService; /** * 首页统计 */ @@ -45,7 +45,7 @@ public class IndexStatisticsStoreController { public ResultMessage> getByPage(GoodsStatisticsQueryParam statisticsQueryParam) { String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId(); statisticsQueryParam.setStoreId(storeId); - return ResultUtil.data(goodsStatisticsDataService.getGoodsStatisticsData(statisticsQueryParam, 100)); + return ResultUtil.data(storeFlowStatisticsService.getGoodsStatisticsData(statisticsQueryParam, 100)); } @ApiOperation(value = "获取首页查询数据") diff --git a/seller-api/src/main/java/cn/lili/controller/statistics/OrderStatisticsStoreController.java b/seller-api/src/main/java/cn/lili/controller/statistics/OrderStatisticsStoreController.java index 1875ac11..2285e9ad 100644 --- a/seller-api/src/main/java/cn/lili/controller/statistics/OrderStatisticsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/statistics/OrderStatisticsStoreController.java @@ -4,14 +4,13 @@ import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.order.order.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; -import cn.lili.modules.order.order.service.AfterSaleService; -import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; import cn.lili.modules.statistics.entity.vo.OrderOverviewVO; import cn.lili.modules.statistics.entity.vo.OrderStatisticsDataVO; -import cn.lili.modules.statistics.service.OrderStatisticsDataService; +import cn.lili.modules.statistics.service.AfterSaleStatisticsService; +import cn.lili.modules.statistics.service.OrderStatisticsService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -36,21 +35,16 @@ import java.util.Objects; @RequestMapping("/store/statistics/order") public class OrderStatisticsStoreController { - /** - * 订单 - */ - @Autowired - private OrderService orderService; /** * 售后 */ @Autowired - private AfterSaleService afterSaleService; + private AfterSaleStatisticsService afterSaleStatisticsService; /** * 订单统计 */ @Autowired - private OrderStatisticsDataService orderStatisticsDataService; + private OrderStatisticsService orderStatisticsService; @ApiOperation(value = "订单概览统计") @GetMapping("/overview") @@ -58,7 +52,7 @@ public class OrderStatisticsStoreController { String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId(); try { statisticsQueryParam.setStoreId(storeId); - return ResultUtil.data(orderStatisticsDataService.overview(statisticsQueryParam)); + return ResultUtil.data(orderStatisticsService.overview(statisticsQueryParam)); } catch (Exception e) { log.error("订单概览统计错误", e); } @@ -71,7 +65,7 @@ public class OrderStatisticsStoreController { String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId(); try { statisticsQueryParam.setStoreId(storeId); - return ResultUtil.data(orderStatisticsDataService.statisticsChart(statisticsQueryParam)); + return ResultUtil.data(orderStatisticsService.statisticsChart(statisticsQueryParam)); } catch (Exception e) { log.error("订单图表统计错误", e); } @@ -85,7 +79,7 @@ public class OrderStatisticsStoreController { String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId(); try { statisticsQueryParam.setStoreId(storeId); - return ResultUtil.data(orderService.getStatistics(statisticsQueryParam, pageVO)); + return ResultUtil.data(orderStatisticsService.getStatistics(statisticsQueryParam, pageVO)); } catch (Exception e) { log.error("订单统计错误", e); } @@ -98,6 +92,6 @@ public class OrderStatisticsStoreController { public ResultMessage> refund(StatisticsQueryParam statisticsQueryParam, PageVO pageVO) { String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId(); statisticsQueryParam.setStoreId(storeId); - return ResultUtil.data(afterSaleService.getStatistics(statisticsQueryParam, pageVO)); + return ResultUtil.data(afterSaleStatisticsService.getStatistics(statisticsQueryParam, pageVO)); } } diff --git a/seller-api/src/main/java/cn/lili/controller/statistics/ViewStatisticsStoreController.java b/seller-api/src/main/java/cn/lili/controller/statistics/ViewStatisticsStoreController.java index 6ecd7480..dca45408 100644 --- a/seller-api/src/main/java/cn/lili/controller/statistics/ViewStatisticsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/statistics/ViewStatisticsStoreController.java @@ -5,7 +5,7 @@ import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; import cn.lili.modules.statistics.entity.vo.PlatformViewVO; -import cn.lili.modules.statistics.service.PlatformViewDataService; +import cn.lili.modules.statistics.service.PlatformViewService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -27,13 +27,13 @@ import java.util.Objects; @RequestMapping("/store/statistics/view") public class ViewStatisticsStoreController { @Autowired - private PlatformViewDataService platformViewDataService; + private PlatformViewService platformViewService; @ApiOperation(value = "流量数据 表单获取") @GetMapping("/list") public ResultMessage> getByPage(StatisticsQueryParam queryParam) { String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId(); queryParam.setStoreId(storeId); - return ResultUtil.data(platformViewDataService.list(queryParam)); + return ResultUtil.data(platformViewService.list(queryParam)); } }