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/DB/version4.2.3toMASTER.sql b/DB/version4.2.3toMASTER.sql index a9eeb7ee..c34d6097 100644 --- a/DB/version4.2.3toMASTER.sql +++ b/DB/version4.2.3toMASTER.sql @@ -54,3 +54,11 @@ ALTER TABLE li_goods RENAME COLUMN is_auth TO auth_flag; ALTER TABLE li_goods_sku RENAME COLUMN is_promotion TO promotion_flag; ALTER TABLE li_goods_sku RENAME COLUMN is_auth TO auth_flag; + + +-- 增加会员表索引 +ALTER TABLE li_member ADD INDEX query_mobile (`mobile`) COMMENT 'query_member'; +-- 会员签到唯一索引 惠券查询索引 +ALTER TABLE li_member_sign ADD INDEX query_create_time (`create_time`) COMMENT 'query_create_time'; +ALTER TABLE li_member_sign ADD INDEX query_member_id (`member_id`) COMMENT 'query_member_id'; +ALTER TABLE li_member_sign add unique uk_member_day (member_id, create_time) COMMENT 'uk_member_day'; \ No newline at end of file diff --git a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionBuyerController.java index dc3567dc..c5332ed3 100644 --- a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionBuyerController.java @@ -24,7 +24,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @Api(tags = "买家端,分销员接口") -@RequestMapping("/buyer/distribution") +@RequestMapping("/buyer/distribution/distribution") public class DistributionBuyerController { /** diff --git a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionCashBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionCashBuyerController.java index ceaef297..28994aad 100644 --- a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionCashBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionCashBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.distribution; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; @@ -49,6 +50,7 @@ public class DistributionCashBuyerController { private DistributionCashService distributorCashService; + @PreventDuplicateSubmissions @ApiOperation(value = "分销员提现") @ApiImplicitParams({ @ApiImplicitParam(name = "price", value = "申请金额", required = true, paramType = "query", dataType = "double") diff --git a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsBuyerController.java index e4497dc9..cbc01db4 100644 --- a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.distribution; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; @@ -29,7 +30,7 @@ import javax.validation.constraints.NotNull; */ @RestController @Api(tags = "买家端,分销商品接口") -@RequestMapping("/buyer/distributionGoods") +@RequestMapping("/buyer/distribution/goods") public class DistributionGoodsBuyerController { /** @@ -50,6 +51,7 @@ public class DistributionGoodsBuyerController { return ResultUtil.data(distributionGoodsService.goodsPage(distributionGoodsSearchParams)); } + @PreventDuplicateSubmissions @ApiOperation(value = "选择分销商品") @ApiImplicitParams({ @ApiImplicitParam(name = "distributionGoodsId", value = "分销ID", required = true, dataType = "String", paramType = "path"), diff --git a/buyer-api/src/main/java/cn/lili/controller/goods/CategoryBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/goods/CategoryBuyerController.java index e5cb0157..37689867 100644 --- a/buyer-api/src/main/java/cn/lili/controller/goods/CategoryBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/goods/CategoryBuyerController.java @@ -25,7 +25,7 @@ import java.util.List; */ @RestController @Api(tags = "买家端,商品分类接口") -@RequestMapping("/buyer/category") +@RequestMapping("/buyer/goods/category") public class CategoryBuyerController { /** * 商品分类 diff --git a/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java index cfc844dc..92f8838d 100644 --- a/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java @@ -43,7 +43,7 @@ import java.util.Map; @Slf4j @Api(tags = "买家端,商品接口") @RestController -@RequestMapping("/buyer/goods") +@RequestMapping("/buyer/goods/goods") public class GoodsBuyerController { /** diff --git a/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java b/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java index b0ad9da4..256603f9 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java +++ b/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java @@ -23,7 +23,7 @@ import java.util.List; */ @RestController @Api(tags = "买家端,浏览历史接口") -@RequestMapping("/buyer/footprint") +@RequestMapping("/buyer/member/footprint") public class FootprintController { /** 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 f0dad3e3..16caae69 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 @@ -26,7 +26,7 @@ import java.util.Objects; */ @RestController @Api(tags = "买家端,会员地址接口") -@RequestMapping("/buyer/memberAddress") +@RequestMapping("/buyer/member/address") public class MemberAddressBuyerController { /** diff --git a/buyer-api/src/main/java/cn/lili/controller/member/MemberEvaluationBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/member/MemberEvaluationBuyerController.java index acf5b34d..e33524f8 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/MemberEvaluationBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/member/MemberEvaluationBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.member; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.enums.SwitchEnum; import cn.lili.common.security.context.UserContext; @@ -28,7 +29,7 @@ import javax.validation.constraints.NotNull; */ @RestController @Api(tags = "买家端,会员商品评价接口") -@RequestMapping("/buyer/memberEvaluation") +@RequestMapping("/buyer/member/evaluation") public class MemberEvaluationBuyerController { /** @@ -37,10 +38,11 @@ public class MemberEvaluationBuyerController { @Autowired private MemberEvaluationService memberEvaluationService; + @PreventDuplicateSubmissions @ApiOperation(value = "添加会员评价") @PostMapping public ResultMessage save(@Valid MemberEvaluationDTO memberEvaluationDTO) { - return ResultUtil.data(memberEvaluationService.addMemberEvaluation(memberEvaluationDTO)); + return ResultUtil.data(memberEvaluationService.addMemberEvaluation(memberEvaluationDTO, true)); } @ApiOperation(value = "查看会员评价详情") diff --git a/buyer-api/src/main/java/cn/lili/controller/member/MemberSignBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/member/MemberSignBuyerController.java index 2bd82c61..758f60cf 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/MemberSignBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/member/MemberSignBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.member; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dos.MemberSign; @@ -27,6 +28,8 @@ public class MemberSignBuyerController { @Autowired private MemberSignService memberSignService; + + @PreventDuplicateSubmissions @PostMapping @ApiOperation(value = "会员签到") public ResultMessage memberSign() { diff --git a/buyer-api/src/main/java/cn/lili/controller/message/MemberMessageBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/message/MemberMessageBuyerController.java index 43c80b24..726b31f0 100644 --- a/buyer-api/src/main/java/cn/lili/controller/message/MemberMessageBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/message/MemberMessageBuyerController.java @@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @Api(tags = "买家端,会员站内消息接口") -@RequestMapping("/buyer/member/message") +@RequestMapping("/buyer/message/member") public class MemberMessageBuyerController { /** diff --git a/buyer-api/src/main/java/cn/lili/controller/order/AfterSaleBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/AfterSaleBuyerController.java index 26e495fd..4f4b8026 100644 --- a/buyer-api/src/main/java/cn/lili/controller/order/AfterSaleBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/AfterSaleBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.OperationalJudgment; import cn.lili.common.vo.ResultMessage; @@ -35,7 +36,7 @@ import java.util.List; */ @RestController @Api(tags = "买家端,售后管理接口") -@RequestMapping("/buyer/afterSale") +@RequestMapping("/buyer/order/afterSale") public class AfterSaleBuyerController { /** @@ -77,6 +78,7 @@ public class AfterSaleBuyerController { return ResultUtil.data(afterSaleService.getAfterSaleVO(sn)); } + @PreventDuplicateSubmissions @PostMapping(value = "/save/{orderItemSn}") @ApiImplicitParam(name = "orderItemSn", value = "订单货物编号", required = true, paramType = "query") @ApiOperation(value = "申请售后") @@ -101,6 +103,7 @@ public class AfterSaleBuyerController { return ResultUtil.data(afterSaleService.buyerDelivery(afterSaleSn, logisticsNo, logisticsId, mDeliverTime)); } + @PreventDuplicateSubmissions @ApiOperation(value = "售后,取消售后") @ApiImplicitParams({ @ApiImplicitParam(name = "afterSaleSn", value = "售后sn", required = true, dataType = "String", paramType = "path") diff --git a/buyer-api/src/main/java/cn/lili/controller/order/CartController.java b/buyer-api/src/main/java/cn/lili/controller/order/CartController.java index c2a4508a..f78e4d78 100644 --- a/buyer-api/src/main/java/cn/lili/controller/order/CartController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/CartController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; @@ -235,6 +236,7 @@ public class CartController { } + @PreventDuplicateSubmissions @ApiOperation(value = "创建交易") @PostMapping(value = "/create/trade", consumes = "application/json", produces = "application/json") public ResultMessage crateTrade(@RequestBody TradeParams tradeParams) { diff --git a/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java index d5501ff8..08251f15 100644 --- a/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; @@ -34,7 +35,7 @@ import java.util.Objects; */ @RestController @Api(tags = "买家端,订单接口") -@RequestMapping("/buyer/orders") +@RequestMapping("/buyer/order/order") public class OrderBuyerController { /** @@ -62,6 +63,7 @@ public class OrderBuyerController { return ResultUtil.data(orderDetailVO); } + @PreventDuplicateSubmissions @ApiOperation(value = "确认收货") @ApiImplicitParams({ @ApiImplicitParam(name = "orderSn", value = "订单编号", required = true, paramType = "path") @@ -80,6 +82,7 @@ public class OrderBuyerController { return ResultUtil.success(); } + @PreventDuplicateSubmissions @ApiOperation(value = "取消订单") @ApiImplicitParams({ @ApiImplicitParam(name = "orderSn", value = "订单编号", required = true, dataType = "String", paramType = "path"), @@ -91,6 +94,7 @@ public class OrderBuyerController { return ResultUtil.success(); } + @PreventDuplicateSubmissions @ApiOperation(value = "删除订单") @ApiImplicitParams({ @ApiImplicitParam(name = "orderSn", value = "订单编号", required = true, dataType = "String", paramType = "path") @@ -113,6 +117,7 @@ public class OrderBuyerController { } + @PreventDuplicateSubmissions @ApiOperation(value = "开票") @ApiImplicitParams({ @ApiImplicitParam(name = "orderSn", value = "订单编号", required = true, dataType = "String", paramType = "path") diff --git a/buyer-api/src/main/java/cn/lili/controller/order/OrderComplaintBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/OrderComplaintBuyerController.java index 63f21431..f348c882 100644 --- a/buyer-api/src/main/java/cn/lili/controller/order/OrderComplaintBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/OrderComplaintBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.AuthUser; import cn.lili.common.security.OperationalJudgment; @@ -33,7 +34,7 @@ import java.util.Objects; **/ @RestController @Api(tags = "买家端,交易投诉接口") -@RequestMapping("/buyer/complain") +@RequestMapping("/buyer/order/complain") public class OrderComplaintBuyerController { /** @@ -66,6 +67,7 @@ public class OrderComplaintBuyerController { } + @PreventDuplicateSubmissions @ApiOperation(value = "添加交易投诉") @PostMapping public ResultMessage add(@Valid OrderComplaintDTO orderComplaintDTO) { @@ -85,6 +87,7 @@ public class OrderComplaintBuyerController { return ResultUtil.data(communicationVO); } + @PreventDuplicateSubmissions @ApiOperation(value = "取消售后") @ApiImplicitParam(name = "id", value = "投诉单ID", required = true, paramType = "path") @PutMapping(value = "/status/{id}") diff --git a/buyer-api/src/main/java/cn/lili/controller/order/ReceiptBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/ReceiptBuyerController.java index c707c2ea..66253078 100644 --- a/buyer-api/src/main/java/cn/lili/controller/order/ReceiptBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/ReceiptBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -41,6 +42,7 @@ public class ReceiptBuyerController { return ResultUtil.data(this.receiptService.getReceiptData(searchParams, pageVO)); } + @PreventDuplicateSubmissions @ApiOperation(value = "保存发票信息") @PostMapping public ResultMessage save(@Valid Receipt receipt) { diff --git a/buyer-api/src/main/java/cn/lili/controller/order/RechargeTradeBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/RechargeTradeBuyerController.java index 6071e61b..e85cddbf 100644 --- a/buyer-api/src/main/java/cn/lili/controller/order/RechargeTradeBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/order/RechargeTradeBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.wallet.entity.dos.Recharge; @@ -9,7 +10,6 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -31,6 +31,7 @@ public class RechargeTradeBuyerController { @Autowired private RechargeService rechargeService; + @PreventDuplicateSubmissions @PostMapping @ApiOperation(value = "创建余额充值订单") @ApiImplicitParams({ diff --git a/buyer-api/src/main/java/cn/lili/controller/other/AppVersionBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/AppVersionBuyerController.java index 581f3051..ccf080ad 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/AppVersionBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/AppVersionBuyerController.java @@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "买家端,APP版本") -@RequestMapping("/buyer/appVersion") +@RequestMapping("/buyer/other/appVersion") public class AppVersionBuyerController { @Autowired diff --git a/buyer-api/src/main/java/cn/lili/controller/other/ArticleBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/ArticleBuyerController.java index cef8b1ad..1142e47e 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/ArticleBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/ArticleBuyerController.java @@ -29,7 +29,7 @@ import java.util.List; */ @RestController @Api(tags = "买家端,文章接口") -@RequestMapping("/buyer/article") +@RequestMapping("/buyer/other/article") public class ArticleBuyerController { /** diff --git a/buyer-api/src/main/java/cn/lili/controller/other/FeedbackBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/FeedbackBuyerController.java index 83f0ac04..cb79f43a 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/FeedbackBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/FeedbackBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.other; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.ResultMessage; @@ -22,7 +23,7 @@ import javax.validation.Valid; */ @RestController @Api(tags = "买家端,意见反馈接口") -@RequestMapping("/buyer/feedback") +@RequestMapping("/buyer/other/feedback") public class FeedbackBuyerController { /** @@ -31,6 +32,7 @@ public class FeedbackBuyerController { @Autowired private FeedbackService feedbackService; + @PreventDuplicateSubmissions @ApiOperation(value = "添加意见反馈") @PostMapping() public ResultMessage save(@Valid Feedback feedback) { diff --git a/buyer-api/src/main/java/cn/lili/controller/other/LogisticsBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/LogisticsBuyerController.java index 36c798cf..b44aabd5 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/LogisticsBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/LogisticsBuyerController.java @@ -21,7 +21,7 @@ import java.util.List; */ @RestController @Api(tags = "买家端,物流公司接口") -@RequestMapping("/buyer/logistics") +@RequestMapping("/buyer/other/logistics") public class LogisticsBuyerController { @Autowired diff --git a/buyer-api/src/main/java/cn/lili/controller/other/PageBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/PageBuyerController.java index 35b262a8..f7a60963 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/PageBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/PageBuyerController.java @@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "买家端,页面接口") -@RequestMapping("/buyer/pageData") +@RequestMapping("/buyer/other/pageData") public class PageBuyerController { /** diff --git a/buyer-api/src/main/java/cn/lili/controller/other/purchase/PurchaseBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/purchase/PurchaseBuyerController.java index 1f7db028..58e6b1b2 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/purchase/PurchaseBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/purchase/PurchaseBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.other.purchase; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; @@ -29,7 +30,7 @@ import javax.validation.constraints.NotNull; */ @Api(tags = "买家端,采购接口") @RestController -@RequestMapping("/buyer/purchase") +@RequestMapping("/buyer/other/purchase/purchase") public class PurchaseBuyerController { /** @@ -48,6 +49,8 @@ public class PurchaseBuyerController { return ResultUtil.data(goodsUnitService.page(PageUtil.initPage(pageVO))); } + + @PreventDuplicateSubmissions @ApiOperation(value = "添加采购单") @PostMapping public ResultMessage addPurchaseOrderVO(@RequestBody PurchaseOrderVO purchaseOrderVO) { @@ -74,6 +77,7 @@ public class PurchaseBuyerController { return ResultUtil.data(purchaseOrderService.page(purchaseOrderSearchParams)); } + @PreventDuplicateSubmissions @ApiOperation(value = "关闭采购单") @ApiImplicitParam(name = "id", value = "采购单ID", required = true, dataType = "Long", paramType = "path") @PutMapping("/{id}") diff --git a/buyer-api/src/main/java/cn/lili/controller/other/purchase/PurchaseQuotedController.java b/buyer-api/src/main/java/cn/lili/controller/other/purchase/PurchaseQuotedController.java index 258c5951..1bc03ae7 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/purchase/PurchaseQuotedController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/purchase/PurchaseQuotedController.java @@ -27,7 +27,7 @@ import java.util.List; */ @Api(tags = "买家端,采购报价接口") @RestController -@RequestMapping("/buyer/purchaseQuoted") +@RequestMapping("/buyer/other/purchase/purchaseQuoted") public class PurchaseQuotedController { /** 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 2f465bae..d3b9929e 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 @@ -28,7 +28,7 @@ import javax.validation.constraints.NotNull; */ @RestController @Api(tags = "买家端,会员接口") -@RequestMapping("/buyer/members") +@RequestMapping("/buyer/passport/member") public class MemberBuyerController { @Autowired diff --git a/buyer-api/src/main/java/cn/lili/controller/passport/connect/ConnectBuyerBindController.java b/buyer-api/src/main/java/cn/lili/controller/passport/connect/ConnectBuyerBindController.java index 7557e952..9a2675ae 100644 --- a/buyer-api/src/main/java/cn/lili/controller/passport/connect/ConnectBuyerBindController.java +++ b/buyer-api/src/main/java/cn/lili/controller/passport/connect/ConnectBuyerBindController.java @@ -21,7 +21,7 @@ import java.util.List; */ @RestController @Api(tags = "买家端,app/小程序 联合登录") -@RequestMapping("/buyer/connect/bind") +@RequestMapping("/buyer/passport/connect/bind") public class ConnectBuyerBindController { @Autowired 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 f9071ab6..fa99b2fe 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 @@ -33,7 +33,7 @@ import java.io.IOException; @Slf4j @RestController @Api(tags = "买家端,web联合登录") -@RequestMapping("/buyer/connect") +@RequestMapping("/buyer/passport/connect/connect") public class ConnectBuyerWebController { @Autowired 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 708ce057..a3c1a6a0 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 @@ -26,7 +26,7 @@ import java.util.List; * @since 2021/2/19 09:28 */ @RestController -@RequestMapping("/buyer/mini-program") +@RequestMapping("/buyer/passport/connect/miniProgram") @Api(tags = "买家端,小程序登录接口") public class MiniProgramBuyerController { diff --git a/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java b/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java index 3389e3e4..217afeee 100644 --- a/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java +++ b/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java @@ -30,7 +30,7 @@ import javax.servlet.http.HttpServletResponse; @Slf4j @RestController @Api(tags = "买家端,收银台接口") -@RequestMapping("/buyer/cashier") +@RequestMapping("/buyer/payment/cashier") public class CashierController { @Autowired diff --git a/buyer-api/src/main/java/cn/lili/controller/payment/CashierRefundController.java b/buyer-api/src/main/java/cn/lili/controller/payment/CashierRefundController.java index d86173ca..f4b382e9 100644 --- a/buyer-api/src/main/java/cn/lili/controller/payment/CashierRefundController.java +++ b/buyer-api/src/main/java/cn/lili/controller/payment/CashierRefundController.java @@ -20,7 +20,7 @@ import javax.servlet.http.HttpServletRequest; */ @Api(tags = "买家端,退款回调") @RestController -@RequestMapping("/buyer/cashier/refund") +@RequestMapping("/buyer/payment/cashierRefund") public class CashierRefundController { @Autowired 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 7dd1034e..6e6a7ca7 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 @@ -31,7 +31,7 @@ import java.util.List; * @since 2020/11/17 2:32 下午 */ @RestController -@RequestMapping("/buyer/store") +@RequestMapping("/buyer/store/store") @Api(tags = "买家端,店铺接口") public class StoreBuyerController { diff --git a/buyer-api/src/main/java/cn/lili/controller/wallet/MemberReceiptController.java b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberReceiptController.java index 63e2c6c4..08cec9d4 100644 --- a/buyer-api/src/main/java/cn/lili/controller/wallet/MemberReceiptController.java +++ b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberReceiptController.java @@ -1,6 +1,7 @@ package cn.lili.controller.wallet; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; import cn.lili.common.vo.PageVO; @@ -23,7 +24,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @Api(tags = "买家端,会员发票接口") -@RequestMapping("/buyer/member/receipt") +@RequestMapping("/buyer/wallet/receipt") public class MemberReceiptController { @Autowired @@ -35,6 +36,7 @@ public class MemberReceiptController { return ResultUtil.data(memberReceiptService.getPage(memberReceiptVO, page)); } + @PreventDuplicateSubmissions @ApiOperation(value = "新增会员发票") @PostMapping public ResultMessage add(MemberReceiptAddVO memberReceiptAddVO) { diff --git a/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWalletBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWalletBuyerController.java index 59d8a579..52328e6f 100644 --- a/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWalletBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWalletBuyerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.wallet; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; @@ -34,7 +35,7 @@ import javax.validation.constraints.Pattern; */ @RestController @Api(tags = "买家端,会员余额接口") -@RequestMapping("/buyer/members/wallet") +@RequestMapping("/buyer/wallet/wallet") public class MemberWalletBuyerController { /** @@ -120,6 +121,7 @@ public class MemberWalletBuyerController { } + @PreventDuplicateSubmissions @PostMapping(value = "/withdrawal") @ApiOperation(value = "会员中心余额提现") @ApiImplicitParams({ diff --git a/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyBuyerController.java index 7771443c..a1418808 100644 --- a/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyBuyerController.java @@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/buyer-api/src/main/java/cn/lili/controller/wallet/RechargeBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/wallet/RechargeBuyerController.java index 1b4d896b..7a73cde7 100644 --- a/buyer-api/src/main/java/cn/lili/controller/wallet/RechargeBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/wallet/RechargeBuyerController.java @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -24,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "买家端,预存款充值记录接口") -@RequestMapping("/buyer/member/recharge") +@RequestMapping("/buyer/wallet/recharge") public class RechargeBuyerController { @Autowired diff --git a/buyer-api/src/main/resources/application.yml b/buyer-api/src/main/resources/application.yml index 2f99a882..4192a8ab 100644 --- a/buyer-api/src/main/resources/application.yml +++ b/buyer-api/src/main/resources/application.yml @@ -128,21 +128,22 @@ ignored: - /MP_verify_qSyvBPhDsPdxvOhC.txt - /weixin/** - /source/** - - /buyer/mini-program/** - - /buyer/cashier/** - - /buyer/pageData/** - - /buyer/article/** + - /buyer/payment/cashier/** + - /buyer/payment/cashierRefund/** + - /buyer/other/pageData/** + - /buyer/other/article/** - /buyer/goods/** - - /buyer/category/** - /buyer/store/** - - /buyer/connect/** + - /buyer/passport/connect/** - /buyer/members/** + - /buyer/passport/member/** - /buyer/promotion/pintuan/** - /buyer/promotion/seckill/** - /buyer/promotion/pointsGoods/** - - /buyer/memberEvaluation/**/goodsEvaluation - - /buyer/memberEvaluation/**/evaluationNumber - - /buyer/appVersion/** + - /buyer/promotion/coupon + - /buyer/member/evaluation/**/goodsEvaluation + - /buyer/member/evaluation/**/evaluationNumber + - /buyer/other/appVersion/** - /buyer/broadcast/studio/** - /druid/** - /swagger-ui.html @@ -183,7 +184,7 @@ logging: config: classpath:logback-spring.xml # 输出级别 level: - root: error + root: info # org.springframework: debug file: # 指定路径 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 04e65810..01aa0045 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 @@ -30,8 +30,8 @@ import java.util.List; * @since 2020/11/26 15:41 */ @RestController -@Api(tags = "文件管理管理接口") -@RequestMapping("/common/file") +@Api(tags = "文件管理接口") +@RequestMapping("/common/common/file") public class FileController { @Autowired diff --git a/common-api/src/main/java/cn/lili/controller/common/IMController.java b/common-api/src/main/java/cn/lili/controller/common/IMController.java index 0cc2aedd..8111f9c4 100644 --- a/common-api/src/main/java/cn/lili/controller/common/IMController.java +++ b/common-api/src/main/java/cn/lili/controller/common/IMController.java @@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.RestController; * 2021-09-16 15:32 */ @RestController -@RequestMapping("/common/IM") +@RequestMapping("/common/common/IM") @Api(tags = "IM 中心") public class IMController { diff --git a/common-api/src/main/java/cn/lili/controller/common/IpInfoManagerController.java b/common-api/src/main/java/cn/lili/controller/common/IpInfoManagerController.java index f0db1c2d..d8b872d0 100644 --- a/common-api/src/main/java/cn/lili/controller/common/IpInfoManagerController.java +++ b/common-api/src/main/java/cn/lili/controller/common/IpInfoManagerController.java @@ -1,7 +1,7 @@ package cn.lili.controller.common; -import cn.lili.common.enums.ResultUtil; import cn.lili.common.utils.IpHelper; +import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -20,7 +20,7 @@ import javax.servlet.http.HttpServletRequest; */ @RestController @Api(tags = "获取IP信息以及天气") -@RequestMapping("/common/ip") +@RequestMapping("/common/common/ip") public class IpInfoManagerController { @Autowired private IpHelper ipHelper; @@ -28,6 +28,7 @@ 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/LogoController.java b/common-api/src/main/java/cn/lili/controller/common/LogoController.java index 63595430..bed5a16e 100644 --- a/common-api/src/main/java/cn/lili/controller/common/LogoController.java +++ b/common-api/src/main/java/cn/lili/controller/common/LogoController.java @@ -19,8 +19,8 @@ import org.springframework.web.bind.annotation.RestController; * @since 2020/11/26 15:41 */ @RestController -@Api(tags = "文件管理管理接口") -@RequestMapping("/common/logo") +@Api(tags = "文件管理接口") +@RequestMapping("/common/common/logo") public class LogoController { @Autowired diff --git a/common-api/src/main/java/cn/lili/controller/common/RegionController.java b/common-api/src/main/java/cn/lili/controller/common/RegionController.java index 0ddc11cc..f951f058 100644 --- a/common-api/src/main/java/cn/lili/controller/common/RegionController.java +++ b/common-api/src/main/java/cn/lili/controller/common/RegionController.java @@ -22,7 +22,7 @@ import java.util.List; */ @RestController @Api(tags = "地址信息接口") -@RequestMapping("/common/region") +@RequestMapping("/common/common/region") public class RegionController { @Autowired 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 bb22429f..5eb62d1b 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 @@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.*; */ @Slf4j @RestController -@RequestMapping("/common/slider") +@RequestMapping("/common/common/slider") @Api(tags = "滑块验证码接口") public class SliderImageController { 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 d6f9e506..3914d62c 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 @@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @Api(tags = "短信验证码接口") -@RequestMapping("/common/sms") +@RequestMapping("/common/common/sms") public class SmsController { @Autowired diff --git a/common-api/src/main/java/cn/lili/controller/common/UploadController.java b/common-api/src/main/java/cn/lili/controller/common/UploadController.java index b78b5032..25001d07 100644 --- a/common-api/src/main/java/cn/lili/controller/common/UploadController.java +++ b/common-api/src/main/java/cn/lili/controller/common/UploadController.java @@ -5,7 +5,6 @@ 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.properties.SystemSettingProperties; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; @@ -40,7 +39,7 @@ import java.util.Objects; @Slf4j @RestController @Api(tags = "文件上传接口") -@RequestMapping("/common/upload") +@RequestMapping("/common/common/upload") public class UploadController { @Autowired diff --git a/common-api/src/main/resources/application.yml b/common-api/src/main/resources/application.yml index 03760caf..a914b499 100644 --- a/common-api/src/main/resources/application.yml +++ b/common-api/src/main/resources/application.yml @@ -119,24 +119,8 @@ ignored: - /MP_verify_qSyvBPhDsPdxvOhC.txt - /weixin/** - /source/** - - /buyer/mini-program/** - - /buyer/cashier/** - - /buyer/pageData/** - - /buyer/article/** - - /buyer/goods/** - - /buyer/category/** - - /buyer/shop/** - - /buyer/connect/** - - /buyer/members/smsLogin - - /buyer/members/refresh/* - - /buyer/members/refresh** - - /buyer/promotion/pintuan - - /buyer/promotion/seckill - - /buyer/memberEvaluation/**/goodsEvaluation - - /buyer/memberEvaluation/**/evaluationNumber - - /store/login/** - - /manager/user/login - - /manager/user/refresh/** + - /common/common/slider/** + - /common/common/sms/** - /druid/** - /swagger-ui.html - /doc.html @@ -176,7 +160,7 @@ logging: config: classpath:logback-spring.xml # 输出级别 level: - root: error + root: info # org.hibernate: debug # org.springframework: debug file: diff --git a/config/application.yml b/config/application.yml index 0753c11f..f18e5ee9 100644 --- a/config/application.yml +++ b/config/application.yml @@ -183,7 +183,7 @@ mybatis-plus: logging: # 输出级别 level: - root: error + root: info # org.hibernate: debug # org.springframework: debug # org.springframework.data.mongodb.core: debug diff --git a/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java b/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java index ec18b31f..ab9f5d63 100644 --- a/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java @@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.script.DefaultRedisScript; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; @@ -79,6 +80,7 @@ public class StockUpdateExecute implements OrderStatusChangeEvent { private PointsGoodsService pointsGoodsService; @Override + @Transactional(rollbackFor = Exception.class) public void orderChange(OrderMessage orderMessage) { switch (orderMessage.getNewStatus()) { @@ -154,14 +156,11 @@ public class StockUpdateExecute implements OrderStatusChangeEvent { * @param stocks */ private void checkStocks(List stocks, OrderDetailVO order) { - for (int i = 0; i < stocks.size(); i++) { - if (null == stocks.get(i)) { - initSkuCache(order.getOrderItems()); - initPromotionCache(order.getOrderItems()); - return; - } - + if (order.getOrderItems().size() == stocks.size()) { + return; } + initSkuCache(order.getOrderItems()); + initPromotionCache(order.getOrderItems()); } /** 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 bfe509b3..f0b8a077 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 @@ -146,7 +146,7 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute { memberEvaluationDTO.setDescriptionScore(5); memberEvaluationDTO.setServiceScore(5); - memberEvaluationService.addMemberEvaluation(memberEvaluationDTO); + memberEvaluationService.addMemberEvaluation(memberEvaluationDTO, false); } } } diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/promotion/PromotionEverydayExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/promotion/PromotionEverydayExecute.java index c996005a..d7a3db4c 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/promotion/PromotionEverydayExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/promotion/PromotionEverydayExecute.java @@ -59,7 +59,9 @@ public class PromotionEverydayExecute implements EveryDayExecute { private void addSeckill() { Setting setting = settingService.get(SettingEnum.SECKILL_SETTING.name()); SeckillSetting seckillSetting = new Gson().fromJson(setting.getSettingValue(), SeckillSetting.class); - Seckill seckill = new Seckill(SeckillService.PRE_CREATION, seckillSetting.getHours(), seckillSetting.getSeckillRule()); - seckillService.savePromotions(seckill); + for (int i = 1; i <= SeckillService.PRE_CREATION; i++) { + Seckill seckill = new Seckill(i, seckillSetting.getHours(), seckillSetting.getSeckillRule()); + seckillService.savePromotions(seckill); + } } } diff --git a/consumer/src/main/resources/application.yml b/consumer/src/main/resources/application.yml index a1125b89..8304cf32 100644 --- a/consumer/src/main/resources/application.yml +++ b/consumer/src/main/resources/application.yml @@ -179,7 +179,7 @@ logging: config: classpath:logback-spring.xml # 输出级别 level: - root: error + root: info # org.hibernate: debug # org.springframework: debug file: diff --git a/framework/pom.xml b/framework/pom.xml index 7b6af4cb..d4c011bb 100644 --- a/framework/pom.xml +++ b/framework/pom.xml @@ -35,6 +35,12 @@ org.springframework.boot spring-boot-starter-quartz + + + slf4j-api + org.slf4j + + @@ -72,6 +78,10 @@ HdrHistogram org.hdrhistogram + + slf4j-api + org.slf4j + @@ -81,6 +91,12 @@ org.springframework.integration spring-integration-redis + + + slf4j-api + org.slf4j + + org.apache.commons @@ -96,29 +112,40 @@ com.baomidou mybatis-plus-boot-starter ${mybatis-plus-version} - - - org.mybatis.spring.boot - mybatis-spring-boot-starter-test - 2.2.0 + + + slf4j-api + org.slf4j + + mysql mysql-connector-java - ${mysql-connector-version} org.springframework.boot spring-boot-starter-data-redis - + + + org.redisson + redisson + ${redisson} + com.github.xiaoymin knife4j-spring-boot-starter ${knife4j.version} + + + slf4j-api + org.slf4j + + @@ -148,6 +175,12 @@ com.aliyun aliyun-java-sdk-core ${aliyun-version} + + + slf4j-api + org.slf4j + + @@ -171,6 +204,10 @@ org.jacoco.agent org.jacoco + + bcprov-jdk15on + org.bouncycastle + @@ -188,6 +225,10 @@ fastjson com.alibaba + + slf4j-api + org.slf4j + @@ -212,6 +253,12 @@ org.springframework.boot spring-boot-starter-test + + + slf4j-api + org.slf4j + + @@ -241,6 +288,14 @@ commons-collections4 org.apache.commons + + antlr4-runtime + org.antlr + + + slf4j-api + org.slf4j + @@ -248,6 +303,12 @@ org.apache.shardingsphere sharding-jdbc-spring-namespace ${sharding-jdbc-version} + + + slf4j-api + org.slf4j + + @@ -307,11 +368,6 @@ logstash-logback-encoder ${logstash-logback-encoder} - - - - - de.codecentric spring-boot-admin-starter-client diff --git a/framework/src/main/java/cn/lili/cache/config/redis/RedisConfig.java b/framework/src/main/java/cn/lili/cache/config/redis/RedisConfig.java index f7bf18e5..659c1ece 100644 --- a/framework/src/main/java/cn/lili/cache/config/redis/RedisConfig.java +++ b/framework/src/main/java/cn/lili/cache/config/redis/RedisConfig.java @@ -1,9 +1,17 @@ package cn.lili.cache.config.redis; +import cn.hutool.core.text.CharSequenceUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.parser.ParserConfig; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.digest.DigestUtils; +import org.redisson.Redisson; +import org.redisson.api.RedissonClient; +import org.redisson.config.ClusterServersConfig; +import org.redisson.config.Config; +import org.redisson.config.SentinelServersConfig; +import org.redisson.config.SingleServerConfig; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -28,7 +36,9 @@ import org.springframework.data.redis.serializer.RedisSerializationContext; import org.springframework.data.redis.serializer.StringRedisSerializer; import java.time.Duration; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -49,6 +59,9 @@ public class RedisConfig extends CachingConfigurerSupport { @Value("${lili.cache.timeout:7200}") private Integer timeout; + @Autowired + private RedisProperties redisProperties; + /** * 当有多个管理器的时候,必须使用该注解在一个管理器上注释:表示该管理器为默认的管理器 @@ -99,6 +112,44 @@ public class RedisConfig extends CachingConfigurerSupport { return template; } + @Bean(destroyMethod = "shutdown") + public RedissonClient redisson() { + Config config = new Config(); + + if (redisProperties.getSentinel() != null && !redisProperties.getSentinel().getNodes().isEmpty()) { + // 哨兵模式 + SentinelServersConfig sentinelServersConfig = config.useSentinelServers(); + sentinelServersConfig.setMasterName(redisProperties.getSentinel().getMaster()); + List sentinelAddress = new ArrayList<>(); + for (String node : redisProperties.getCluster().getNodes()) { + sentinelAddress.add("redis://" + node); + } + sentinelServersConfig.setSentinelAddresses(sentinelAddress); + if (CharSequenceUtil.isNotEmpty(redisProperties.getSentinel().getPassword())) { + sentinelServersConfig.setSentinelPassword(redisProperties.getSentinel().getPassword()); + } + } else if (redisProperties.getCluster() != null && !redisProperties.getCluster().getNodes().isEmpty()) { + // 集群模式 + ClusterServersConfig clusterServersConfig = config.useClusterServers(); + List clusterNodes = new ArrayList<>(); + for (String node : redisProperties.getCluster().getNodes()) { + clusterNodes.add("redis://" + node); + } + clusterServersConfig.setNodeAddresses(clusterNodes); + if (CharSequenceUtil.isNotEmpty(redisProperties.getPassword())) { + clusterServersConfig.setPassword(redisProperties.getPassword()); + } + } else { + SingleServerConfig singleServerConfig = config.useSingleServer(); + singleServerConfig.setAddress("redis://" + redisProperties.getHost() + ":" + redisProperties.getPort()); + if (CharSequenceUtil.isNotEmpty(redisProperties.getPassword())) { + singleServerConfig.setPassword(redisProperties.getPassword()); + } + } + + return Redisson.create(config); + } + /** * 自定义缓存key生成策略,默认将使用该策略 */ diff --git a/framework/src/main/java/cn/lili/cache/limit/interceptor/LimitInterceptor.java b/framework/src/main/java/cn/lili/cache/limit/interceptor/LimitInterceptor.java index 6b840fbb..402f165d 100644 --- a/framework/src/main/java/cn/lili/cache/limit/interceptor/LimitInterceptor.java +++ b/framework/src/main/java/cn/lili/cache/limit/interceptor/LimitInterceptor.java @@ -1,9 +1,10 @@ package cn.lili.cache.limit.interceptor; -import cn.lili.cache.limit.enums.LimitTypeEnums; import cn.lili.cache.limit.annotation.LimitPoint; +import cn.lili.cache.limit.enums.LimitTypeEnums; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; +import cn.lili.common.utils.IpUtils; import com.google.common.collect.ImmutableList; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -16,7 +17,6 @@ import org.springframework.data.redis.core.script.DefaultRedisScript; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; -import javax.servlet.http.HttpServletRequest; import java.io.Serializable; /** @@ -54,7 +54,8 @@ public class LimitInterceptor { key = limitPointAnnotation.key(); break; default: - key = limitPointAnnotation.key() + getIpAddress(); + key = limitPointAnnotation.key() + IpUtils + .getIpAddress(((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()); } ImmutableList keys = ImmutableList.of(StringUtils.join(limitPointAnnotation.prefix(), key)); try { @@ -71,32 +72,8 @@ public class LimitInterceptor { } catch (ServiceException e) { throw e; } catch (Exception e) { - throw new RuntimeException("服务器异常,请稍后再试"); + throw new ServiceException(ResultCode.ERROR); } } - - /** - * 默认unknown常量值 - */ - private static final String UNKNOWN = "unknown"; - - /** - * 获取ip - * @return ip - */ - public String getIpAddress() { - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - String ip = request.getHeader("x-forwarded-for"); - if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { - ip = request.getHeader("Proxy-Client-IP"); - } - if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { - ip = request.getHeader("WL-Proxy-Client-IP"); - } - if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { - ip = request.getRemoteAddr(); - } - return ip; - } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/common/aop/annotation/DemoSite.java b/framework/src/main/java/cn/lili/common/aop/annotation/DemoSite.java index 48facbd3..8d119f17 100644 --- a/framework/src/main/java/cn/lili/common/aop/annotation/DemoSite.java +++ b/framework/src/main/java/cn/lili/common/aop/annotation/DemoSite.java @@ -4,6 +4,8 @@ import java.lang.annotation.*; /** * 演示站点注解 + *

+ * PS 此注解需要用户登录之后才可以使用 * * @author Bulbasaur * @since 2021/7/9 1:40 上午 diff --git a/framework/src/main/java/cn/lili/common/aop/annotation/PreventDuplicateSubmissions.java b/framework/src/main/java/cn/lili/common/aop/annotation/PreventDuplicateSubmissions.java new file mode 100644 index 00000000..ba884dfe --- /dev/null +++ b/framework/src/main/java/cn/lili/common/aop/annotation/PreventDuplicateSubmissions.java @@ -0,0 +1,24 @@ +package cn.lili.common.aop.annotation; + +import java.lang.annotation.*; + +/** + * 防止重复提交注解 + * + * @author liushuai(liushuai711 @ gmail.com) + * @version v4.0 + * @Description: + * @since 2022/1/25 09:17 + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Inherited +public @interface PreventDuplicateSubmissions { + + + /** + * 过期时间 + */ + long expire() default 3; +} diff --git a/framework/src/main/java/cn/lili/common/aop/interceptor/DemoInterceptor.java b/framework/src/main/java/cn/lili/common/aop/interceptor/DemoInterceptor.java index d021b474..ed5a365a 100644 --- a/framework/src/main/java/cn/lili/common/aop/interceptor/DemoInterceptor.java +++ b/framework/src/main/java/cn/lili/common/aop/interceptor/DemoInterceptor.java @@ -26,7 +26,7 @@ public class DemoInterceptor { @Before("@annotation(demoSite)") public void doAfter(DemoSite demoSite) { - if (systemSettingProperties.getIsDemoSite()) { + if (Boolean.TRUE.equals(systemSettingProperties.getIsDemoSite())) { throw new ServiceException(ResultCode.DEMO_SITE_EXCEPTION); } } diff --git a/framework/src/main/java/cn/lili/common/aop/interceptor/PreventDuplicateSubmissionsInterceptor.java b/framework/src/main/java/cn/lili/common/aop/interceptor/PreventDuplicateSubmissionsInterceptor.java new file mode 100644 index 00000000..263cf18f --- /dev/null +++ b/framework/src/main/java/cn/lili/common/aop/interceptor/PreventDuplicateSubmissionsInterceptor.java @@ -0,0 +1,67 @@ +package cn.lili.common.aop.interceptor; + +/** + * 防重复提交业务 + * + * @author Chopper + * @version v1.0 + * 2022-01-25 09:20 + */ + +import cn.lili.cache.Cache; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; +import cn.lili.common.enums.ResultCode; +import cn.lili.common.exception.ServiceException; +import cn.lili.common.security.context.UserContext; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +@Aspect +@Component +@Slf4j +public class PreventDuplicateSubmissionsInterceptor { + + @Autowired + private Cache cache; + + + @Before("@annotation(preventDuplicateSubmissions)") + public void interceptor(PreventDuplicateSubmissions preventDuplicateSubmissions) { + + try { + Long count = cache.incr(getParams(), preventDuplicateSubmissions.expire()); + //如果超过1或者设置的参数,则表示重复提交了 + if (count.intValue() >= preventDuplicateSubmissions.expire()) { + throw new ServiceException(ResultCode.LIMIT_ERROR); + } + } + //如果参数为空,则表示用户未登录,直接略过,不做处理 + catch (NullPointerException e) { + return; + } catch (ServiceException e) { + throw e; + } catch (Exception e) { + throw new ServiceException(ResultCode.ERROR); + } + } + + /** + * 获取表单参数 + * + * @return + */ + private String getParams() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + //请求地址 + return request.getRequestURI() + UserContext.getCurrentUser().getId() + UserContext.getCurrentUser().getUsername(); + } + + +} diff --git a/framework/src/main/java/cn/lili/common/security/context/UserContext.java b/framework/src/main/java/cn/lili/common/security/context/UserContext.java index 6ecf8ee6..311c6bcb 100644 --- a/framework/src/main/java/cn/lili/common/security/context/UserContext.java +++ b/framework/src/main/java/cn/lili/common/security/context/UserContext.java @@ -45,8 +45,7 @@ public class UserContext { public static String getUuid() { if (RequestContextHolder.getRequestAttributes() != null) { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - String uuid = request.getHeader(SecurityEnum.UUID.getValue()); - return uuid; + return request.getHeader(SecurityEnum.UUID.getValue()); } return null; } diff --git a/framework/src/main/java/cn/lili/common/utils/SnowflakeInitiator.java b/framework/src/main/java/cn/lili/common/utils/SnowflakeInitiator.java index 4a36af5c..8ffbba1f 100644 --- a/framework/src/main/java/cn/lili/common/utils/SnowflakeInitiator.java +++ b/framework/src/main/java/cn/lili/common/utils/SnowflakeInitiator.java @@ -1,15 +1,11 @@ package cn.lili.common.utils; import cn.lili.cache.Cache; -import com.alibaba.fastjson.JSON; -import lombok.AllArgsConstructor; -import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; -import java.util.concurrent.TimeUnit; /** * SnowflakeInitiator @@ -25,7 +21,7 @@ public class SnowflakeInitiator { /** * 缓存前缀 */ - private static String KEY = "{Snowflake}"; + private static final String KEY = "{Snowflake}"; @Autowired private Cache cache; 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 a71f8f79..f7a98a6b 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 @@ -1,5 +1,6 @@ package cn.lili.modules.connect.serviceimpl; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import cn.lili.cache.Cache; @@ -13,7 +14,6 @@ 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; import cn.lili.modules.connect.entity.dto.WechatMPLoginParams; @@ -35,6 +35,7 @@ import lombok.extern.slf4j.Slf4j; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; @@ -55,6 +56,7 @@ import java.util.concurrent.TimeUnit; @Service public class ConnectServiceImpl extends ServiceImpl implements ConnectService { + static final boolean AUTO_REGION = true; @Autowired private SettingService settingService; @@ -65,10 +67,8 @@ public class ConnectServiceImpl extends ServiceImpl impl @Autowired private Cache cache; - static boolean AUTO_REGION = true; - - @Override + @Transactional(rollbackFor = Exception.class) public Token unionLoginCallback(String type, String unionid, String uuid, boolean longTerm) throws NoPermissionException { try { @@ -94,6 +94,7 @@ public class ConnectServiceImpl extends ServiceImpl impl } @Override + @Transactional(rollbackFor = Exception.class) public Token unionLoginCallback(String type, ConnectAuthUser authUser, String uuid) { Token token; @@ -126,6 +127,7 @@ public class ConnectServiceImpl extends ServiceImpl impl } @Override + @Transactional(rollbackFor = Exception.class) public void unbind(String type) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -142,13 +144,12 @@ public class ConnectServiceImpl extends ServiceImpl impl queryWrapper.eq(Connect::getUserId, UserContext.getCurrentUser().getId()); List connects = this.list(queryWrapper); List keys = new ArrayList<>(); - connects.forEach(item -> { - keys.add(item.getUnionType()); - }); + connects.forEach(item -> keys.add(item.getUnionType())); return keys; } @Override + @Transactional(rollbackFor = Exception.class) public Token appLoginCallback(ConnectAuthUser authUser, String uuid) { try { return this.unionLoginCallback(authUser.getSource(), authUser.getUuid(), uuid, true); @@ -209,6 +210,7 @@ public class ConnectServiceImpl extends ServiceImpl impl * @param unionId 微信unionid * @return */ + @Transactional(rollbackFor = Exception.class) public Token phoneMpBindAndLogin(String sessionKey, WechatMPLoginParams params, String openId, String unionId) { String encryptedData = params.getEncryptedData(), iv = params.getIv(); JSONObject userInfo = this.getUserInfo(encryptedData, sessionKey, iv); @@ -237,9 +239,9 @@ public class ConnectServiceImpl extends ServiceImpl impl 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()); + queryWrapper.eq(CharSequenceUtil.isNotEmpty(connectQueryDTO.getUserId()), Connect::getUserId, connectQueryDTO.getUserId()) + .eq(CharSequenceUtil.isNotEmpty(connectQueryDTO.getUnionType()), Connect::getUnionType, connectQueryDTO.getUnionType()) + .eq(CharSequenceUtil.isNotEmpty(connectQueryDTO.getUnionId()), Connect::getUnionId, connectQueryDTO.getUnionId()); return this.getOne(queryWrapper); } @@ -258,7 +260,7 @@ public class ConnectServiceImpl extends ServiceImpl impl //如果unionid 不为空 则为账号绑定unionid - if (StringUtils.isNotEmpty(unionId)) { + if (CharSequenceUtil.isNotEmpty(unionId)) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.eq(Connect::getUnionId, unionId); lambdaQueryWrapper.eq(Connect::getUnionType, ConnectEnum.WECHAT.name()); @@ -271,12 +273,12 @@ public class ConnectServiceImpl extends ServiceImpl impl this.save(connect); } }//如果openid 不为空 则为账号绑定openid - if (StringUtils.isNotEmpty(openId)) { + if (CharSequenceUtil.isNotEmpty(openId)) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper(); lambdaQueryWrapper.eq(Connect::getUnionId, openId); lambdaQueryWrapper.eq(Connect::getUnionType, ConnectEnum.WECHAT_MP_OPEN_ID.name()); List connects = this.list(lambdaQueryWrapper); - if (connects.size() == 0) { + if (connects.isEmpty()) { Connect connect = new Connect(); connect.setUnionId(openId); connect.setUserId(member.getId()); @@ -290,7 +292,7 @@ public class ConnectServiceImpl extends ServiceImpl impl /** * 获取微信小程序配置 * - * @return + * @return 微信小程序配置 */ private WechatConnectSettingItem getWechatMPSetting() { Setting setting = settingService.get(SettingEnum.WECHAT_CONNECT.name()); diff --git a/framework/src/main/java/cn/lili/modules/connect/util/ConnectUtil.java b/framework/src/main/java/cn/lili/modules/connect/util/ConnectUtil.java index 6a627b4b..272ad84e 100644 --- a/framework/src/main/java/cn/lili/modules/connect/util/ConnectUtil.java +++ b/framework/src/main/java/cn/lili/modules/connect/util/ConnectUtil.java @@ -3,22 +3,22 @@ package cn.lili.modules.connect.util; 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.security.token.Token; -import cn.lili.common.vo.ResultMessage; import cn.lili.common.properties.ApiProperties; import cn.lili.common.properties.DomainProperties; -import cn.lili.common.enums.ClientTypeEnum; +import cn.lili.common.security.token.Token; +import cn.lili.common.vo.ResultMessage; import cn.lili.modules.connect.config.AuthConfig; import cn.lili.modules.connect.config.ConnectAuthEnum; import cn.lili.modules.connect.entity.dto.AuthCallback; import cn.lili.modules.connect.entity.dto.AuthResponse; import cn.lili.modules.connect.entity.dto.ConnectAuthUser; import cn.lili.modules.connect.exception.AuthException; -import cn.lili.modules.connect.request.BaseAuthQQRequest; import cn.lili.modules.connect.request.AuthRequest; +import cn.lili.modules.connect.request.BaseAuthQQRequest; import cn.lili.modules.connect.request.BaseAuthWeChatPCRequest; import cn.lili.modules.connect.request.BaseAuthWeChatRequest; import cn.lili.modules.connect.service.ConnectService; @@ -62,7 +62,7 @@ public class ConnectUtil { private DomainProperties domainProperties; - static String prefix = "/buyer/connect/callback/"; + static String prefix = "/buyer/passport/connect/connect/callback/"; /** * 回调地址获取 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 d93247e2..805fc9db 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 @@ -57,6 +57,7 @@ public class DistributionCashServiceImpl extends ServiceImpl implements Fi @Override public void batchDelete(List ids) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(File::getId, ids); List files = this.list(queryWrapper); @@ -49,7 +48,7 @@ public class FileServiceImpl extends ServiceImpl implements Fi @Override public void batchDelete(List ids, AuthUser authUser) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(File::getId, ids); queryWrapper.eq(File::getUserEnums, authUser.getRole().name()); @@ -76,26 +75,24 @@ public class FileServiceImpl extends ServiceImpl implements Fi @Override public IPage customerPage(File file, SearchVO searchVO, PageVO pageVo) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.like(StringUtils.isNotEmpty(file.getName()), File::getName, file.getName()) - .like(StringUtils.isNotEmpty(file.getFileKey()), File::getFileKey, file.getFileKey()) - .like(StringUtils.isNotEmpty(file.getFileType()), File::getFileType, file.getFileType()) - .between(StringUtils.isNotEmpty(searchVO.getStartDate()) && StringUtils.isNotEmpty(searchVO.getEndDate()), + queryWrapper.like(CharSequenceUtil.isNotEmpty(file.getName()), File::getName, file.getName()) + .like(CharSequenceUtil.isNotEmpty(file.getFileKey()), File::getFileKey, file.getFileKey()) + .like(CharSequenceUtil.isNotEmpty(file.getFileType()), File::getFileType, file.getFileType()) + .between(CharSequenceUtil.isNotEmpty(searchVO.getStartDate()) && CharSequenceUtil.isNotEmpty(searchVO.getEndDate()), File::getCreateTime, searchVO.getStartDate(), searchVO.getEndDate()); - IPage page = this.page(PageUtil.initPage(pageVo), queryWrapper); - return page; + return this.page(PageUtil.initPage(pageVo), queryWrapper); } @Override public IPage customerPageOwner(FileOwnerDTO ownerDTO, File file, SearchVO searchVO, PageVO pageVo) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(StringUtils.isNotEmpty(ownerDTO.getOwnerId()), File::getOwnerId, ownerDTO.getOwnerId()) + queryWrapper.eq(CharSequenceUtil.isNotEmpty(ownerDTO.getOwnerId()), File::getOwnerId, ownerDTO.getOwnerId()) .eq(File::getUserEnums, ownerDTO.getUserEnums()) - .like(StringUtils.isNotEmpty(file.getName()), File::getName, file.getName()) - .like(StringUtils.isNotEmpty(file.getFileKey()), File::getFileKey, file.getFileKey()) - .like(StringUtils.isNotEmpty(file.getFileType()), File::getFileType, file.getFileType()) - .between(StringUtils.isNotEmpty(searchVO.getStartDate()) && StringUtils.isNotEmpty(searchVO.getEndDate()), + .like(CharSequenceUtil.isNotEmpty(file.getName()), File::getName, file.getName()) + .like(CharSequenceUtil.isNotEmpty(file.getFileKey()), File::getFileKey, file.getFileKey()) + .like(CharSequenceUtil.isNotEmpty(file.getFileType()), File::getFileType, file.getFileType()) + .between(CharSequenceUtil.isNotEmpty(searchVO.getStartDate()) && CharSequenceUtil.isNotEmpty(searchVO.getEndDate()), File::getCreateTime, searchVO.getStartDate(), searchVO.getEndDate()); - IPage page = this.page(PageUtil.initPage(pageVo), queryWrapper); - return page; + return this.page(PageUtil.initPage(pageVo), queryWrapper); } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/goods/service/CategoryService.java b/framework/src/main/java/cn/lili/modules/goods/service/CategoryService.java index 519b0c96..86888589 100644 --- a/framework/src/main/java/cn/lili/modules/goods/service/CategoryService.java +++ b/framework/src/main/java/cn/lili/modules/goods/service/CategoryService.java @@ -8,7 +8,6 @@ import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; -import java.io.Serializable; import java.util.List; /** diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/BrandServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/BrandServiceImpl.java index 0587303f..c9b945e3 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/BrandServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/BrandServiceImpl.java @@ -20,7 +20,6 @@ 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 org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; @@ -110,7 +109,7 @@ public class BrandServiceImpl extends ServiceImpl implements /** * 校验绑定关系 * - * @param brandIds + * @param brandIds 品牌Ids */ private void checkBind(List brandIds) { //分了绑定关系查询 @@ -130,19 +129,11 @@ public class BrandServiceImpl extends ServiceImpl implements } } - /** - * 校验绑定关系 - * - * @param brandIds - */ - private void checkoutGoods(List brandIds) { - } - /** * 校验是否存在 * - * @param brandId - * @return + * @param brandId 品牌ID + * @return 品牌 */ private Brand checkExist(String brandId) { Brand brand = getById(brandId); diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategoryBrandServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategoryBrandServiceImpl.java index 9ddaf39e..7374868f 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategoryBrandServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategoryBrandServiceImpl.java @@ -38,6 +38,7 @@ public class CategoryBrandServiceImpl extends ServiceImpl brandIds) { //删除分类品牌绑定信息 this.deleteByCategoryId(categoryId); diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategoryParameterGroupServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategoryParameterGroupServiceImpl.java index 557e7fd7..9d5ab172 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategoryParameterGroupServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategoryParameterGroupServiceImpl.java @@ -3,7 +3,6 @@ package cn.lili.modules.goods.serviceimpl; import cn.hutool.json.JSONUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.modules.goods.entity.dos.CategoryParameterGroup; import cn.lili.modules.goods.entity.dos.Goods; import cn.lili.modules.goods.entity.dos.Parameters; @@ -17,7 +16,6 @@ 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.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; @@ -47,12 +45,6 @@ public class CategoryParameterGroupServiceImpl extends ServiceImpl getCategoryParams(String categoryId) { //根据id查询参数组 @@ -75,6 +67,7 @@ public class CategoryParameterGroupServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public boolean saveCategory(Category category) { //判断分类佣金是否正确 if (category.getCommissionRate() < 0) { @@ -215,6 +216,7 @@ public class CategoryServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public void updateCategory(Category category) { //判断分类佣金是否正确 if (category.getCommissionRate() < 0) { @@ -240,6 +242,7 @@ public class CategoryServiceImpl extends ServiceImpl i @Override + @Transactional(rollbackFor = Exception.class) public void delete(String id) { this.removeById(id); removeCache(); @@ -250,6 +253,7 @@ public class CategoryServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public void updateCategoryStatus(String categoryId, Boolean enableOperations) { //禁用子分类 CategoryVO categoryVO = new CategoryVO(this.getById(categoryId)); @@ -303,34 +307,6 @@ public class CategoryServiceImpl extends ServiceImpl i } } - /** - * 拼装返回值 - * - * @param paramList 参数列表 - * @return 拼装后的返回值 - */ - private List convertParamList(List groupList, List paramList) { - Map> map = new HashMap<>(16); - for (GoodsParamsVO param : paramList) { - if (map.get(param.getGroupId()) != null) { - map.get(param.getGroupId()).add(param); - } else { - List list = new ArrayList<>(); - list.add(param); - map.put(param.getGroupId(), list); - } - } - List resList = new ArrayList<>(); - for (CategoryParameterGroup group : groupList) { - GoodsParamsGroupVO list = new GoodsParamsGroupVO(); - list.setGroupName(group.getGroupName()); - list.setGroupId(group.getId()); - list.setParams(map.get(group.getId())); - resList.add(list); - } - return resList; - } - /** * 获取所有的子分类ID * diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategorySpecificationServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategorySpecificationServiceImpl.java index 7eab0561..2ff12b2a 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategorySpecificationServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CategorySpecificationServiceImpl.java @@ -7,7 +7,6 @@ import cn.lili.modules.goods.service.CategorySpecificationService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.List; diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CommodityServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CommodityServiceImpl.java index 983c56b5..0beff15b 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CommodityServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/CommodityServiceImpl.java @@ -27,6 +27,7 @@ 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 org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Objects; @@ -46,6 +47,7 @@ public class CommodityServiceImpl extends ServiceImpl commodityList) { String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId(); for (Commodity commodity : commodityList) { @@ -54,7 +56,7 @@ public class CommodityServiceImpl extends ServiceImpl goodsIdList = this.baseMapper.getAuditCommodity(); - if (goodsIdList.size() > 0) { + if (!goodsIdList.isEmpty()) { //同步状态 JSONObject json = wechatLivePlayerUtil.getGoodsWareHouse(goodsIdList); //修改状态 diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/DraftGoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/DraftGoodsServiceImpl.java index fd795f36..1493121f 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/DraftGoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/DraftGoodsServiceImpl.java @@ -8,7 +8,6 @@ import cn.lili.modules.goods.entity.dos.Category; import cn.lili.modules.goods.entity.dos.DraftGoods; import cn.lili.modules.goods.entity.dos.GoodsGallery; import cn.lili.modules.goods.entity.dos.GoodsSku; -import cn.lili.mybatis.util.PageUtil; import cn.lili.modules.goods.entity.dto.DraftGoodsDTO; import cn.lili.modules.goods.entity.dto.DraftGoodsSearchParams; import cn.lili.modules.goods.entity.dto.GoodsParamsDTO; @@ -18,11 +17,11 @@ import cn.lili.modules.goods.service.CategoryService; import cn.lili.modules.goods.service.DraftGoodsService; import cn.lili.modules.goods.service.GoodsGalleryService; import cn.lili.modules.goods.service.GoodsSkuService; +import cn.lili.mybatis.util.PageUtil; 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 org.springframework.transaction.annotation.Transactional; import java.util.*; 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 f31a171f..5e4577d7 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 @@ -36,6 +36,7 @@ public class GoodsGalleryServiceImpl extends ServiceImpl goodsGalleryList, String goodsId) { //删除原来商品相册信息 this.baseMapper.delete(new UpdateWrapper().eq("goods_id", goodsId)); diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java index 6a68590a..ee8fe200 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java @@ -121,6 +121,7 @@ public class GoodsServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public void underStoreGoods(String storeId) { //获取商品ID列表 List list = this.baseMapper.getGoodsIdByStoreId(storeId); @@ -135,6 +136,7 @@ public class GoodsServiceImpl extends ServiceImpl implements * @param params 商品参数 */ @Override + @Transactional(rollbackFor = Exception.class) public void updateGoodsParams(String goodsId, String params) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(Goods::getId, goodsId); @@ -151,6 +153,7 @@ public class GoodsServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public void addGoods(GoodsOperationDTO goodsOperationDTO) { Goods goods = new Goods(goodsOperationDTO); //检查商品 @@ -174,6 +177,7 @@ public class GoodsServiceImpl extends ServiceImpl implements @Override + @Transactional(rollbackFor = Exception.class) public void editGoods(GoodsOperationDTO goodsOperationDTO, String goodsId) { Goods goods = new Goods(goodsOperationDTO); goods.setId(goodsId); @@ -264,6 +268,7 @@ public class GoodsServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public boolean auditGoods(List goodsIds, GoodsAuthEnum goodsAuthEnum) { boolean result = false; for (String goodsId : goodsIds) { @@ -282,6 +287,7 @@ public class GoodsServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public Boolean updateGoodsMarketAble(List goodsIds, GoodsStatusEnum goodsStatusEnum, String underReason) { boolean result; @@ -311,6 +317,7 @@ public class GoodsServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public Boolean managerUpdateGoodsMarketAble(List goodsIds, GoodsStatusEnum goodsStatusEnum, String underReason) { boolean result; @@ -342,6 +349,7 @@ public class GoodsServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public Boolean deleteGoods(List goodsIds) { LambdaUpdateWrapper updateWrapper = this.getUpdateWrapperByStoreAuthority(); @@ -365,6 +373,7 @@ public class GoodsServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public Boolean freight(List goodsIds, String templateId) { AuthUser authUser = this.checkStoreAuthority(); @@ -383,7 +392,6 @@ public class GoodsServiceImpl extends ServiceImpl implements } @Override - @Transactional(rollbackFor = Exception.class) public void updateStock(String goodsId, Integer quantity) { LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate(); lambdaUpdateWrapper.set(Goods::getQuantity, quantity); @@ -425,6 +433,7 @@ public class GoodsServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public void updateStoreDetail(Store store) { UpdateWrapper updateWrapper = new UpdateWrapper<>() .eq("store_id", store.getId()) 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 40cc4192..f7a5932f 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 @@ -7,6 +7,7 @@ import cn.hutool.core.util.NumberUtil; 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.PromotionTypeEnum; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; @@ -113,6 +114,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i private ApplicationEventPublisher applicationEventPublisher; @Override + @Transactional(rollbackFor = Exception.class) public void add(List> skuList, Goods goods) { // 检查是否需要生成索引 List newSkuList; @@ -186,6 +188,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i * @param goodsSku sku信息 */ @Override + @Transactional(rollbackFor = Exception.class) public void update(GoodsSku goodsSku) { this.updateById(goodsSku); cache.remove(GoodsSkuService.getCacheKeys(goodsSku.getId())); @@ -319,6 +322,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i * @param goods 商品信息(Id,MarketEnable/AuthFlag) */ @Override + @Transactional(rollbackFor = Exception.class) public void updateGoodsSkuStatus(Goods goods) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(GoodsSku::getGoodsId, goods.getId()); @@ -431,6 +435,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public void updateStocks(List goodsSkuStockDTOS) { for (GoodsSkuStockDTO goodsSkuStockDTO : goodsSkuStockDTOS) { this.updateStock(goodsSkuStockDTO.getSkuId(), goodsSkuStockDTO.getQuantity()); @@ -438,6 +443,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public void updateStock(String skuId, Integer quantity) { GoodsSku goodsSku = getGoodsSkuByIdFromCache(skuId); if (goodsSku != null) { @@ -445,7 +451,10 @@ public class GoodsSkuServiceImpl extends ServiceImpl i goodsIndexService.deleteIndexById(goodsSku.getId()); } goodsSku.setQuantity(quantity); - this.update(new LambdaUpdateWrapper().eq(GoodsSku::getId, skuId).set(GoodsSku::getQuantity, quantity)); + boolean update = this.update(new LambdaUpdateWrapper().eq(GoodsSku::getId, skuId).set(GoodsSku::getQuantity, quantity)); + if (update) { + cache.remove(CachePrefix.GOODS.getPrefix() + goodsSku.getGoodsId()); + } cache.put(GoodsSkuService.getCacheKeys(skuId), goodsSku); cache.put(GoodsSkuService.getStockCacheKey(skuId), quantity); @@ -470,6 +479,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public void updateGoodsStuck(List goodsSkus) { //商品id集合 hashset 去重复 Set goodsIds = new HashSet<>(); @@ -498,6 +508,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public void updateGoodsSkuCommentNum(String skuId) { //获取商品信息 GoodsSku goodsSku = this.getGoodsSkuByIdFromCache(skuId); @@ -578,7 +589,6 @@ public class GoodsSkuServiceImpl extends ServiceImpl i * @param skuList sku列表 * @param goods 商品信息 */ - @Transactional(rollbackFor = Exception.class) List addGoodsSku(List> skuList, Goods goods) { List skus = new ArrayList<>(); for (Map skuVO : skuList) { diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsWordsServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsWordsServiceImpl.java index 775b5800..888fded8 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsWordsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsWordsServiceImpl.java @@ -5,7 +5,6 @@ import cn.lili.modules.goods.mapper.GoodsWordsMapper; import cn.lili.modules.goods.service.GoodsWordsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; /** * 商品关键字业务层实现 diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/ParametersServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/ParametersServiceImpl.java index 4aaa0ea6..13fa9704 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/ParametersServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/ParametersServiceImpl.java @@ -19,6 +19,7 @@ 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.List; @@ -51,6 +52,7 @@ public class ParametersServiceImpl extends ServiceImpl ids) { + boolean result = false; for (String id : ids) { //如果此规格绑定分类则不允许删除 List list = categorySpecificationService.list(new QueryWrapper().eq("specification_id", id)); if (!list.isEmpty()) { List categoryIds = new ArrayList<>(); - list.forEach(item -> { - categoryIds.add(item.getCategoryId()); - }); + list.forEach(item -> categoryIds.add(item.getCategoryId())); throw new ServiceException(ResultCode.SPEC_DELETE_ERROR, JSONUtil.toJsonStr(categoryService.getCategoryNameByIds(categoryIds))); } //删除规格 - this.removeById(id); + result = this.removeById(id); } - return true; + return result; } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StoreGoodsLabelServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StoreGoodsLabelServiceImpl.java index 2d11c912..99801a9d 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StoreGoodsLabelServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StoreGoodsLabelServiceImpl.java @@ -83,6 +83,7 @@ public class StoreGoodsLabelServiceImpl extends ServiceImpl impleme private GoodsService goodsService; @Override + @Transactional(rollbackFor = Exception.class) public Boolean create(Studio studio) { studio.setStoreId(Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId()); //创建小程序直播 @@ -97,6 +99,7 @@ public class StudioServiceImpl extends ServiceImpl impleme } @Override + @Transactional(rollbackFor = Exception.class) public Boolean edit(Studio studio) { Studio oldStudio = this.getById(studio.getId()); wechatLivePlayerUtil.editRoom(studio); @@ -153,6 +156,7 @@ public class StudioServiceImpl extends ServiceImpl impleme } @Override + @Transactional(rollbackFor = Exception.class) public Boolean push(Integer roomId, Integer goodsId, String storeId) { //判断直播间是否已添加商品 @@ -183,6 +187,7 @@ public class StudioServiceImpl extends ServiceImpl impleme } @Override + @Transactional(rollbackFor = Exception.class) public Boolean goodsDeleteInRoom(Integer roomId, Integer goodsId, String storeId) { Goods goods = goodsService.getOne(new LambdaQueryWrapper().eq(Goods::getId, goodsId).eq(Goods::getStoreId, storeId)); if (goods == null) { 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 1b600ce9..860018be 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 @@ -41,9 +41,10 @@ public interface MemberEvaluationService extends IService { * 4.发送用户评价消息修改商品的评价数量以及好评率 * * @param memberEvaluationDTO 评论 + * @param isSelf 是否自己操作(true:买家操作/false 系统操作) * @return 操作状态 */ - MemberEvaluationDTO addMemberEvaluation(MemberEvaluationDTO memberEvaluationDTO); + MemberEvaluationDTO addMemberEvaluation(MemberEvaluationDTO memberEvaluationDTO, Boolean isSelf); /** * 根据ID查询会员评价 diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java index eaafccf0..0fea8a25 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java @@ -36,6 +36,7 @@ public class FootprintServiceImpl extends ServiceImpl queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(FootPrint::getMemberId, footPrint.getMemberId()); @@ -69,8 +70,7 @@ public class FootprintServiceImpl extends ServiceImpl lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(FootPrint::getMemberId, UserContext.getCurrentUser().getId()); lambdaQueryWrapper.in(FootPrint::getGoodsId, ids); - this.remove(lambdaQueryWrapper); - return true; + return this.remove(lambdaQueryWrapper); } @Override 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 515cbc39..c7f915f7 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 @@ -14,7 +14,6 @@ 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.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Optional; diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberAddressServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberAddressServiceImpl.java index e206908d..a05ff296 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberAddressServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberAddressServiceImpl.java @@ -55,6 +55,7 @@ public class MemberAddressServiceImpl extends ServiceImpl updateWrapper = Wrappers.update(); updateWrapper.set("reply_status", true); updateWrapper.set("reply", reply); - if (StringUtils.isNotEmpty(replyImage)) { + if (CharSequenceUtil.isNotEmpty(replyImage)) { updateWrapper.set("have_reply_image", true); updateWrapper.set("reply_image", replyImage); } diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberNoticeSenterServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberNoticeSenterServiceImpl.java index 934a5495..1bccca56 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberNoticeSenterServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberNoticeSenterServiceImpl.java @@ -1,8 +1,8 @@ package cn.lili.modules.member.serviceimpl; +import cn.hutool.core.text.CharSequenceUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.common.utils.StringUtils; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.entity.dos.MemberNotice; import cn.lili.modules.member.entity.dos.MemberNoticeSenter; @@ -42,6 +42,7 @@ public class MemberNoticeSenterServiceImpl extends ServiceImpl 0) { + if (!memberNotices.isEmpty()) { //批量保存 if (memberNoticeService.saveBatch(memberNotices)) { return true; diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberPointsHistoryServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberPointsHistoryServiceImpl.java index f1557ca6..70c40c38 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberPointsHistoryServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberPointsHistoryServiceImpl.java @@ -2,7 +2,6 @@ package cn.lili.modules.member.serviceimpl; import cn.hutool.core.text.CharSequenceUtil; -import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.PageVO; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.entity.dos.MemberPointsHistory; @@ -49,7 +48,7 @@ public class MemberPointsHistoryServiceImpl extends ServiceImpl receipts = this.baseMapper.selectList(new QueryWrapper() .eq("member_id", memberId) .eq("receipt_title", memberReceiptAddVO.getReceiptTitle()) ); - if (receipts.size() > 0) { + if (!receipts.isEmpty()) { throw new ServiceException(ResultCode.USER_RECEIPT_REPEAT_ERROR); } //参数封装 @@ -60,7 +62,7 @@ public class MemberReceiptServiceImpl extends ServiceImpl list = this.baseMapper.selectList(new QueryWrapper().eq("member_id", memberId)); //如果当前会员只有一个发票则默认为默认发票,反之需要校验参数默认值,做一些处理 - if (list.size() <= 0) { + if (list.isEmpty()) { memberReceipt.setIsDefault(1); } else { if (memberReceiptAddVO.getIsDefault().equals(1)) { @@ -78,6 +80,7 @@ public class MemberReceiptServiceImpl extends ServiceImpl 0) { + if (!receipts.isEmpty()) { throw new ServiceException(ResultCode.USER_RECEIPT_REPEAT_ERROR); } BeanUtil.copyProperties(memberReceiptAddVO, memberReceiptDb); 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 52bd1052..e0fef231 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 @@ -50,6 +50,7 @@ import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -380,6 +381,7 @@ public class MemberServiceImpl extends ServiceImpl impleme @Override @PointLogPoint + @Transactional(rollbackFor = Exception.class) public Boolean updateMemberPoint(Long point, String type, String memberId, String content) { //获取当前会员信息 Member member = this.getById(memberId); diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberSignServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberSignServiceImpl.java index 25dd0ea0..fbac26ba 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberSignServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberSignServiceImpl.java @@ -2,34 +2,30 @@ package cn.lili.modules.member.serviceimpl; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.modules.member.entity.enums.PointTypeEnum; -import cn.lili.modules.system.entity.dto.PointSettingItem; -import cn.lili.rocketmq.RocketmqSendCallbackBuilder; -import cn.lili.rocketmq.tags.MemberTagsEnum; +import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.DateUtil; -import cn.lili.common.utils.StringUtils; -import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.modules.member.entity.dos.MemberSign; +import cn.lili.modules.member.entity.enums.PointTypeEnum; import cn.lili.modules.member.mapper.MemberSignMapper; import cn.lili.modules.member.service.MemberService; import cn.lili.modules.member.service.MemberSignService; import cn.lili.modules.system.entity.dos.Setting; import cn.lili.modules.system.entity.dto.PointSetting; +import cn.lili.modules.system.entity.dto.PointSettingItem; import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.lili.rocketmq.RocketmqSendCallbackBuilder; +import cn.lili.rocketmq.tags.MemberTagsEnum; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.gson.Gson; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Date; import java.util.List; -import java.util.Map; /** * 会员签到业务层实现 @@ -67,14 +63,6 @@ public class MemberSignServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("member_id", authUser.getId()); - queryWrapper.between("create_time", new Date(DateUtil.startOfTodDay() * 1000), DateUtil.getCurrentDayEndTime()); - //校验今天是否已经签到 - List todaySigns = this.baseMapper.getTodayMemberSign(queryWrapper); - if (todaySigns.size() > 0) { - throw new ServiceException(ResultCode.MEMBER_SIGN_REPEAT); - } //当前签到天数的前一天日期 List signs = this.baseMapper.getBeforeMemberSign(authUser.getId()); //构建参数 @@ -82,21 +70,24 @@ public class MemberSignServiceImpl extends ServiceImpl 0) { + if (!signs.isEmpty()) { //截止目前为止 签到总天数 不带今天 Integer signDay = signs.get(0).getSignDay(); memberSign.setSignDay(CurrencyUtil.add(signDay, 1).intValue()); } else { memberSign.setSignDay(1); } - Integer result = this.baseMapper.insert(memberSign); - //签到成功后发送消息赠送积分 - if (result > 0) { + //手动写入创建时间,以保证唯一索引生效 + memberSign.setCreateTime(DateUtil.getCurrentDayEndTime()); + try { + this.baseMapper.insert(memberSign); + //签到成功后发送消息赠送积分 String destination = rocketmqCustomProperties.getMemberTopic() + ":" + MemberTagsEnum.MEMBER_SING.name(); rocketMQTemplate.asyncSend(destination, memberSign, RocketmqSendCallbackBuilder.commonCallback()); return true; + } catch (Exception e) { + throw new ServiceException(ResultCode.MEMBER_SIGN_REPEAT); } - return false; } throw new ServiceException(ResultCode.USER_NOT_LOGIN); } 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 bfd798f2..6772fb93 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 @@ -17,6 +17,7 @@ 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 org.springframework.transaction.annotation.Transactional; import java.util.Optional; @@ -50,6 +51,7 @@ public class StoreCollectionServiceImpl extends ServiceImpl() .eq(StoreCollection::getMemberId, UserContext.getCurrentUser().getId()) @@ -63,6 +65,7 @@ public class StoreCollectionServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper(); queryWrapper.eq("member_id", UserContext.getCurrentUser().getId()); diff --git a/framework/src/main/java/cn/lili/modules/member/token/MemberTokenGenerate.java b/framework/src/main/java/cn/lili/modules/member/token/MemberTokenGenerate.java index d903d549..b83ac909 100644 --- a/framework/src/main/java/cn/lili/modules/member/token/MemberTokenGenerate.java +++ b/framework/src/main/java/cn/lili/modules/member/token/MemberTokenGenerate.java @@ -1,15 +1,14 @@ package cn.lili.modules.member.token; +import cn.lili.common.context.ThreadContextHolder; +import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.common.security.AuthUser; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.security.token.Token; import cn.lili.common.security.token.TokenUtil; import cn.lili.common.security.token.base.AbstractTokenGenerate; -import cn.lili.common.context.ThreadContextHolder; -import cn.lili.common.enums.ClientTypeEnum; import cn.lili.modules.member.entity.dos.Member; -import cn.lili.modules.member.service.MemberService; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.MemberTagsEnum; import org.apache.rocketmq.spring.core.RocketMQTemplate; diff --git a/framework/src/main/java/cn/lili/modules/member/token/StoreTokenGenerate.java b/framework/src/main/java/cn/lili/modules/member/token/StoreTokenGenerate.java index 558289df..bb0d70fe 100644 --- a/framework/src/main/java/cn/lili/modules/member/token/StoreTokenGenerate.java +++ b/framework/src/main/java/cn/lili/modules/member/token/StoreTokenGenerate.java @@ -8,7 +8,6 @@ import cn.lili.common.security.token.Token; import cn.lili.common.security.token.TokenUtil; import cn.lili.common.security.token.base.AbstractTokenGenerate; import cn.lili.modules.member.entity.dos.Member; -import cn.lili.modules.member.service.MemberService; import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.service.StoreService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -31,7 +30,7 @@ public class StoreTokenGenerate extends AbstractTokenGenerate { @Override public Token createToken(Member member, Boolean longTerm) { - if (!member.getHaveStore()) { + if (Boolean.FALSE.equals(member.getHaveStore())) { throw new ServiceException(ResultCode.STORE_NOT_OPEN); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); diff --git a/framework/src/main/java/cn/lili/modules/message/serviceimpl/MessageServiceImpl.java b/framework/src/main/java/cn/lili/modules/message/serviceimpl/MessageServiceImpl.java index 31d31150..0f057d1a 100644 --- a/framework/src/main/java/cn/lili/modules/message/serviceimpl/MessageServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/message/serviceimpl/MessageServiceImpl.java @@ -1,14 +1,14 @@ package cn.lili.modules.message.serviceimpl; -import cn.lili.rocketmq.RocketmqSendCallbackBuilder; -import cn.lili.rocketmq.tags.OtherTagsEnum; -import cn.lili.mybatis.util.PageUtil; -import cn.lili.common.vo.PageVO; import cn.lili.common.properties.RocketmqCustomProperties; +import cn.lili.common.vo.PageVO; import cn.lili.modules.message.entity.dos.Message; import cn.lili.modules.message.entity.vos.MessageVO; import cn.lili.modules.message.mapper.MessageMapper; import cn.lili.modules.message.service.MessageService; +import cn.lili.mybatis.util.PageUtil; +import cn.lili.rocketmq.RocketmqSendCallbackBuilder; +import cn.lili.rocketmq.tags.OtherTagsEnum; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.rocketmq.spring.core.RocketMQTemplate; @@ -38,6 +38,7 @@ public class MessageServiceImpl extends ServiceImpl impl @Override + @Transactional(rollbackFor = Exception.class) public Boolean sendMessage(Message message) { //保存站内信信息 this.save(message); diff --git a/framework/src/main/java/cn/lili/modules/message/serviceimpl/NoticeMessageServiceImpl.java b/framework/src/main/java/cn/lili/modules/message/serviceimpl/NoticeMessageServiceImpl.java index 8bc64782..e177cb6a 100644 --- a/framework/src/main/java/cn/lili/modules/message/serviceimpl/NoticeMessageServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/message/serviceimpl/NoticeMessageServiceImpl.java @@ -1,8 +1,7 @@ package cn.lili.modules.message.serviceimpl; +import cn.hutool.core.text.CharSequenceUtil; import cn.lili.common.enums.SwitchEnum; -import cn.lili.mybatis.util.PageUtil; -import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.PageVO; import cn.lili.modules.message.entity.dos.MemberMessage; import cn.lili.modules.message.entity.dos.NoticeMessage; @@ -12,6 +11,7 @@ import cn.lili.modules.message.entity.enums.NoticeMessageParameterEnum; import cn.lili.modules.message.mapper.NoticeMessageTemplateMapper; import cn.lili.modules.message.service.MemberMessageService; import cn.lili.modules.message.service.NoticeMessageService; +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; @@ -38,7 +38,7 @@ public class NoticeMessageServiceImpl extends ServiceImpl messageTemplateQueryWrapper = new QueryWrapper<>(); //消息模板类型 - messageTemplateQueryWrapper.eq(!StringUtils.isEmpty(type), "type", type); + messageTemplateQueryWrapper.eq(!CharSequenceUtil.isEmpty(type), "type", type); messageTemplateQueryWrapper.orderByDesc("create_time"); //查询数据返回 return this.page(PageUtil.initPage(pageVO), messageTemplateQueryWrapper); @@ -85,10 +85,10 @@ public class NoticeMessageServiceImpl extends ServiceImpl parameter) { - for (String key : parameter.keySet()) { - String description = NoticeMessageParameterEnum.getValueByType(key); - if (description != null && parameter.get(key) != null) { - noticeContent = noticeContent.replace("#{" + description + "}".trim(), parameter.get(key)); + for (Map.Entry entry : parameter.entrySet()) { + String description = NoticeMessageParameterEnum.getValueByType(entry.getKey()); + if (description != null && entry.getValue() != null) { + noticeContent = noticeContent.replace("#{" + description + "}".trim(), entry.getValue()); } } return noticeContent; 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 cd74a386..6ab973e5 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 @@ -6,7 +6,6 @@ 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; diff --git a/framework/src/main/java/cn/lili/modules/message/serviceimpl/StoreMessageServiceImpl.java b/framework/src/main/java/cn/lili/modules/message/serviceimpl/StoreMessageServiceImpl.java index 1202b4d2..104685e7 100644 --- a/framework/src/main/java/cn/lili/modules/message/serviceimpl/StoreMessageServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/message/serviceimpl/StoreMessageServiceImpl.java @@ -1,15 +1,15 @@ package cn.lili.modules.message.serviceimpl; +import cn.hutool.core.text.CharSequenceUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.security.context.UserContext; -import cn.lili.mybatis.util.PageUtil; -import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.PageVO; import cn.lili.modules.message.entity.dos.StoreMessage; import cn.lili.modules.message.entity.vos.StoreMessageQueryVO; import cn.lili.modules.message.mapper.StoreMessageMapper; import cn.lili.modules.message.service.StoreMessageService; +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; @@ -42,11 +42,11 @@ public class StoreMessageServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); //消息id查询 - if (StringUtils.isNotEmpty(storeMessageQueryVO.getMessageId())) { + if (CharSequenceUtil.isNotEmpty(storeMessageQueryVO.getMessageId())) { queryWrapper.eq("message_id", storeMessageQueryVO.getMessageId()); } //商家id - if (StringUtils.isNotEmpty(storeMessageQueryVO.getStoreId())) { + if (CharSequenceUtil.isNotEmpty(storeMessageQueryVO.getStoreId())) { queryWrapper.eq("store_id", storeMessageQueryVO.getStoreId()); } //状态查询 diff --git a/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleLogServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleLogServiceImpl.java index fc178579..0f17546f 100644 --- a/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleLogServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleLogServiceImpl.java @@ -7,7 +7,6 @@ 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; import java.util.List; diff --git a/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleReasonServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleReasonServiceImpl.java index 1fcc1c7a..283872d0 100644 --- a/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleReasonServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleReasonServiceImpl.java @@ -8,7 +8,6 @@ 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.List; diff --git a/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java index 843996fa..d86fee45 100644 --- a/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/serviceimpl/AfterSaleServiceImpl.java @@ -168,6 +168,7 @@ public class AfterSaleServiceImpl extends ServiceImpl cartSkuVOS = tradeDTO.getSkuList(); @@ -496,6 +498,7 @@ public class CartServiceImpl implements CartService { } @Override + @Transactional(rollbackFor = Exception.class) public void selectCoupon(String couponId, String way, boolean use) { AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser()); //获取购物车,然后重新写入优惠券 diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Trade.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Trade.java index b8a8aaa8..9edc785a 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Trade.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Trade.java @@ -1,10 +1,10 @@ package cn.lili.modules.order.order.entity.dos; +import cn.lili.common.utils.BeanUtil; +import cn.lili.modules.order.cart.entity.dto.TradeDTO; +import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.mybatis.BaseEntity; -import cn.lili.common.utils.BeanUtil; -import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum; -import cn.lili.modules.order.cart.entity.dto.TradeDTO; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/TradeStatusEnum.java b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/TradeStatusEnum.java new file mode 100644 index 00000000..5e4e8fdb --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/TradeStatusEnum.java @@ -0,0 +1,33 @@ +package cn.lili.modules.order.order.entity.enums; + +/** + * 交易状态枚举 + * + * @author Chopper + * @since 2020/11/17 7:27 下午 + */ +public enum TradeStatusEnum { + + /** + * 交易状态 + */ + UNPAID("未付款"), + PAID("已付款"), + CANCELLED("已取消"); + + private final String description; + + TradeStatusEnum(String description) { + this.description = description; + } + + public String getDescription() { + return description; + } + + public String description() { + return this.description; + } + + +} 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 405c712a..bc5ebcaf 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 @@ -32,6 +32,7 @@ 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 org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -118,6 +119,7 @@ public class OrderComplaintServiceImpl extends ServiceImpl implements @Override @OrderLogPoint(description = "'订单['+#orderSn+']取消,原因为:'+#reason", orderSn = "#orderSn") + @Transactional(rollbackFor = Exception.class) public Order cancel(String orderSn, String reason) { Order order = OperationalJudgment.judgment(this.getBySn(orderSn)); //如果订单促销类型不为空&&订单是拼团订单,并且订单未成团,则抛出异常 @@ -307,6 +307,7 @@ public class OrderServiceImpl extends ServiceImpl implements @Override @OrderLogPoint(description = "'订单['+#orderSn+']系统取消,原因为:'+#reason", orderSn = "#orderSn") + @Transactional(rollbackFor = Exception.class) public void systemCancel(String orderSn, String reason) { Order order = this.getBySn(orderSn); order.setOrderStatus(OrderStatusEnum.CANCELLED.name()); @@ -327,6 +328,7 @@ public class OrderServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public void payOrder(String orderSn, String paymentMethod, String receivableNo) { Order order = this.getBySn(orderSn); @@ -362,6 +364,7 @@ public class OrderServiceImpl extends ServiceImpl implements @Override @OrderLogPoint(description = "'库存确认'", orderSn = "#orderSn") + @Transactional(rollbackFor = Exception.class) public void afterOrderConfirm(String orderSn) { Order order = this.getBySn(orderSn); //判断是否为拼团订单,进行特殊处理 @@ -382,6 +385,7 @@ public class OrderServiceImpl extends ServiceImpl implements @Override @SystemLogPoint(description = "修改订单", customerLog = "'订单[' + #orderSn + ']收货信息修改,修改为'+#memberAddressDTO.consigneeDetail+'") + @Transactional(rollbackFor = Exception.class) public Order updateConsignee(String orderSn, MemberAddressDTO memberAddressDTO) { Order order = OperationalJudgment.judgment(this.getBySn(orderSn)); @@ -399,6 +403,7 @@ public class OrderServiceImpl extends ServiceImpl implements @Override @OrderLogPoint(description = "'订单['+#orderSn+']发货,发货单号['+#logisticsNo+']'", orderSn = "#orderSn") + @Transactional(rollbackFor = Exception.class) public Order delivery(String orderSn, String logisticsNo, String logisticsId) { Order order = OperationalJudgment.judgment(this.getBySn(orderSn)); //如果订单未发货,并且订单状态值等于待发货 @@ -465,6 +470,7 @@ public class OrderServiceImpl extends ServiceImpl implements @Override @OrderLogPoint(description = "'订单['+#orderSn+']完成'", orderSn = "#orderSn") + @Transactional(rollbackFor = Exception.class) public void complete(String orderSn) { //是否可以查询到订单 Order order = OperationalJudgment.judgment(this.getBySn(orderSn)); @@ -473,6 +479,7 @@ public class OrderServiceImpl extends ServiceImpl implements @Override @OrderLogPoint(description = "'订单['+#orderSn+']完成'", orderSn = "#orderSn") + @Transactional(rollbackFor = Exception.class) public void systemComplete(String orderSn) { Order order = this.getBySn(orderSn); complete(order, orderSn); @@ -530,6 +537,7 @@ public class OrderServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public void deleteOrder(String sn) { Order order = this.getBySn(sn); if (order == null) { @@ -563,6 +571,7 @@ public class OrderServiceImpl extends ServiceImpl implements * @param parentOrderSn 拼团订单sn */ @Override + @Transactional(rollbackFor = Exception.class) public void agglomeratePintuanOrder(String pintuanId, String parentOrderSn) { //获取拼团配置 Pintuan pintuan = pintuanService.getById(pintuanId); @@ -610,7 +619,7 @@ public class OrderServiceImpl extends ServiceImpl implements @Override public void batchDeliver(MultipartFile files) { - InputStream inputStream = null; + InputStream inputStream; List orderBatchDeliverDTOList = new ArrayList<>(); try { inputStream = files.getInputStream(); @@ -643,7 +652,7 @@ public class OrderServiceImpl extends ServiceImpl implements Order order = this.getBySn(orderSn); Trade trade = tradeService.getBySn(order.getTradeSn()); //如果交易不为空,则返回交易的金额,否则返回订单金额 - if (StringUtils.isNotEmpty(trade.getPayStatus()) + if (CharSequenceUtil.isNotEmpty(trade.getPayStatus()) && trade.getPayStatus().equals(PayStatusEnum.PAID.name())) { return trade.getFlowPrice(); } @@ -679,7 +688,7 @@ public class OrderServiceImpl extends ServiceImpl implements orderBatchDeliverDTO.setLogisticsId(item.getId()); } }); - if (StringUtils.isEmpty(orderBatchDeliverDTO.getLogisticsId())) { + if (CharSequenceUtil.isEmpty(orderBatchDeliverDTO.getLogisticsId())) { throw new ServiceException("物流公司:'" + orderBatchDeliverDTO.getLogisticsName() + " '不存在"); } } 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 15d45ab4..6df5053f 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,9 +1,9 @@ package cn.lili.modules.order.order.serviceimpl; +import cn.hutool.core.text.CharSequenceUtil; 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.aftersale.entity.dos.AfterSale; import cn.lili.modules.order.order.entity.dos.Order; @@ -32,7 +32,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -104,7 +103,7 @@ public class StoreFlowServiceImpl 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, JSONUtil.toJsonStr(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().isEmpty()) { 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(tradeDTO.getMemberId() ,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.hutool.json.JSONUtil; 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.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.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 * @since 2020/11/17 7:39 下午 */ @Service 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, JSONUtil.toJsonStr(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().isEmpty()) { 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 @Transactional(rollbackFor = Exception.class) 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(tradeDTO.getMemberId(), 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(), 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.endKanjiaActivity(kanjiaId); } } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/page/serviceimpl/ArticleCategoryServiceImpl.java b/framework/src/main/java/cn/lili/modules/page/serviceimpl/ArticleCategoryServiceImpl.java index 43a0a0b9..199f73b5 100644 --- a/framework/src/main/java/cn/lili/modules/page/serviceimpl/ArticleCategoryServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/page/serviceimpl/ArticleCategoryServiceImpl.java @@ -51,6 +51,7 @@ public class ArticleCategoryServiceImpl extends ServiceImpl impl public IPage articlePage(ArticleSearchParams articleSearchParams) { articleSearchParams.setSort("a.sort"); QueryWrapper queryWrapper = articleSearchParams.queryWrapper(); - queryWrapper.eq("open_status",true); + queryWrapper.eq("open_status", true); return this.baseMapper.getArticleList(PageUtil.initPage(articleSearchParams), queryWrapper); } @@ -66,9 +65,9 @@ public class ArticleServiceImpl extends ServiceImpl impl @Override public void customRemove(String id) { //判断是否为默认文章 - if(this.getById(id).getType().equals(ArticleEnum.OTHER.name())){ + if (this.getById(id).getType().equals(ArticleEnum.OTHER.name())) { this.removeById(id); - }else{ + } else { throw new ServiceException(ResultCode.ARTICLE_NO_DELETION); } } @@ -80,15 +79,15 @@ public class ArticleServiceImpl extends ServiceImpl impl @Override public Article customGetByType(String type) { - if(!StrUtil.equals(type, ArticleEnum.OTHER.name())){ - return this.getOne(new LambdaUpdateWrapper
().eq(Article::getType,type)); + if (!CharSequenceUtil.equals(type, ArticleEnum.OTHER.name())) { + return this.getOne(new LambdaUpdateWrapper
().eq(Article::getType, type)); } return null; } @Override public Boolean updateArticleStatus(String id, boolean status) { - Article article=this.getById(id); + Article article = this.getById(id); article.setOpenStatus(status); return this.updateById(article); } diff --git a/framework/src/main/java/cn/lili/modules/page/serviceimpl/FeedbackServiceImpl.java b/framework/src/main/java/cn/lili/modules/page/serviceimpl/FeedbackServiceImpl.java index b97083bd..4d17d5ed 100644 --- a/framework/src/main/java/cn/lili/modules/page/serviceimpl/FeedbackServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/page/serviceimpl/FeedbackServiceImpl.java @@ -5,10 +5,7 @@ import cn.lili.modules.page.entity.dos.Feedback; import cn.lili.modules.page.mapper.FeedbackMapper; import cn.lili.modules.page.service.FeedbackService; 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; /** * 意见反馈业务层实现 diff --git a/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java b/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java index 7b9b442f..905c1789 100644 --- a/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java @@ -21,6 +21,7 @@ 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 org.springframework.transaction.annotation.Transactional; /** * 楼层装修管理业务层实现 @@ -36,6 +37,7 @@ public class PageDataServiceImpl extends ServiceImpl i private SystemSettingProperties systemSettingProperties; @Override + @Transactional(rollbackFor = Exception.class) public void addStorePageData(String storeId) { //设置店铺的PC页面 PageData pageData = new PageData(); @@ -55,6 +57,7 @@ public class PageDataServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public PageData addPageData(PageData pageData) { //如果页面为发布,则关闭其他页面,开启此页面 //演示站点不可以开启楼层 @@ -72,6 +75,7 @@ public class PageDataServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public PageData updatePageData(PageData pageData) { //如果页面为发布,则关闭其他页面,开启此页面 if (pageData.getPageShow() != null && pageData.getPageShow().equals(SwitchEnum.OPEN.name())) { @@ -91,6 +95,7 @@ public class PageDataServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public PageData releasePageData(String id) { PageData pageData = this.getById(id); @@ -120,6 +125,7 @@ public class PageDataServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public boolean removePageData(String id) { PageData pageData = this.getById(id); //专题则直接进行删除 diff --git a/framework/src/main/java/cn/lili/modules/page/serviceimpl/SpecialServiceImpl.java b/framework/src/main/java/cn/lili/modules/page/serviceimpl/SpecialServiceImpl.java index 6e6b4fee..70639808 100644 --- a/framework/src/main/java/cn/lili/modules/page/serviceimpl/SpecialServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/page/serviceimpl/SpecialServiceImpl.java @@ -8,6 +8,7 @@ import cn.lili.modules.page.service.SpecialService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * 专题活动业务层实现 @@ -25,6 +26,7 @@ public class SpecialServiceImpl extends ServiceImpl impl private PageDataService pageDataService; @Override + @Transactional(rollbackFor = Exception.class) public Special addSpecial(Special special) { //新建页面 PageData pageData = new PageData(); @@ -37,6 +39,7 @@ public class SpecialServiceImpl extends ServiceImpl impl } @Override + @Transactional(rollbackFor = Exception.class) public boolean removeSpecial(String id) { //删除页面内容 diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/Payment.java b/framework/src/main/java/cn/lili/modules/payment/kit/Payment.java index 9ad4b921..4046dc1a 100644 --- a/framework/src/main/java/cn/lili/modules/payment/kit/Payment.java +++ b/framework/src/main/java/cn/lili/modules/payment/kit/Payment.java @@ -4,8 +4,8 @@ import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.payment.entity.RefundLog; -import cn.lili.modules.payment.kit.dto.PayParam; import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; +import cn.lili.modules.payment.kit.dto.PayParam; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -129,7 +129,7 @@ public interface Payment { * @return 回调地址 */ default String callbackUrl(String api, PaymentMethodEnum paymentMethodEnum) { - return api + "/buyer/cashier/callback/" + paymentMethodEnum.name(); + return api + "/buyer/payment/cashier/callback/" + paymentMethodEnum.name(); } /** * 支付异步通知地址 @@ -139,7 +139,7 @@ public interface Payment { * @return 异步通知地址 */ default String notifyUrl(String api, PaymentMethodEnum paymentMethodEnum) { - return api + "/buyer/cashier/notify/" + paymentMethodEnum.name(); + return api + "/buyer/payment/cashier/notify/" + paymentMethodEnum.name(); } /** @@ -150,7 +150,7 @@ public interface Payment { * @return 异步通知地址 */ default String refundNotifyUrl(String api, PaymentMethodEnum paymentMethodEnum) { - return api + "/buyer/cashier/refund/notify/" + paymentMethodEnum.name(); + return api + "/buyer/payment/cashierRefund/notify/" + paymentMethodEnum.name(); } } diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/core/kit/WxPayKit.java b/framework/src/main/java/cn/lili/modules/payment/kit/core/kit/WxPayKit.java index 45181ecf..3e3f3c62 100644 --- a/framework/src/main/java/cn/lili/modules/payment/kit/core/kit/WxPayKit.java +++ b/framework/src/main/java/cn/lili/modules/payment/kit/core/kit/WxPayKit.java @@ -5,6 +5,8 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import cn.lili.common.enums.ResultCode; +import cn.lili.common.exception.ServiceException; import cn.lili.modules.payment.kit.core.PaymentHttpResponse; import cn.lili.modules.payment.kit.core.enums.RequestMethodEnums; import cn.lili.modules.payment.kit.core.enums.SignType; @@ -114,6 +116,30 @@ public class WxPayKit { } } + /** + * APP 单独生成签名 + * app 支付环境中,如果遇到签名错误,百思不得其解,则可以使用这个方法调用签名尝试解决 + * + * @param params 需要签名的参数 + * @return 签名后的数据 + */ + public static String createAppSign(Map params, String privateKey) { + + String appid = params.get("appid"); + String timestamp = params.get("timestamp"); + String noncestr = params.get("noncestr"); + String prepayid = params.get("prepayid"); + + String encrypt = appid + "\n" + timestamp + "\n" + noncestr + "\n" + prepayid + "\n"; + + try { + return PayKit.createSign(encrypt, privateKey); + } catch (Exception e) { + throw new ServiceException(ResultCode.ERROR); + } + } + + /** * 生成签名 * @@ -351,6 +377,8 @@ public class WxPayKit { signType = SignType.MD5; } String packageSign = createSign(packageParams, partnerKey, signType); + // 部分微信APP支付 提示签名错误 解开下方注释 替换上边的代码就好。 + // String packageSign = createAppSign(packageParams, partnerKey); packageParams.put("sign", packageSign); return packageParams; } diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/plugin/alipay/AliPayPlugin.java b/framework/src/main/java/cn/lili/modules/payment/kit/plugin/alipay/AliPayPlugin.java index 27102b26..b4a8a094 100644 --- a/framework/src/main/java/cn/lili/modules/payment/kit/plugin/alipay/AliPayPlugin.java +++ b/framework/src/main/java/cn/lili/modules/payment/kit/plugin/alipay/AliPayPlugin.java @@ -7,18 +7,18 @@ import cn.lili.common.context.ThreadContextHolder; 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.properties.DomainProperties; import cn.lili.common.utils.BeanUtil; 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.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.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.service.PaymentService; import cn.lili.modules.payment.service.RefundLogService; 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 56dad469..79245326 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 @@ -19,6 +19,8 @@ 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.redisson.api.RLock; +import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -57,9 +59,11 @@ public class WalletPlugin implements Payment { @Autowired private CashierSupport cashierSupport; + @Autowired + private RedissonClient redisson; + @Override public ResultMessage h5pay(HttpServletRequest request, HttpServletResponse response, PayParam payParam) { - savePaymentLog(payParam); return ResultUtil.success(ResultCode.PAY_SUCCESS); } @@ -113,9 +117,18 @@ public class WalletPlugin implements Payment { * @param payParam 支付参数 */ private void savePaymentLog(PayParam payParam) { - //获取支付收银参数 - CashierParam cashierParam = cashierSupport.cashierParam(payParam); - this.callBack(payParam, cashierParam); + //同一个会员如果在不同的客户端使用预存款支付,会存在同时支付,无法保证预存款的正确性,所以对会员加锁 + RLock lock = redisson.getLock(UserContext.getCurrentUser().getId() + ""); + lock.lock(); + try { + //获取支付收银参数 + CashierParam cashierParam = cashierSupport.cashierParam(payParam); + this.callBack(payParam, cashierParam); + } catch (Exception e) { + throw e; + } finally { + lock.unlock(); + } } @Override 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 e4145c41..a32e8572 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 @@ -39,7 +39,6 @@ import cn.lili.modules.payment.kit.plugin.wechat.model.*; import cn.lili.modules.payment.service.PaymentService; import cn.lili.modules.payment.service.RefundLogService; import cn.lili.modules.system.entity.dos.Setting; -import cn.lili.modules.system.entity.dto.connect.dto.WechatConnectSettingItem; import cn.lili.modules.system.entity.dto.payment.WechatPaymentSetting; import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; @@ -258,6 +257,9 @@ public class WechatPlugin implements Payment { WechatPaymentSetting setting = wechatPaymentSetting(); String appid = setting.getAppId(); + if (appid == null) { + throw new ServiceException(ResultCode.WECHAT_PAYMENT_NOT_SETTING); + } UnifiedOrderModel unifiedOrderModel = new UnifiedOrderModel() .setAppid(appid) .setMchid(setting.getMchId()) @@ -323,6 +325,9 @@ public class WechatPlugin implements Payment { WechatPaymentSetting setting = wechatPaymentSetting(); String appid = setting.getServiceAppId(); + if (appid == null) { + throw new ServiceException(ResultCode.WECHAT_PAYMENT_NOT_SETTING); + } UnifiedOrderModel unifiedOrderModel = new UnifiedOrderModel() .setAppid(appid) .setMchid(setting.getMchId()) @@ -391,6 +396,9 @@ public class WechatPlugin implements Payment { //微信小程序,appid 需要单独获取,这里读取了联合登陆配置的appid ,实际场景小程序自动登录,所以这个appid是最为保险的做法 //如果有2开需求,这里需要调整,修改这个appid的获取途径即可 String appid = wechatPaymentSetting().getMpAppId(); + if (StringUtils.isEmpty(appid)) { + throw new ServiceException(ResultCode.WECHAT_PAYMENT_NOT_SETTING); + } String attach = URLEncoder.createDefault().encode(JSONUtil.toJsonStr(payParam), StandardCharsets.UTF_8); WechatPaymentSetting setting = wechatPaymentSetting(); 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 7713cbc7..06b6d70a 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 @@ -7,7 +7,6 @@ import cn.lili.modules.payment.service.PaymentService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.List; 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 7c13dfe5..42e763eb 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 @@ -6,7 +6,6 @@ import cn.lili.modules.payment.service.RefundLogService; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; /** * 退款日志 业务实现 diff --git a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/AdminUserServiceImpl.java b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/AdminUserServiceImpl.java index 70467de2..a7411f44 100644 --- a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/AdminUserServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/AdminUserServiceImpl.java @@ -56,7 +56,7 @@ public class AdminUserServiceImpl extends ServiceImpl adminUserPage(Page initPage, QueryWrapper initWrapper) { @@ -72,7 +72,7 @@ public class AdminUserServiceImpl extends ServiceImpl department.getId().equals(adminUser.getDepartmentId())) + (department -> department.getId().equals(adminUser.getDepartmentId())) .collect(Collectors.toList()) .get(0) .getTitle() @@ -81,12 +81,12 @@ public class AdminUserServiceImpl extends ServiceImpl memberRoles = Arrays.asList(adminUser.getRoleIds().split(",")); adminUserVO.setRoles( roles.stream().filter - (role -> memberRoles.contains(role.getId())) + (role -> memberRoles.contains(role.getId())) .collect(Collectors.toList()) ); } catch (Exception e) { @@ -156,14 +156,15 @@ public class AdminUserServiceImpl extends ServiceImpl roles) { - if (roles != null && roles.size() > 0) { + if (roles != null && !roles.isEmpty()) { if (roles.size() > rolesMaxSize) { throw new ServiceException(ResultCode.PERMISSION_BEYOND_TEN); } - adminUser.setRoleIds(StringUtils.join(",", roles)); + adminUser.setRoleIds(CharSequenceUtil.join(",", roles)); } else { adminUser.setRoleIds(""); @@ -194,13 +195,14 @@ public class AdminUserServiceImpl extends ServiceImpl adminUsers = this.list(lambdaQueryWrapper); String password = StringUtils.md5("123456"); String newEncryptPass = new BCryptPasswordEncoder().encode(password); - if (null != adminUsers && adminUsers.size() > 0) { + if (null != adminUsers && !adminUsers.isEmpty()) { adminUsers.forEach(item -> item.setPassword(newEncryptPass)); this.updateBatchById(adminUsers); } } @Override + @Transactional(rollbackFor = Exception.class) public void saveAdminUser(AdminUserDTO adminUser, List roles) { AdminUser dbUser = new AdminUser(); BeanUtil.copyProperties(adminUser, dbUser); @@ -240,7 +242,7 @@ public class AdminUserServiceImpl extends ServiceImpl userRoles = new ArrayList<>(roles.size()); diff --git a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/DepartmentRoleServiceImpl.java b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/DepartmentRoleServiceImpl.java index 2a9e2e89..10e484de 100644 --- a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/DepartmentRoleServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/DepartmentRoleServiceImpl.java @@ -28,6 +28,7 @@ public class DepartmentRoleServiceImpl extends ServiceImpl departmentRoles) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("department_id", departmentId); diff --git a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/DepartmentServiceImpl.java b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/DepartmentServiceImpl.java index 138a2a27..076eaaf5 100644 --- a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/DepartmentServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/DepartmentServiceImpl.java @@ -41,6 +41,7 @@ public class DepartmentServiceImpl extends ServiceImpl ids) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("department_id", ids); diff --git a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/RoleMenuServiceImpl.java b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/RoleMenuServiceImpl.java index ebb2c2de..8966c190 100644 --- a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/RoleMenuServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/RoleMenuServiceImpl.java @@ -58,6 +58,7 @@ public class RoleMenuServiceImpl extends ServiceImpl i @Override + @Transactional(rollbackFor = Exception.class) public void updateRoleMenu(String roleId, List roleMenus) { try { //删除角色已经绑定的菜单 diff --git a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/RoleServiceImpl.java b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/RoleServiceImpl.java index 57fb4b6a..510e7041 100644 --- a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/RoleServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/RoleServiceImpl.java @@ -47,6 +47,7 @@ public class RoleServiceImpl extends ServiceImpl implements Ro } @Override + @Transactional(rollbackFor = Exception.class) public void deleteRoles(List roleIds) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("role_id", roleIds); diff --git a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/SystemLogServiceImpl.java b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/SystemLogServiceImpl.java index c397e9f1..7b519465 100644 --- a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/SystemLogServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/SystemLogServiceImpl.java @@ -22,7 +22,6 @@ import org.springframework.data.elasticsearch.core.SearchHit; import org.springframework.data.elasticsearch.core.SearchHits; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.stream.Collectors; @@ -65,9 +64,10 @@ public class SystemLogServiceImpl implements SystemLogService { @Override public IPage queryLog(String storeId, String operatorName, String key, SearchVO searchVo, PageVO pageVO) { + pageVO.setNotConvert(true); IPage iPage = new Page<>(); NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder(); - if (pageVO != null) { + if (pageVO.getPageNumber() != null && pageVO.getPageSize() != null) { int pageNumber = pageVO.getPageNumber() - 1; if (pageNumber < 0) { pageNumber = 0; @@ -107,16 +107,15 @@ public class SystemLogServiceImpl implements SystemLogService { nativeSearchQueryBuilder.withFilter(filterBuilder); } - SearchHits searchResult = restTemplate.search(nativeSearchQueryBuilder.build(), SystemLogVO.class); - - iPage.setTotal(searchResult.getTotalHits()); - - if (pageVO != null && CharSequenceUtil.isNotEmpty(pageVO.getOrder()) && CharSequenceUtil.isNotEmpty(pageVO.getSort())) { + if (CharSequenceUtil.isNotEmpty(pageVO.getOrder()) && CharSequenceUtil.isNotEmpty(pageVO.getSort())) { nativeSearchQueryBuilder.withSort(SortBuilders.fieldSort(pageVO.getSort()).order(SortOrder.valueOf(pageVO.getOrder().toUpperCase()))); } else { nativeSearchQueryBuilder.withSort(SortBuilders.fieldSort("createTime").order(SortOrder.DESC)); } + SearchHits searchResult = restTemplate.search(nativeSearchQueryBuilder.build(), SystemLogVO.class); + + iPage.setTotal(searchResult.getTotalHits()); iPage.setRecords(searchResult.getSearchHits().stream().map(SearchHit::getContent).collect(Collectors.toList())); return iPage; diff --git a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/UserRoleServiceImpl.java b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/UserRoleServiceImpl.java index 245710b7..e3e84d4e 100644 --- a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/UserRoleServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/UserRoleServiceImpl.java @@ -5,8 +5,6 @@ import cn.lili.modules.permission.mapper.UserRoleMapper; import cn.lili.modules.permission.service.UserRoleService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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; @@ -38,6 +36,7 @@ public class UserRoleServiceImpl extends ServiceImpl i } @Override + @Transactional(rollbackFor = Exception.class) public void updateUserRole(String userId, List userRoles) { //删除 diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityService.java b/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityService.java index 4d653290..909942e5 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/KanjiaActivityService.java @@ -64,4 +64,11 @@ public interface KanjiaActivityService extends IService { IPage getForPage(KanjiaActivityQuery kanJiaActivityQuery, PageVO page); + /** + * 结束砍价活动 + * + * @param kanjiaId 砍价活动id + * @return 是否更新成功 + */ + boolean endKanjiaActivity(String kanjiaId); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityItemServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityItemServiceImpl.java index b7fcde45..03eedfa4 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityItemServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityItemServiceImpl.java @@ -7,7 +7,6 @@ import cn.lili.modules.promotion.service.CouponActivityItemService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -38,7 +37,6 @@ public class CouponActivityItemServiceImpl extends ServiceImpl couponIds) { this.remove(new LambdaQueryWrapper() .in(CouponActivityItem::getCouponId, couponIds)); diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java index ee56fcdc..ef8e5a43 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponActivityServiceImpl.java @@ -54,6 +54,7 @@ public class CouponActivityServiceImpl extends AbstractPromotionsServiceImpl couponActivityList, Member member) { for (CouponActivity couponActivity : couponActivityList) { //获取会员信息 @@ -164,6 +166,7 @@ public class CouponActivityServiceImpl extends AbstractPromotionsServiceImpl> memberList, List couponActivityItems) { for (CouponActivityItem couponActivityItem : couponActivityItems) { diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java index 076d45ea..4f08616f 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java @@ -77,7 +77,6 @@ public class CouponServiceImpl extends AbstractPromotionsServiceImpl kanjiaActivityGoodsList = new ArrayList<>(); List promotionGoodsList = new ArrayList<>(); @@ -243,6 +244,7 @@ public class KanjiaActivityGoodsServiceImpl extends AbstractPromotionsServiceImp } @Override + @Transactional(rollbackFor = Exception.class) public boolean updateKanjiaActivityGoods(KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO) { //校验砍价商品是否存在 KanjiaActivityGoods dbKanJiaActivityGoods = this.getKanjiaGoodsDetail(kanJiaActivityGoodsDTO.getId()); diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java index 1b01cb30..0c98ca07 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityLogServiceImpl.java @@ -23,7 +23,6 @@ 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 org.springframework.transaction.annotation.Transactional; /** diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java index 6766b2e8..b48a3096 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityServiceImpl.java @@ -30,6 +30,7 @@ import cn.lili.modules.promotion.service.KanjiaActivityService; 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; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; @@ -93,6 +94,7 @@ public class KanjiaActivityServiceImpl extends ServiceImpl() + .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/promotion/serviceimpl/MemberCouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java index 2514e68f..d46f606f 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/MemberCouponServiceImpl.java @@ -82,6 +82,7 @@ public class MemberCouponServiceImpl extends ServiceImpl ids) { if (ids != null && !ids.isEmpty()) { List memberCoupons = this.listByIds(ids); @@ -247,6 +250,7 @@ public class MemberCouponServiceImpl extends ServiceImpl updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(MemberCoupon::getId, id); @@ -260,6 +264,7 @@ public class MemberCouponServiceImpl extends ServiceImpl couponIds) { LambdaUpdateWrapper memberCouponLambdaUpdateWrapper = new LambdaUpdateWrapper() .in(MemberCoupon::getCouponId, couponIds) diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java index bb9a02d6..4edd344a 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PintuanServiceImpl.java @@ -34,7 +34,6 @@ import cn.lili.trigger.util.DelayQueueTools; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.Date; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsCategoryServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsCategoryServiceImpl.java index 79b8c06a..9ea4b03f 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsCategoryServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PointsGoodsCategoryServiceImpl.java @@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; /** * 积分商品分类业务层实现 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 24ad9649..b25d7742 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 @@ -65,6 +65,7 @@ public class PointsGoodsServiceImpl extends AbstractPromotionsServiceImpl promotionsList) { List promotionGoodsList = new ArrayList<>(); for (PointsGoods pointsGoods : promotionsList) { @@ -107,6 +108,7 @@ public class PointsGoodsServiceImpl extends AbstractPromotionsServiceImpl ids) { for (String id : ids) { PointsGoods pointsGoods = this.getById(id); @@ -206,6 +209,7 @@ public class PointsGoodsServiceImpl extends AbstractPromotionsServiceImpl implements PurchaseOrderItemService { @Override + @Transactional(rollbackFor = Exception.class) public boolean addPurchaseOrderItem(String purchaseOrderId, List purchaseOrderItemList) { //添加采购单子内容 for (PurchaseOrderItem purchaseOrderItem : purchaseOrderItemList) { diff --git a/framework/src/main/java/cn/lili/modules/purchase/serviceimpl/PurchaseOrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/purchase/serviceimpl/PurchaseOrderServiceImpl.java index 72e1e28e..bfb29b6b 100644 --- a/framework/src/main/java/cn/lili/modules/purchase/serviceimpl/PurchaseOrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/purchase/serviceimpl/PurchaseOrderServiceImpl.java @@ -17,6 +17,7 @@ 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 org.springframework.transaction.annotation.Transactional; /** @@ -31,6 +32,7 @@ public class PurchaseOrderServiceImpl extends ServiceImpl implements PurchaseQuotedItemService { @Override + @Transactional(rollbackFor = Exception.class) public boolean addPurchaseQuotedItem(String purchaseQuotedId, List purchaseQuotedItemList) { for (PurchaseQuotedItem purchaseQuotedItem : purchaseQuotedItemList) { purchaseQuotedItem.setPurchaseQuotedId(purchaseQuotedId); diff --git a/framework/src/main/java/cn/lili/modules/purchase/serviceimpl/PurchaseQuotedServiceImpl.java b/framework/src/main/java/cn/lili/modules/purchase/serviceimpl/PurchaseQuotedServiceImpl.java index 703d1749..a963215d 100644 --- a/framework/src/main/java/cn/lili/modules/purchase/serviceimpl/PurchaseQuotedServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/purchase/serviceimpl/PurchaseQuotedServiceImpl.java @@ -11,6 +11,7 @@ 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 org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -26,6 +27,7 @@ public class PurchaseQuotedServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper().eq(CustomWords::getName, customWordsVO.getName()); CustomWords one = this.getOne(queryWrapper, false); @@ -81,6 +83,7 @@ public class CustomWordsServiceImpl extends ServiceImpl i @Override + @Transactional(rollbackFor = Exception.class) public void addSmsReach(SmsReach smsReach,List mobile) { String destination = rocketmqCustomProperties.getNoticeSendTopic() + ":" + OtherTagsEnum.SMS.name(); SmsReachDTO smsReachDTO = new SmsReachDTO(); diff --git a/framework/src/main/java/cn/lili/modules/sms/serviceimpl/SmsSignServiceImpl.java b/framework/src/main/java/cn/lili/modules/sms/serviceimpl/SmsSignServiceImpl.java index 49b8faab..d55c8b98 100644 --- a/framework/src/main/java/cn/lili/modules/sms/serviceimpl/SmsSignServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/sms/serviceimpl/SmsSignServiceImpl.java @@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; @@ -32,6 +33,7 @@ public class SmsSignServiceImpl extends ServiceImpl impl private AliSmsUtil aliSmsUtil; @Override + @Transactional(rollbackFor = Exception.class) public void addSmsSign(SmsSign smsSign) { try { //如果短信签名已存在,不能重复申请 @@ -47,6 +49,7 @@ public class SmsSignServiceImpl extends ServiceImpl impl } @Override + @Transactional(rollbackFor = Exception.class) public void deleteSmsSign(String id) { try { SmsSign smsSign = this.getById(id); @@ -61,6 +64,7 @@ public class SmsSignServiceImpl extends ServiceImpl impl } @Override + @Transactional(rollbackFor = Exception.class) public void querySmsSign() { try { Map map = new HashMap<>(16); @@ -79,6 +83,7 @@ public class SmsSignServiceImpl extends ServiceImpl impl } @Override + @Transactional(rollbackFor = Exception.class) public void modifySmsSign(SmsSign smsSign) { try { aliSmsUtil.modifySmsSign(smsSign); diff --git a/framework/src/main/java/cn/lili/modules/sms/serviceimpl/SmsTemplateServiceImpl.java b/framework/src/main/java/cn/lili/modules/sms/serviceimpl/SmsTemplateServiceImpl.java index c5d8dddf..b23a4990 100644 --- a/framework/src/main/java/cn/lili/modules/sms/serviceimpl/SmsTemplateServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/sms/serviceimpl/SmsTemplateServiceImpl.java @@ -14,7 +14,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -59,7 +58,7 @@ public class SmsTemplateServiceImpl extends ServiceImpl map = new HashMap<>(16); + Map map; //获取未审核通过的签名列表 List list = list(new LambdaQueryWrapper().eq(SmsTemplate::getTemplateStatus, 0)); //查询签名状态 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 7ee8d8e6..2c90a85e 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 @@ -18,7 +18,6 @@ import org.aspectj.lang.reflect.MethodSignature; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; -import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; 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 index 217320ad..34ce48f7 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/BillStatisticsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/BillStatisticsServiceImpl.java @@ -11,7 +11,6 @@ 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.Objects; 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 index d459537b..25f5159f 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/DistributionCashStatisticsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/DistributionCashStatisticsServiceImpl.java @@ -8,7 +8,6 @@ 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; /** 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 index 23a5bae3..8f4ae74c 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberEvaluationStatisticsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberEvaluationStatisticsServiceImpl.java @@ -13,7 +13,6 @@ 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; import java.util.Objects; 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 index 35cd916b..c3ff5396 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/SeckillStatisticsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/SeckillStatisticsServiceImpl.java @@ -9,7 +9,6 @@ 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; /** * 秒杀活动统计 diff --git a/framework/src/main/java/cn/lili/modules/store/entity/dto/BillSearchParams.java b/framework/src/main/java/cn/lili/modules/store/entity/dto/BillSearchParams.java index da1e91ea..5e0b190e 100644 --- a/framework/src/main/java/cn/lili/modules/store/entity/dto/BillSearchParams.java +++ b/framework/src/main/java/cn/lili/modules/store/entity/dto/BillSearchParams.java @@ -51,6 +51,10 @@ public class BillSearchParams extends PageVO { //创建时间 if (StringUtils.isNotEmpty(startDate) && StringUtils.isNotEmpty(endDate)) { wrapper.between("create_time", startDate, endDate); + } else if (StringUtils.isNotEmpty(startDate)) { + wrapper.ge("create_time", startDate); + } else if (StringUtils.isNotEmpty(endDate)) { + wrapper.le("create_time", endDate); } //账单号 wrapper.eq(StringUtils.isNotEmpty(sn), "sn", sn); diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreAddressServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreAddressServiceImpl.java index 131f774b..3394c831 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreAddressServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreAddressServiceImpl.java @@ -10,7 +10,6 @@ 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 org.springframework.transaction.annotation.Transactional; /** * 店铺地址(自提点)业务层实现 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 72ad1e5f..50ff1703 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 @@ -32,7 +32,6 @@ 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.*; diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java index 3980be0b..2f60c9e9 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java @@ -74,6 +74,7 @@ public class StoreServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public Store add(AdminStoreApplyDTO adminStoreApplyDTO) { //判断店铺名称是否存在 @@ -112,6 +113,7 @@ public class StoreServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public Store edit(StoreEditDTO storeEditDTO) { if (storeEditDTO != null) { //判断店铺名是否唯一 @@ -158,6 +160,7 @@ public class StoreServiceImpl extends ServiceImpl implements } @Override + @Transactional(rollbackFor = Exception.class) public boolean audit(String id, Integer passed) { Store store = this.getById(id); if (store == null) { diff --git a/framework/src/main/java/cn/lili/modules/system/entity/dto/PointSettingItem.java b/framework/src/main/java/cn/lili/modules/system/entity/dto/PointSettingItem.java index 11d061d8..885b4b19 100644 --- a/framework/src/main/java/cn/lili/modules/system/entity/dto/PointSettingItem.java +++ b/framework/src/main/java/cn/lili/modules/system/entity/dto/PointSettingItem.java @@ -3,6 +3,8 @@ package cn.lili.modules.system.entity.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.io.Serializable; + /** * 积分签到设置 * @@ -10,7 +12,7 @@ import lombok.Data; * @since 2021-02-26 11:48 */ @Data -public class PointSettingItem implements Comparable { +public class PointSettingItem implements Comparable, Serializable { @ApiModelProperty(value = "签到天数") @@ -21,7 +23,7 @@ public class PointSettingItem implements Comparable { private Integer point; public Integer getPoint() { - if (point != null || point < 0) { + if (point == null || point < 0) { return 0; } return point; diff --git a/framework/src/main/java/cn/lili/modules/system/entity/dto/payment/WechatPaymentSetting.java b/framework/src/main/java/cn/lili/modules/system/entity/dto/payment/WechatPaymentSetting.java index b3d8e9f9..4a027dc2 100644 --- a/framework/src/main/java/cn/lili/modules/system/entity/dto/payment/WechatPaymentSetting.java +++ b/framework/src/main/java/cn/lili/modules/system/entity/dto/payment/WechatPaymentSetting.java @@ -1,8 +1,5 @@ package cn.lili.modules.system.entity.dto.payment; -import cn.lili.common.enums.ResultCode; -import cn.lili.common.exception.ServiceException; -import com.alibaba.druid.util.StringUtils; import lombok.Data; import lombok.experimental.Accessors; @@ -52,26 +49,4 @@ public class WechatPaymentSetting { * apiv3私钥 */ private String apiKey3; - - public String getAppId() { - - if (StringUtils.isEmpty(appId)) { - throw new ServiceException(ResultCode.WECHAT_PAYMENT_NOT_SETTING); - } - return appId; - } - - public String getMpAppId() { - if (StringUtils.isEmpty(mpAppId)) { - throw new ServiceException(ResultCode.WECHAT_PAYMENT_NOT_SETTING); - } - return mpAppId; - } - - public String getServiceAppId() { - if (StringUtils.isEmpty(serviceAppId)) { - throw new ServiceException(ResultCode.WECHAT_PAYMENT_NOT_SETTING); - } - return serviceAppId; - } } diff --git a/framework/src/main/java/cn/lili/modules/system/serviceimpl/AppVersionServiceImpl.java b/framework/src/main/java/cn/lili/modules/system/serviceimpl/AppVersionServiceImpl.java index fcb46466..b4b67392 100644 --- a/framework/src/main/java/cn/lili/modules/system/serviceimpl/AppVersionServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/system/serviceimpl/AppVersionServiceImpl.java @@ -2,14 +2,12 @@ package cn.lili.modules.system.serviceimpl; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; -import cn.lili.modules.goods.entity.dos.Brand; import cn.lili.modules.system.entity.dos.AppVersion; import cn.lili.modules.system.mapper.AppVersionMapper; import cn.lili.modules.system.service.AppVersionService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; /** diff --git a/framework/src/main/java/cn/lili/modules/system/serviceimpl/LogisticsServiceImpl.java b/framework/src/main/java/cn/lili/modules/system/serviceimpl/LogisticsServiceImpl.java index 26722cf9..e7b40f61 100644 --- a/framework/src/main/java/cn/lili/modules/system/serviceimpl/LogisticsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/system/serviceimpl/LogisticsServiceImpl.java @@ -1,6 +1,6 @@ package cn.lili.modules.system.serviceimpl; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.SwitchEnum; import cn.lili.common.exception.ServiceException; @@ -70,7 +70,7 @@ public class LogisticsServiceImpl extends ServiceImpl params = new HashMap(8); + Map params = new HashMap<>(8); params.put("RequestData", urlEncoder(requestData, "UTF-8")); params.put("EBusinessID", EBusinessID); params.put("RequestType", "1002"); @@ -134,14 +134,12 @@ public class LogisticsServiceImpl extends ServiceImpl impleme /** * 同步请求地址 */ - private String syncUrl = "https://restapi.amap.com/v3/config/district?subdistrict=4&key=e456d77800e2084a326f7b777278f89d"; + private final String syncUrl = "https://restapi.amap.com/v3/config/district?subdistrict=4&key=e456d77800e2084a326f7b777278f89d"; @Autowired private Cache cache; @@ -42,12 +41,12 @@ public class RegionServiceImpl extends ServiceImpl impleme try { //清空数据 - QueryWrapper queryWrapper = new QueryWrapper(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.ne("id", "-1"); this.remove(queryWrapper); //读取数据 - String jsonString = HttpClientUtils.doGet(StringUtils.isEmpty(url) ? syncUrl : url, null); + String jsonString = HttpClientUtils.doGet(CharSequenceUtil.isEmpty(url) ? syncUrl : url, null); //构造存储数据库的对象集合 List regions = this.initData(jsonString); @@ -67,12 +66,7 @@ public class RegionServiceImpl extends ServiceImpl impleme LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(Region::getParentId, id); List regions = this.list(lambdaQueryWrapper); - regions.sort(new Comparator() { - @Override - public int compare(Region o1, Region o2) { - return o1.getOrderNum().compareTo(o2.getOrderNum()); - } - }); + regions.sort(Comparator.comparing(Region::getOrderNum)); return regions; } @@ -90,26 +84,26 @@ public class RegionServiceImpl extends ServiceImpl impleme result = ArrayUtils.remove(result, 0); result = ArrayUtils.remove(result, 0); //地址id - String regionIds = ""; + StringBuilder regionIds = new StringBuilder(); //地址名称 - String regionNames = ""; + StringBuilder regionNames = new StringBuilder(); //循环构建新的数据 for (String regionId : result) { Region reg = this.baseMapper.selectById(regionId); if (reg != null) { - regionIds += regionId + ","; - regionNames += reg.getName() + ","; + regionIds.append(regionId).append(","); + regionNames.append(reg.getName()).append(","); } } - regionIds += region.getId(); - regionNames += region.getName(); + regionIds.append(region.getId()); + regionNames.append(region.getName()); //构建返回数据 Map obj = new HashMap<>(2); - obj.put("id", regionIds); - obj.put("name", regionNames); + obj.put("id", regionIds.toString()); + obj.put("name", regionNames.toString()); return obj; } - return null; + return Collections.emptyMap(); } @Override @@ -122,9 +116,7 @@ public class RegionServiceImpl extends ServiceImpl impleme private List regionTree(List regions) { List regionVOS = new ArrayList<>(); - regions.stream().filter(region -> ("province").equals(region.getLevel())).forEach(item -> { - regionVOS.add(new RegionVO(item)); - }); + regions.stream().filter(region -> ("province").equals(region.getLevel())).forEach(item -> regionVOS.add(new RegionVO(item))); regions.stream().filter(region -> ("city").equals(region.getLevel())).forEach(item -> { for (RegionVO region : regionVOS) { if (region.getId().equals(item.getParentId())) { @@ -239,9 +231,9 @@ public class RegionServiceImpl extends ServiceImpl impleme record.setParentId(parentId); record.setOrderNum(order); record.setId(String.valueOf(SnowFlake.getId())); - StringBuffer megName = new StringBuffer(","); + StringBuilder megName = new StringBuilder(","); for (int i = 0; i < ids.length; i++) { - megName = megName.append(ids[i]) ; + megName.append(ids[i]); if (i < ids.length - 1) { megName.append(","); } 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 cef1db51..ab8d82f0 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 @@ -11,7 +11,6 @@ import cn.lili.common.security.token.TokenUtil; import cn.lili.common.security.token.base.AbstractTokenGenerate; import cn.lili.modules.permission.entity.dos.AdminUser; import cn.lili.modules.permission.entity.vo.UserMenuVO; -import cn.lili.modules.permission.service.AdminUserService; import cn.lili.modules.permission.service.RoleMenuService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; 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 58c0aa97..dd4b5894 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 @@ -10,8 +10,6 @@ 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.entity.enums.VerificationEnums; import cn.lili.modules.verification.service.VerificationService; import cn.lili.modules.verification.service.VerificationSourceService; @@ -158,7 +156,7 @@ public class VerificationServiceImpl implements VerificationService { @Override public boolean check(String uuid, VerificationEnums verificationEnums) { //如果有校验标记,则返回校验结果 - if (cache.remove(cacheResult(verificationEnums, uuid))) { + if (Boolean.TRUE.equals(cache.remove(cacheResult(verificationEnums, uuid)))) { return true; } throw new ServiceException(ResultCode.VERIFICATION_CODE_INVALID); diff --git a/framework/src/main/java/cn/lili/modules/verification/service/impl/VerificationSourceServiceImpl.java b/framework/src/main/java/cn/lili/modules/verification/service/impl/VerificationSourceServiceImpl.java index 3ac96fa2..8f5900e4 100644 --- a/framework/src/main/java/cn/lili/modules/verification/service/impl/VerificationSourceServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/verification/service/impl/VerificationSourceServiceImpl.java @@ -1,15 +1,14 @@ package cn.lili.modules.verification.service.impl; import cn.lili.cache.Cache; -import cn.lili.modules.verification.entity.dos.VerificationSource; -import cn.lili.modules.verification.entity.enums.VerificationSourceEnum; -import cn.lili.modules.verification.entity.dto.VerificationDTO; import cn.lili.modules.system.mapper.VerificationSourceMapper; +import cn.lili.modules.verification.entity.dos.VerificationSource; +import cn.lili.modules.verification.entity.dto.VerificationDTO; +import cn.lili.modules.verification.entity.enums.VerificationSourceEnum; import cn.lili.modules.verification.service.VerificationSourceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.List; diff --git a/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/MemberWalletServiceImpl.java b/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/MemberWalletServiceImpl.java index 11c700c5..87766492 100644 --- a/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/MemberWalletServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/MemberWalletServiceImpl.java @@ -94,6 +94,7 @@ public class MemberWalletServiceImpl extends ServiceImpl i //构建查询条件 QueryWrapper queryWrapper = new QueryWrapper<>(); //会员名称 - queryWrapper.like(!StringUtils.isEmpty(rechargeQueryVO.getMemberName()), "member_name", rechargeQueryVO.getMemberName()); + queryWrapper.like(!CharSequenceUtil.isEmpty(rechargeQueryVO.getMemberName()), "member_name", rechargeQueryVO.getMemberName()); //充值订单号 - queryWrapper.eq(!StringUtils.isEmpty(rechargeQueryVO.getRechargeSn()), "recharge_sn", rechargeQueryVO.getRechargeSn()); + queryWrapper.eq(!CharSequenceUtil.isEmpty(rechargeQueryVO.getRechargeSn()), "recharge_sn", rechargeQueryVO.getRechargeSn()); //会员id - queryWrapper.eq(!StringUtils.isEmpty(rechargeQueryVO.getMemberId()), "member_id", rechargeQueryVO.getMemberId()); + queryWrapper.eq(!CharSequenceUtil.isEmpty(rechargeQueryVO.getMemberId()), "member_id", rechargeQueryVO.getMemberId()); //支付时间 开始时间和结束时间 - if (!StringUtils.isEmpty(rechargeQueryVO.getStartDate()) && !StringUtils.isEmpty(rechargeQueryVO.getEndDate())) { + if (!CharSequenceUtil.isEmpty(rechargeQueryVO.getStartDate()) && !CharSequenceUtil.isEmpty(rechargeQueryVO.getEndDate())) { Date start = cn.hutool.core.date.DateUtil.parse(rechargeQueryVO.getStartDate()); Date end = cn.hutool.core.date.DateUtil.parse(rechargeQueryVO.getEndDate()); queryWrapper.between("pay_time", start, end); diff --git a/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/WalletLogServiceImpl.java b/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/WalletLogServiceImpl.java index f849e402..f3a53b17 100644 --- a/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/WalletLogServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/wallet/serviceimpl/WalletLogServiceImpl.java @@ -1,6 +1,6 @@ package cn.lili.modules.wallet.serviceimpl; -import cn.lili.common.utils.StringUtils; +import cn.hutool.core.text.CharSequenceUtil; import cn.lili.common.vo.PageVO; import cn.lili.modules.order.trade.entity.vo.DepositQueryVO; import cn.lili.modules.wallet.entity.dos.WalletLog; @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.Date; @@ -29,11 +28,11 @@ public class WalletLogServiceImpl extends ServiceImpl depositLogQueryWrapper = new QueryWrapper<>(); //会员名称 - depositLogQueryWrapper.like(!StringUtils.isEmpty(depositQueryVO.getMemberName()), "member_name", depositQueryVO.getMemberName()); + depositLogQueryWrapper.like(!CharSequenceUtil.isEmpty(depositQueryVO.getMemberName()), "member_name", depositQueryVO.getMemberName()); //会员id - depositLogQueryWrapper.eq(!StringUtils.isEmpty(depositQueryVO.getMemberId()), "member_id", depositQueryVO.getMemberId()); + depositLogQueryWrapper.eq(!CharSequenceUtil.isEmpty(depositQueryVO.getMemberId()), "member_id", depositQueryVO.getMemberId()); //开始时间和技术时间 - if (!StringUtils.isEmpty(depositQueryVO.getStartDate()) && !StringUtils.isEmpty(depositQueryVO.getEndDate())) { + if (!CharSequenceUtil.isEmpty(depositQueryVO.getStartDate()) && !CharSequenceUtil.isEmpty(depositQueryVO.getEndDate())) { Date start = cn.hutool.core.date.DateUtil.parse(depositQueryVO.getStartDate()); Date end = cn.hutool.core.date.DateUtil.parse(depositQueryVO.getEndDate()); depositLogQueryWrapper.between("create_time", start, end); diff --git a/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMPMessageServiceImpl.java b/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMPMessageServiceImpl.java index ba948f5f..ce6a45cc 100644 --- a/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMPMessageServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMPMessageServiceImpl.java @@ -22,7 +22,6 @@ import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; 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.HashMap; diff --git a/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMessageServiceImpl.java b/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMessageServiceImpl.java index 58b92040..9c57334c 100644 --- a/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMessageServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/wechat/serviceimpl/WechatMessageServiceImpl.java @@ -21,7 +21,6 @@ import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; 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.HashMap; diff --git a/framework/src/test/java/cn/lili/test/script/ScriptTest.java b/framework/src/test/java/cn/lili/test/script/ScriptTest.java index ca2bfead..654c2071 100644 --- a/framework/src/test/java/cn/lili/test/script/ScriptTest.java +++ b/framework/src/test/java/cn/lili/test/script/ScriptTest.java @@ -13,7 +13,6 @@ import org.springframework.scripting.support.ResourceScriptSource; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; -import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; diff --git a/manager-api/src/main/java/cn/lili/controller/distribution/DistributionCashManagerController.java b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionCashManagerController.java index ef0fde1c..2c470682 100644 --- a/manager-api/src/main/java/cn/lili/controller/distribution/DistributionCashManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionCashManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.distribution; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.distribution.entity.dos.DistributionCash; @@ -43,6 +44,7 @@ public class DistributionCashManagerController { } + @PreventDuplicateSubmissions @ApiOperation(value = "审核") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "分销佣金ID", required = true, paramType = "path", dataType = "String"), diff --git a/manager-api/src/main/java/cn/lili/controller/distribution/DistributionManagerController.java b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionManagerController.java index 0a98a672..8ef39b1d 100644 --- a/manager-api/src/main/java/cn/lili/controller/distribution/DistributionManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/distribution/DistributionManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.distribution; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; @@ -26,7 +27,7 @@ import javax.validation.constraints.NotNull; */ @RestController @Api(tags = "管理端,分销员管理接口") -@RequestMapping("/manager/distribution") +@RequestMapping("/manager/distribution/distribution") public class DistributionManagerController { @Autowired @@ -39,6 +40,7 @@ public class DistributionManagerController { } + @PreventDuplicateSubmissions @ApiOperation(value = "清退分销商") @PutMapping(value = "/retreat/{id}") @ApiImplicitParams({ @@ -53,6 +55,7 @@ public class DistributionManagerController { } + @PreventDuplicateSubmissions @ApiOperation(value = "恢复分销商") @PutMapping(value = "/resume/{id}") @ApiImplicitParams({ @@ -67,6 +70,7 @@ public class DistributionManagerController { } + @PreventDuplicateSubmissions @ApiOperation(value = "审核分销商") @PutMapping(value = "/audit/{id}") @ApiImplicitParams({ diff --git a/manager-api/src/main/java/cn/lili/controller/file/FileManagerController.java b/manager-api/src/main/java/cn/lili/controller/file/FileManagerController.java index 8580607e..9667dc7d 100644 --- a/manager-api/src/main/java/cn/lili/controller/file/FileManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/file/FileManagerController.java @@ -1,6 +1,5 @@ package cn.lili.controller.file; -import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -24,8 +23,8 @@ import java.util.List; * @since 2020/11/26 15:41 */ @RestController -@Api(tags = "管理端,文件管理管理接口") -@RequestMapping("/manager/file") +@Api(tags = "管理端,文件管理接口") +@RequestMapping("/manager/common/file") public class FileManagerController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/goods/CategoryBrandManagerController.java b/manager-api/src/main/java/cn/lili/controller/goods/CategoryBrandManagerController.java index f7db55ee..05aaf8bc 100644 --- a/manager-api/src/main/java/cn/lili/controller/goods/CategoryBrandManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/goods/CategoryBrandManagerController.java @@ -1,12 +1,9 @@ package cn.lili.controller.goods; -import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.goods.entity.dos.CategoryBrand; import cn.lili.modules.goods.entity.vos.CategoryBrandVO; import cn.lili.modules.goods.service.CategoryBrandService; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -24,7 +21,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,分类品牌接口") -@RequestMapping("/manager/category/brand") +@RequestMapping("/manager/goods/categoryBrand") public class CategoryBrandManagerController { /** diff --git a/manager-api/src/main/java/cn/lili/controller/goods/CategoryParameterGroupManagerController.java b/manager-api/src/main/java/cn/lili/controller/goods/CategoryParameterGroupManagerController.java index af99cdd5..db806e91 100644 --- a/manager-api/src/main/java/cn/lili/controller/goods/CategoryParameterGroupManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/goods/CategoryParameterGroupManagerController.java @@ -27,7 +27,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,分类绑定参数组接口") -@RequestMapping("/manager/goods/category/parameters") +@RequestMapping("/manager/goods/categoryParameters") public class CategoryParameterGroupManagerController { /** diff --git a/manager-api/src/main/java/cn/lili/controller/goods/CategorySpecificationManagerController.java b/manager-api/src/main/java/cn/lili/controller/goods/CategorySpecificationManagerController.java index bde97a6b..ab08d003 100644 --- a/manager-api/src/main/java/cn/lili/controller/goods/CategorySpecificationManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/goods/CategorySpecificationManagerController.java @@ -25,7 +25,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,商品分类规格接口") -@RequestMapping("/manager/goods/category/spec") +@RequestMapping("/manager/goods/categorySpec") public class CategorySpecificationManagerController { /** diff --git a/manager-api/src/main/java/cn/lili/controller/goods/GoodsManagerController.java b/manager-api/src/main/java/cn/lili/controller/goods/GoodsManagerController.java index f015822e..f58b9e6e 100644 --- a/manager-api/src/main/java/cn/lili/controller/goods/GoodsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/goods/GoodsManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.goods; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; @@ -32,7 +33,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,商品管理接口") -@RequestMapping("/manager/goods") +@RequestMapping("/manager/goods/goods") public class GoodsManagerController { /** * 商品 @@ -65,6 +66,7 @@ public class GoodsManagerController { return goodsService.queryByParams(goodsSearchParams); } + @PreventDuplicateSubmissions @ApiOperation(value = "管理员下架商品", notes = "管理员下架商品时使用") @ApiImplicitParams({ @ApiImplicitParam(name = "goodsId", value = "商品ID", required = true, paramType = "query", allowMultiple = true), @@ -79,6 +81,7 @@ public class GoodsManagerController { throw new ServiceException(ResultCode.GOODS_UNDER_ERROR); } + @PreventDuplicateSubmissions @ApiOperation(value = "管理员审核商品", notes = "管理员审核商品") @ApiImplicitParams({ @ApiImplicitParam(name = "goodsIds", value = "商品ID", required = true, paramType = "path", allowMultiple = true, dataType = "int"), @@ -94,6 +97,7 @@ public class GoodsManagerController { } + @PreventDuplicateSubmissions @ApiOperation(value = "管理员上架商品", notes = "管理员上架商品时使用") @PutMapping(value = "/{goodsId}/up") @ApiImplicitParams({ diff --git a/manager-api/src/main/java/cn/lili/controller/goods/HotWordsManagerController.java b/manager-api/src/main/java/cn/lili/controller/hotwords/HotWordsManagerController.java old mode 100755 new mode 100644 similarity index 94% rename from manager-api/src/main/java/cn/lili/controller/goods/HotWordsManagerController.java rename to manager-api/src/main/java/cn/lili/controller/hotwords/HotWordsManagerController.java index ee042cf9..ce4eb8d3 --- a/manager-api/src/main/java/cn/lili/controller/goods/HotWordsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/hotwords/HotWordsManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.goods; +package cn.lili.controller.hotwords; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @Api(tags = "管理端,系统设置扩展接口") -@RequestMapping("/manager/hotwords") +@RequestMapping("/manager/hotwords/hotwords") public class HotWordsManagerController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/member/MemberAddressManagerController.java b/manager-api/src/main/java/cn/lili/controller/member/MemberAddressManagerController.java index d75effd5..4896d99b 100644 --- a/manager-api/src/main/java/cn/lili/controller/member/MemberAddressManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/member/MemberAddressManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.member; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -33,6 +34,7 @@ public class MemberAddressManagerController { return ResultUtil.data(memberAddressService.getAddressByMember(page, memberId)); } + @PreventDuplicateSubmissions @ApiOperation(value = "删除会员收件地址") @ApiImplicitParam(name = "id", value = "会员地址ID", dataType = "String", paramType = "path") @DeleteMapping(value = "/delById/{id}") @@ -48,6 +50,7 @@ public class MemberAddressManagerController { return ResultUtil.data(memberAddressService.updateMemberAddress(shippingAddress)); } + @PreventDuplicateSubmissions @ApiOperation(value = "新增会员收件地址") @PostMapping public ResultMessage addShippingAddress(@Valid MemberAddress shippingAddress) { diff --git a/manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java b/manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java index e1d3d241..213706a7 100644 --- a/manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.member; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -25,11 +26,12 @@ import javax.validation.constraints.NotNull; */ @RestController @Api(tags = "管理端,会员商品评价接口") -@RequestMapping("/manager/memberEvaluation") +@RequestMapping("/manager/member/evaluation") public class MemberEvaluationManagerController { @Autowired private MemberEvaluationService memberEvaluationService; + @PreventDuplicateSubmissions @ApiOperation(value = "通过id获取评论") @ApiImplicitParam(name = "id", value = "评价ID", required = true, dataType = "String", paramType = "path") @GetMapping(value = "/get/{id}") @@ -45,6 +47,7 @@ public class MemberEvaluationManagerController { return ResultUtil.data(memberEvaluationService.queryPage(evaluationQueryParams)); } + @PreventDuplicateSubmissions @ApiOperation(value = "修改评价状态") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "评价ID", required = true, paramType = "path"), diff --git a/manager-api/src/main/java/cn/lili/controller/member/MemberGradeManagerController.java b/manager-api/src/main/java/cn/lili/controller/member/MemberGradeManagerController.java index 907715b9..e2ca98ca 100644 --- a/manager-api/src/main/java/cn/lili/controller/member/MemberGradeManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/member/MemberGradeManagerController.java @@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @Api(tags = "管理端,会员等级接口") -@RequestMapping("/manager/memberGrade") +@RequestMapping("/manager/member/memberGrade") public class MemberGradeManagerController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/message/MemberMessageManagerController.java b/manager-api/src/main/java/cn/lili/controller/message/MemberMessageManagerController.java index 0c1e1391..38a90456 100644 --- a/manager-api/src/main/java/cn/lili/controller/message/MemberMessageManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/message/MemberMessageManagerController.java @@ -10,7 +10,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -24,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "管理端,会员消息消息管理接口") -@RequestMapping("/manager/message/member") +@RequestMapping("/manager/other/memberMessage") public class MemberMessageManagerController { @Autowired private MemberMessageService memberMessageService; diff --git a/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeLogManagerController.java b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeLogManagerController.java index 483e66a5..506bbc5a 100644 --- a/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeLogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeLogManagerController.java @@ -22,7 +22,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,会员消息接口") -@RequestMapping("/manager/memberNoticeLog") +@RequestMapping("/manager/message/memberNoticeLog") public class MemberNoticeLogManagerController { @Autowired private MemberNoticeLogService memberNoticeLogService; diff --git a/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeManagerController.java b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeManagerController.java index 30e74871..be252cbb 100644 --- a/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeManagerController.java @@ -25,7 +25,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,会员站内信管理API") -@RequestMapping("/manager/member/notice") +@RequestMapping("/manager/message/memberNotice") public class MemberNoticeManagerController { @Autowired private MemberNoticeService memberNoticeService; diff --git a/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeSenterManagerController.java b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeSenterManagerController.java index 238ccffb..edd03c9a 100644 --- a/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeSenterManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/message/MemberNoticeSenterManagerController.java @@ -23,7 +23,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,会员消息接口") -@RequestMapping("/manager/memberNoticeSenter") +@RequestMapping("/manager/message/memberNoticeSenter") public class MemberNoticeSenterManagerController { @Autowired private MemberNoticeSenterService memberNoticeSenterService; diff --git a/manager-api/src/main/java/cn/lili/controller/message/ServiceNoticeManagerController.java b/manager-api/src/main/java/cn/lili/controller/message/ServiceNoticeManagerController.java index aca1ce21..8510d1e2 100644 --- a/manager-api/src/main/java/cn/lili/controller/message/ServiceNoticeManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/message/ServiceNoticeManagerController.java @@ -24,7 +24,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,服务订阅消息接口") -@RequestMapping("/manager/admin/notice") +@RequestMapping("/manager/message/serviceNotice") public class ServiceNoticeManagerController { @Autowired private ServiceNoticeService serviceNoticeService; diff --git a/manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java index 42a16ecd..10748a0b 100644 --- a/manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.order.aftersale.entity.dos.AfterSale; @@ -26,7 +27,7 @@ import java.util.List; * @since 2021/1/6 14:11 */ @RestController -@RequestMapping("/manager/afterSale") +@RequestMapping("/manager/order/afterSale") @Api(tags = "管理端,售后接口") public class AfterSaleManagerController { @@ -74,6 +75,7 @@ public class AfterSaleManagerController { return ResultUtil.data(afterSaleService.refund(afterSaleSn, remark)); } + @PreventDuplicateSubmissions @ApiOperation(value = "审核售后申请") @ApiImplicitParams({ @ApiImplicitParam(name = "afterSaleSn", value = "售后sn", required = true, paramType = "path"), diff --git a/manager-api/src/main/java/cn/lili/controller/order/AfterSaleReasonManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/AfterSaleReasonManagerController.java index 75a3a54a..916c5bff 100644 --- a/manager-api/src/main/java/cn/lili/controller/order/AfterSaleReasonManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/AfterSaleReasonManagerController.java @@ -23,7 +23,7 @@ import javax.validation.Valid; * @since 2021/1/6 14:11 */ @RestController -@RequestMapping("/manager/afterSaleReason") +@RequestMapping("/manager/order/afterSaleReason") @Api(tags = "管理端,售后原因接口") public class AfterSaleReasonManagerController { diff --git a/manager-api/src/main/java/cn/lili/controller/order/OrderComplaintManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/OrderComplaintManagerController.java index a2a64ecc..e0cf6b43 100644 --- a/manager-api/src/main/java/cn/lili/controller/order/OrderComplaintManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/OrderComplaintManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; @@ -30,7 +31,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @Api(tags = "管理端,交易投诉接口") -@RequestMapping("/manager/complain") +@RequestMapping("/manager/order/complain") public class OrderComplaintManagerController { /** @@ -79,6 +80,7 @@ public class OrderComplaintManagerController { return ResultUtil.data(communicationVO); } + @PreventDuplicateSubmissions @ApiOperation(value = "修改状态") @PutMapping(value = "/status") public ResultMessage updateStatus(OrderComplaintOperationParams orderComplainVO) { @@ -87,6 +89,7 @@ public class OrderComplaintManagerController { } + @PreventDuplicateSubmissions @ApiOperation(value = "仲裁") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "投诉单ID", required = true, paramType = "path"), diff --git a/manager-api/src/main/java/cn/lili/controller/order/OrderLogManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/OrderLogManagerController.java index 214fda21..076e5e8b 100644 --- a/manager-api/src/main/java/cn/lili/controller/order/OrderLogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/OrderLogManagerController.java @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -25,7 +24,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "管理端,订单日志管理接口") -@RequestMapping("/manager/orderLog") +@RequestMapping("/manager/order/orderLog") public class OrderLogManagerController { @Autowired private OrderLogService orderLogService; diff --git a/manager-api/src/main/java/cn/lili/controller/order/OrderManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/OrderManagerController.java index 2f7dedfc..00fc6bf8 100644 --- a/manager-api/src/main/java/cn/lili/controller/order/OrderManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/OrderManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dto.MemberAddressDTO; @@ -31,7 +32,7 @@ import java.util.List; * @since 2020/11/17 4:34 下午 */ @RestController -@RequestMapping("/manager/orders") +@RequestMapping("/manager/order/order") @Api(tags = "管理端,订单API") public class OrderManagerController { @@ -68,6 +69,7 @@ public class OrderManagerController { } + @PreventDuplicateSubmissions @ApiOperation(value = "确认收款") @ApiImplicitParam(name = "orderSn", value = "订单编号", required = true, dataType = "String", paramType = "path") @PostMapping(value = "/{orderSn}/pay") @@ -76,6 +78,7 @@ public class OrderManagerController { return ResultUtil.success(); } + @PreventDuplicateSubmissions @ApiOperation(value = "修改收货人信息") @ApiImplicitParam(name = "orderSn", value = "订单sn", required = true, dataType = "String", paramType = "path") @PostMapping(value = "/update/{orderSn}/consignee") @@ -84,6 +87,7 @@ public class OrderManagerController { return ResultUtil.data(orderService.updateConsignee(orderSn, memberAddressDTO)); } + @PreventDuplicateSubmissions @ApiOperation(value = "修改订单价格") @ApiImplicitParams({ @ApiImplicitParam(name = "orderSn", value = "订单sn", required = true, dataType = "String", paramType = "path"), @@ -96,6 +100,7 @@ public class OrderManagerController { } + @PreventDuplicateSubmissions @ApiOperation(value = "取消订单") @ApiImplicitParams({ @ApiImplicitParam(name = "orderSn", value = "订单编号", required = true, dataType = "String", paramType = "path"), diff --git a/manager-api/src/main/java/cn/lili/controller/order/PaymentLogManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/PaymentLogManagerController.java index 6e49b39f..daf587fb 100644 --- a/manager-api/src/main/java/cn/lili/controller/order/PaymentLogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/PaymentLogManagerController.java @@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -26,7 +25,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "管理端,收款日志接口") -@RequestMapping("/manager/paymentLog") +@RequestMapping("/manager/order/paymentLog") public class PaymentLogManagerController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/order/ReceiptManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/ReceiptManagerController.java index 3d0026b1..b3c92744 100644 --- a/manager-api/src/main/java/cn/lili/controller/order/ReceiptManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/ReceiptManagerController.java @@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.RestController; **/ @RestController @Api(tags = "管理端,发票记录接口") -@RequestMapping("/manager/receipt") +@RequestMapping("/manager/trade/receipt") public class ReceiptManagerController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/order/RefundLogManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/RefundLogManagerController.java index 48d7c4f9..f860c391 100644 --- a/manager-api/src/main/java/cn/lili/controller/order/RefundLogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/RefundLogManagerController.java @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -25,7 +24,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "管理端,退款日志接口") -@RequestMapping("/manager/refundLog") +@RequestMapping("/manager/order/refundLog") public class RefundLogManagerController { @Autowired private RefundLogService refundLogService; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/AppVersionManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/AppVersionManagerController.java old mode 100755 new mode 100644 similarity index 97% rename from manager-api/src/main/java/cn/lili/controller/setting/AppVersionManagerController.java rename to manager-api/src/main/java/cn/lili/controller/other/AppVersionManagerController.java index 0beb7cbc..49dea11c --- a/manager-api/src/main/java/cn/lili/controller/setting/AppVersionManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/AppVersionManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.setting; +package cn.lili.controller.other; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; @@ -28,7 +28,7 @@ import javax.validation.Valid; */ @RestController @Api("管理端,app版本控制器") -@RequestMapping("/manager/systems/app/version") +@RequestMapping("/manager/other/appVersion") public class AppVersionManagerController { @Autowired private AppVersionService appVersionService; diff --git a/manager-api/src/main/java/cn/lili/controller/other/ArticleCategoryManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/ArticleCategoryManagerController.java index 323fa887..2fcb8264 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/ArticleCategoryManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/ArticleCategoryManagerController.java @@ -24,7 +24,7 @@ import java.util.List; @Slf4j @RestController @Api(tags = "管理端,文章分类管理接口") -@RequestMapping("/manager/article-category") +@RequestMapping("/manager/other/articleCategory") public class ArticleCategoryManagerController { /** diff --git a/manager-api/src/main/java/cn/lili/controller/other/ArticleManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/ArticleManagerController.java index ce0a0921..f9cf79ce 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/ArticleManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/ArticleManagerController.java @@ -25,7 +25,7 @@ import javax.validation.Valid; */ @RestController @Api(tags = "管理端,文章接口") -@RequestMapping("/manager/article") +@RequestMapping("/manager/other/article") public class ArticleManagerController { /** diff --git a/manager-api/src/main/java/cn/lili/controller/other/CustomWordsController.java b/manager-api/src/main/java/cn/lili/controller/other/CustomWordsController.java index 8b069ccc..8556775c 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/CustomWordsController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/CustomWordsController.java @@ -35,7 +35,7 @@ import java.nio.charset.StandardCharsets; @Slf4j @RestController @Api(tags = "管理端,自定义分词接口") -@RequestMapping("/manager/custom-words") +@RequestMapping("/manager/other/customWords") public class CustomWordsController { /** 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 a3da87d4..2ecb8cdd 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 @@ -20,7 +20,7 @@ import java.util.Map; */ @RestController @Api(tags = "ES初始化接口") -@RequestMapping("/manager/elasticsearch") +@RequestMapping("/manager/other/elasticsearch") public class ElasticsearchController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/other/FeedbackManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/FeedbackManagerController.java index 5e882def..77c5c011 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/FeedbackManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/FeedbackManagerController.java @@ -24,7 +24,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "管理端,意见反馈接口") -@RequestMapping("/manager/feedback") +@RequestMapping("/manager/other/feedback") public class FeedbackManagerController { /** diff --git a/manager-api/src/main/java/cn/lili/controller/setting/LogisticsManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/LogisticsManagerController.java similarity index 96% rename from manager-api/src/main/java/cn/lili/controller/setting/LogisticsManagerController.java rename to manager-api/src/main/java/cn/lili/controller/other/LogisticsManagerController.java index 0ef03614..6ca05e0c 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/LogisticsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/LogisticsManagerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.setting; +package cn.lili.controller.other; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; @@ -24,7 +24,7 @@ import javax.validation.constraints.NotNull; */ @RestController @Api(tags = "管理端,物流公司接口") -@RequestMapping("/manager/logistics") +@RequestMapping("/manager/other/logistics") public class LogisticsManagerController { @Autowired private LogisticsService logisticsService; diff --git a/manager-api/src/main/java/cn/lili/controller/other/MessageManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/MessageManagerController.java index 261c736f..58905e79 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/MessageManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/MessageManagerController.java @@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @Api(tags = "管理端,消息发送管理接口") -@RequestMapping("/manager/message") +@RequestMapping("/manager/other/message") public class MessageManagerController { @Autowired private MessageService messageService; 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 42a51826..8c78a25d 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 @@ -27,7 +27,7 @@ import javax.validation.constraints.NotNull; */ @RestController @Api(tags = "管理端,页面设置管理接口") -@RequestMapping("/manager/pageData") +@RequestMapping("/manager/other/pageData") public class PageDataManagerController { @Autowired 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 112b21ab..2e1fbc15 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 @@ -24,7 +24,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,敏感词管理接口") -@RequestMapping("/manager/sensitiveWords") +@RequestMapping("/manager/other/sensitiveWords") public class SensitiveWordsManagerController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/other/SpecialManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/SpecialManagerController.java index 6f6af7f3..af043eaa 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/SpecialManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/SpecialManagerController.java @@ -24,7 +24,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,专题活动接口") -@RequestMapping("/manager/special") +@RequestMapping("/manager/order/special") public class SpecialManagerController { @Autowired 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 a1ff86b3..c67a0962 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 @@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -26,7 +25,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,验证码资源维护接口") -@RequestMapping("/manager/verificationSource") +@RequestMapping("/manager/other/verificationSource") public class VerificationSourceController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/other/broadcast/StudioManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/broadcast/StudioManagerController.java index f663d433..fb514b84 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/broadcast/StudioManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/broadcast/StudioManagerController.java @@ -26,7 +26,7 @@ import javax.validation.constraints.NotNull; * @since 2021/5/28 11:56 上午 */ @RestController -@Api(tags = "店铺端,直播间接口") +@Api(tags = "管理端,直播间接口") @RequestMapping("/manager/broadcast/studio") public class StudioManagerController { diff --git a/manager-api/src/main/java/cn/lili/controller/other/purchase/PurchaseManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/purchase/PurchaseManagerController.java index 11185279..3b849d0d 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/purchase/PurchaseManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/purchase/PurchaseManagerController.java @@ -27,7 +27,7 @@ import java.util.List; */ @Api(tags = "管理端,采购接口") @RestController -@RequestMapping("/manager/purchase") +@RequestMapping("/manager/other/purchase/purchase") public class PurchaseManagerController { /** 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 03bafe02..1be65f27 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 @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -45,7 +44,7 @@ import java.util.List; @Slf4j @RestController @Api(tags = "管理员") -@RequestMapping("/manager/user") +@RequestMapping("/manager/passport/user") @Validated public class AdminUserManagerController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/member/MemberManagerController.java b/manager-api/src/main/java/cn/lili/controller/passport/MemberManagerController.java similarity index 93% rename from manager-api/src/main/java/cn/lili/controller/member/MemberManagerController.java rename to manager-api/src/main/java/cn/lili/controller/passport/MemberManagerController.java index 307306d4..6568257c 100644 --- a/manager-api/src/main/java/cn/lili/controller/member/MemberManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/passport/MemberManagerController.java @@ -1,6 +1,7 @@ -package cn.lili.controller.member; +package cn.lili.controller.passport; import cn.lili.common.aop.annotation.DemoSite; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -29,7 +30,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,会员接口") -@RequestMapping("/manager/member") +@RequestMapping("/manager/passport/member") public class MemberManagerController { @Autowired private MemberService memberService; @@ -56,20 +57,22 @@ public class MemberManagerController { return ResultUtil.data(memberService.addMember(member)); } + @DemoSite + @PreventDuplicateSubmissions @ApiOperation(value = "修改会员基本信息") @PutMapping - @DemoSite public ResultMessage update(@Valid ManagerMemberEditDTO managerMemberEditDTO) { return ResultUtil.data(memberService.updateMember(managerMemberEditDTO)); } + @DemoSite + @PreventDuplicateSubmissions @ApiOperation(value = "修改会员状态,开启关闭会员") @ApiImplicitParams({ @ApiImplicitParam(name = "memberIds", value = "会员ID", required = true, dataType = "String", allowMultiple = true, paramType = "query"), @ApiImplicitParam(name = "disabled", required = true, dataType = "boolean", paramType = "query") }) @PutMapping("/updateMemberStatus") - @DemoSite public ResultMessage updateMemberStatus(@RequestParam List memberIds, @RequestParam Boolean disabled) { memberService.updateMemberStatus(memberIds, disabled); return ResultUtil.success(); diff --git a/manager-api/src/main/java/cn/lili/controller/permission/DepartmentManagerController.java b/manager-api/src/main/java/cn/lili/controller/permission/DepartmentManagerController.java index 442a406f..724b6c97 100644 --- a/manager-api/src/main/java/cn/lili/controller/permission/DepartmentManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/permission/DepartmentManagerController.java @@ -23,7 +23,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,部门管理接口") -@RequestMapping("/manager/department") +@RequestMapping("/manager/permission/department") public class DepartmentManagerController { @Autowired private DepartmentService departmentService; diff --git a/manager-api/src/main/java/cn/lili/controller/permission/DepartmentRoleManagerController.java b/manager-api/src/main/java/cn/lili/controller/permission/DepartmentRoleManagerController.java index 20d8b068..8bf61daf 100644 --- a/manager-api/src/main/java/cn/lili/controller/permission/DepartmentRoleManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/permission/DepartmentRoleManagerController.java @@ -20,7 +20,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,部门角色接口") -@RequestMapping("/manager/departmentRole") +@RequestMapping("/manager/permission/departmentRole") public class DepartmentRoleManagerController { @Autowired private DepartmentRoleService departmentRoleService; 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 bf7bf540..6c7c478b 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 @@ -26,7 +26,7 @@ import java.util.List; @Slf4j @RestController @Api(tags = "管理端,菜单管理接口") -@RequestMapping("/manager/menu") +@RequestMapping("/manager/permission/menu") public class MenuManagerController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/permission/RoleManagerController.java b/manager-api/src/main/java/cn/lili/controller/permission/RoleManagerController.java index 4e4abbe7..b6f3e9bf 100644 --- a/manager-api/src/main/java/cn/lili/controller/permission/RoleManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/permission/RoleManagerController.java @@ -23,7 +23,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,角色管理接口") -@RequestMapping("/manager/role") +@RequestMapping("/manager/permission/role") public class RoleManagerController { @Autowired private RoleService roleService; diff --git a/manager-api/src/main/java/cn/lili/controller/permission/RoleMenuManagerController.java b/manager-api/src/main/java/cn/lili/controller/permission/RoleMenuManagerController.java index 63b57355..b74f07ba 100644 --- a/manager-api/src/main/java/cn/lili/controller/permission/RoleMenuManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/permission/RoleMenuManagerController.java @@ -21,7 +21,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,角色菜单接口") -@RequestMapping("/manager/roleMenu") +@RequestMapping("/manager/permission/roleMenu") public class RoleMenuManagerController { @Autowired private RoleMenuService roleMenuService; diff --git a/manager-api/src/main/java/cn/lili/controller/permission/UserRoleManagerController.java b/manager-api/src/main/java/cn/lili/controller/permission/UserRoleManagerController.java index b04971cb..28197734 100644 --- a/manager-api/src/main/java/cn/lili/controller/permission/UserRoleManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/permission/UserRoleManagerController.java @@ -21,7 +21,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,管理员角色接口") -@RequestMapping("/manager/userRole") +@RequestMapping("/manager/permission/userRole") public class UserRoleManagerController { @Autowired private UserRoleService userRoleService; diff --git a/manager-api/src/main/java/cn/lili/controller/promotion/KanJiaActivityGoodsManagerController.java b/manager-api/src/main/java/cn/lili/controller/promotion/KanJiaActivityGoodsManagerController.java index 12e28cdb..d8897141 100644 --- a/manager-api/src/main/java/cn/lili/controller/promotion/KanJiaActivityGoodsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/promotion/KanJiaActivityGoodsManagerController.java @@ -28,7 +28,7 @@ import java.util.Arrays; **/ @RestController @Api(tags = "管理端,砍价促销接口") -@RequestMapping("/manager/promotion/kan-jia-goods") +@RequestMapping("/manager/promotion/kanJiaGoods") public class KanJiaActivityGoodsManagerController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/promotion/PromotionManagerController.java b/manager-api/src/main/java/cn/lili/controller/promotion/PromotionManagerController.java index bdb19b9c..9afbb2b4 100644 --- a/manager-api/src/main/java/cn/lili/controller/promotion/PromotionManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/promotion/PromotionManagerController.java @@ -27,7 +27,7 @@ import java.util.Map; **/ @RestController @Api(tags = "管理端,促销接口") -@RequestMapping("/manager/promotion") +@RequestMapping("/manager/promotion/promotion") public class PromotionManagerController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/setting/LogManagerController.java b/manager-api/src/main/java/cn/lili/controller/setting/LogManagerController.java index e8b6fd22..ca2e3689 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/LogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/setting/LogManagerController.java @@ -9,7 +9,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -24,7 +23,7 @@ import java.util.List; @Slf4j @RestController @Api(tags = "日志管理接口") -@RequestMapping("/manager/log") +@RequestMapping("/manager/setting/log") public class LogManagerController { @Autowired private SystemLogService systemLogService; @@ -32,12 +31,12 @@ public class LogManagerController { @GetMapping(value = "/getAllByPage") @ApiOperation(value = "分页获取全部") public ResultMessage getAllByPage(@RequestParam(required = false) Integer type, - @RequestParam String key, + @RequestParam String searchKey, String operatorName, SearchVO searchVo, PageVO pageVo) { try { - return ResultUtil.data(systemLogService.queryLog(null, operatorName, key, searchVo, pageVo)); + return ResultUtil.data(systemLogService.queryLog(null, operatorName, searchKey, searchVo, pageVo)); } catch (Exception e) { log.error("日志获取错误",e); } diff --git a/manager-api/src/main/java/cn/lili/controller/setting/NoticeMessageManagerController.java b/manager-api/src/main/java/cn/lili/controller/setting/NoticeMessageManagerController.java index 33d50c50..4bbbf403 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/NoticeMessageManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/setting/NoticeMessageManagerController.java @@ -35,7 +35,7 @@ import java.util.List; @Slf4j @RestController @Api(tags = "管理端,会员站内信管理接口") -@RequestMapping("/manager/noticeMessage") +@RequestMapping("/manager/setting/noticeMessage") public class NoticeMessageManagerController { @Autowired private NoticeMessageService noticeMessageService; 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 44ec6aac..051eb152 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 @@ -9,7 +9,6 @@ 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.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -24,7 +23,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,行政地区管理接口") -@RequestMapping("/manager/region") +@RequestMapping("/manager/setting/region") public class RegionManagerController { @Autowired private RegionService regionService; 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 d68e3bcf..e0f9c48d 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 @@ -32,7 +32,7 @@ import java.util.Collections; */ @RestController @Api(tags = "管理端,系统设置接口") -@RequestMapping("/manager/system/setting") +@RequestMapping("/manager/setting/setting") public class SettingManagerController { @Autowired private SettingService settingService; diff --git a/manager-api/src/main/java/cn/lili/controller/setting/SettingXManagerController.java b/manager-api/src/main/java/cn/lili/controller/setting/SettingXManagerController.java index a5caa8bb..ab5a1337 100644 --- a/manager-api/src/main/java/cn/lili/controller/setting/SettingXManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/setting/SettingXManagerController.java @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "管理端,系统设置扩展接口") -@RequestMapping("/manager/system/settingx") +@RequestMapping("/manager/setting/settingx") public class SettingXManagerController { @ApiOperation(value = "支持支付方式表单") diff --git a/manager-api/src/main/java/cn/lili/controller/sms/SmsManagerController.java b/manager-api/src/main/java/cn/lili/controller/sms/SmsManagerController.java index c6bc158f..70026cf7 100644 --- a/manager-api/src/main/java/cn/lili/controller/sms/SmsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/sms/SmsManagerController.java @@ -23,7 +23,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,短信接口") -@RequestMapping("/manager/sms") +@RequestMapping("/manager/sms/sms") public class SmsManagerController { @Autowired private SmsReachService smsReachService; diff --git a/manager-api/src/main/java/cn/lili/controller/sms/SmsTemplateManagerController.java b/manager-api/src/main/java/cn/lili/controller/sms/SmsTemplateManagerController.java index f9beef26..9b9aa0e5 100644 --- a/manager-api/src/main/java/cn/lili/controller/sms/SmsTemplateManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/sms/SmsTemplateManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.sms; +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; @@ -29,21 +30,24 @@ public class SmsTemplateManagerController { @ApiOperation(value = "新增短信模板") @PostMapping + @DemoSite public ResultMessage save(@Valid SmsTemplate smsTemplate) { smsTemplateService.addSmsTemplate(smsTemplate); return ResultUtil.success(); } @ApiOperation(value = "删除短信模板") - @ApiImplicitParam(name = "id", value = "短信模板ID", required = true, paramType = "path") - @DeleteMapping("/{id}") - public ResultMessage delete(@PathVariable("id") String id) { - smsTemplateService.deleteSmsTemplate(id); + @ApiImplicitParam(name = "templateCode", value = "短信模板CODE", required = true, paramType = "query") + @DeleteMapping + @DemoSite + public ResultMessage delete(String templateCode) { + smsTemplateService.deleteSmsTemplate(templateCode); return ResultUtil.success(); } @ApiOperation(value = "查询短信模板状态") @PutMapping("/querySmsSign") + @DemoSite public ResultMessage querySmsSign() { smsTemplateService.querySmsTemplate(); return ResultUtil.success(); @@ -51,6 +55,7 @@ public class SmsTemplateManagerController { @ApiOperation(value = "修改短信模板") @PutMapping("/modifySmsTemplate") + @DemoSite public ResultMessage modifySmsTemplate(@Valid SmsTemplate smsTemplate) { smsTemplateService.modifySmsTemplate(smsTemplate); return ResultUtil.success(); diff --git a/manager-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsManagerController.java b/manager-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsManagerController.java index 7ee8eef8..9647b8d1 100644 --- a/manager-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsManagerController.java @@ -1,5 +1,6 @@ package cn.lili.controller.statistics; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam; @@ -40,6 +41,7 @@ public class IndexStatisticsManagerController { @ApiOperation(value = "获取首页查询数据") @GetMapping + @PreventDuplicateSubmissions public ResultMessage index() { try { return ResultUtil.data(indexStatisticsService.indexStatistics()); diff --git a/manager-api/src/main/java/cn/lili/controller/statistics/RefundOrderStatisticsManagerController.java b/manager-api/src/main/java/cn/lili/controller/statistics/RefundOrderStatisticsManagerController.java index 36dab0da..b5dadeb2 100644 --- a/manager-api/src/main/java/cn/lili/controller/statistics/RefundOrderStatisticsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/statistics/RefundOrderStatisticsManagerController.java @@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.RestController; */ @Api(tags = "管理端,退款统计接口") @RestController -@RequestMapping("/manager/statistics/refund/order") +@RequestMapping("/manager/statistics/refundOrder") public class RefundOrderStatisticsManagerController { @Autowired private RefundOrderStatisticsService refundOrderStatisticsService; 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 128cbe18..4fbe985a 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 @@ -27,7 +27,7 @@ import javax.validation.constraints.NotNull; */ @RestController @Api(tags = "管理端,商家结算单接口") -@RequestMapping("/manager/store/bill") +@RequestMapping("/manager/order/bill") public class BillManagerController { @Autowired private BillService billService; 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 329088a4..ae4b8c73 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 @@ -33,7 +33,7 @@ import java.util.List; */ @Api(tags = "管理端,店铺管理接口") @RestController -@RequestMapping("/manager/store") +@RequestMapping("/manager/store/store") public class StoreManagerController { /** diff --git a/manager-api/src/main/java/cn/lili/controller/store/StoreMessageManagerController.java b/manager-api/src/main/java/cn/lili/controller/store/StoreMessageManagerController.java index 4f33f64a..c1241e7e 100644 --- a/manager-api/src/main/java/cn/lili/controller/store/StoreMessageManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/store/StoreMessageManagerController.java @@ -10,7 +10,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -24,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "管理端,店铺消息消息管理接口") -@RequestMapping("/manager/message/store") +@RequestMapping("/manager/other/storeMessage") public class StoreMessageManagerController { @Autowired diff --git a/manager-api/src/main/java/cn/lili/controller/wallet/MemberWalletManagerController.java b/manager-api/src/main/java/cn/lili/controller/wallet/MemberWalletManagerController.java index 927c8816..9b232f4c 100644 --- a/manager-api/src/main/java/cn/lili/controller/wallet/MemberWalletManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/wallet/MemberWalletManagerController.java @@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "管理端,预存款接口") -@RequestMapping("/manager/members/wallet") +@RequestMapping("/manager/wallet/wallet") public class MemberWalletManagerController { @Autowired private MemberWalletService memberWalletService; diff --git a/manager-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyManagerController.java b/manager-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyManagerController.java index efc4c3bf..c97ca7de 100644 --- a/manager-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/wallet/MemberWithdrawApplyManagerController.java @@ -1,6 +1,7 @@ package cn.lili.controller.wallet; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; @@ -13,7 +14,6 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -28,7 +28,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "管理端,余额提现记录接口") -@RequestMapping("/manager/members/withdraw-apply") +@RequestMapping("/manager/wallet/withdrawApply") public class MemberWithdrawApplyManagerController { @Autowired private MemberWithdrawApplyService memberWithdrawApplyService; @@ -43,6 +43,7 @@ public class MemberWithdrawApplyManagerController { } + @PreventDuplicateSubmissions @ApiOperation(value = "提现申请审核") @PostMapping @ApiImplicitParams({ diff --git a/manager-api/src/main/java/cn/lili/controller/wallet/RechargeManagerController.java b/manager-api/src/main/java/cn/lili/controller/wallet/RechargeManagerController.java index 2b30a28d..bd624193 100644 --- a/manager-api/src/main/java/cn/lili/controller/wallet/RechargeManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/wallet/RechargeManagerController.java @@ -10,7 +10,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -24,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "管理端,预存款充值记录接口") -@RequestMapping("/manager/recharge") +@RequestMapping("/manager/wallet/recharge") public class RechargeManagerController { @Autowired private RechargeService rechargeService; diff --git a/manager-api/src/main/java/cn/lili/controller/wallet/WalletLogManagerController.java b/manager-api/src/main/java/cn/lili/controller/wallet/WalletLogManagerController.java index 2b95172c..ab3901fb 100644 --- a/manager-api/src/main/java/cn/lili/controller/wallet/WalletLogManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/wallet/WalletLogManagerController.java @@ -10,7 +10,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/manager-api/src/main/java/cn/lili/controller/wechat/WechatMPMessageManagerController.java b/manager-api/src/main/java/cn/lili/controller/wechat/WechatMPMessageManagerController.java index 7e96cdf5..df40f95a 100644 --- a/manager-api/src/main/java/cn/lili/controller/wechat/WechatMPMessageManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/wechat/WechatMPMessageManagerController.java @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -22,7 +21,7 @@ import java.util.List; */ @RestController @Api(tags = "微信小程序消息订阅接口") -@RequestMapping("/manager/message/wechatMPMessage") +@RequestMapping("/manager/wechat/wechatMPMessage") public class WechatMPMessageManagerController { @Autowired private WechatMPMessageService wechatMPMessageService; diff --git a/manager-api/src/main/java/cn/lili/controller/wechat/WechatMessageManageController.java b/manager-api/src/main/java/cn/lili/controller/wechat/WechatMessageManageController.java index c0a29854..16d45c78 100644 --- a/manager-api/src/main/java/cn/lili/controller/wechat/WechatMessageManageController.java +++ b/manager-api/src/main/java/cn/lili/controller/wechat/WechatMessageManageController.java @@ -23,7 +23,7 @@ import java.util.List; */ @RestController @Api(tags = "管理端,微信消息接口") -@RequestMapping("/manager/message/wechat") +@RequestMapping("/manager/wechat/wechatMessage") public class WechatMessageManageController { @Autowired private WechatMessageService wechatMessageService; diff --git a/manager-api/src/main/resources/application.yml b/manager-api/src/main/resources/application.yml index e0d1fafa..d7a1c56a 100644 --- a/manager-api/src/main/resources/application.yml +++ b/manager-api/src/main/resources/application.yml @@ -119,10 +119,10 @@ ignored: - /MP_verify_qSyvBPhDsPdxvOhC.txt - /weixin/** - /source/** - - /manager/user/login - - /manager/user/refresh/** - - /manager/elasticsearch - - /manager/custom-words + - /manager/passport/user/login + - /manager/passport/user/refresh/** + - /manager/other/elasticsearch + - /manager/other/customWords - /druid/** - /swagger-ui.html - /doc.html diff --git a/manager-api/src/test/java/cn/lili/test/promotion/SeckillTest.java b/manager-api/src/test/java/cn/lili/test/promotion/SeckillTest.java index 27788a5b..b5de0d58 100644 --- a/manager-api/src/test/java/cn/lili/test/promotion/SeckillTest.java +++ b/manager-api/src/test/java/cn/lili/test/promotion/SeckillTest.java @@ -1,10 +1,16 @@ package cn.lili.test.promotion; import cn.lili.modules.member.service.MemberService; +import cn.lili.modules.promotion.entity.dos.Seckill; import cn.lili.modules.promotion.entity.enums.PromotionsApplyStatusEnum; import cn.lili.modules.promotion.entity.vos.SeckillApplyVO; import cn.lili.modules.promotion.service.SeckillApplyService; import cn.lili.modules.promotion.service.SeckillService; +import cn.lili.modules.system.entity.dos.Setting; +import cn.lili.modules.system.entity.dto.SeckillSetting; +import cn.lili.modules.system.entity.enums.SettingEnum; +import cn.lili.modules.system.service.SettingService; +import com.google.gson.Gson; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -32,24 +38,24 @@ class SeckillTest { @Autowired private MemberService memberService; + /** + * 系统设置 + */ + @Autowired + private SettingService settingService; + @Test void add() { -// SeckillVO seckillVO = new SeckillVO(); -// seckillVO.setId("10000"); -// seckillVO.setStoreIds("132"); -// seckillVO.setSeckillApplyStatus(SeckillApplyStatusEnum.NOT_APPLY.name()); -// seckillVO.setPromotionStatus(PromotionStatusEnum.NEW.name()); -// seckillVO.setApplyEndTime(DateUtil.parse("2021-09-06 14:20:00")); -// seckillVO.setStartTime(DateUtil.parse("2021-09-06 14:22:00")); -// seckillVO.setEndTime(DateUtil.parse("2021-09-06 23:59:00")); -// seckillVO.setHours("15,17,19"); -// seckillVO.setPromotionName("Seckill" + seckillVO.getId()); -// seckillVO.setSeckillRule("rule" + seckillVO.getId()); -// seckillVO.setStoreId("1376433565247471616"); -// seckillVO.setStoreName("platform"); -// -// Assertions.assertTrue(seckillService.saveSeckill(seckillVO)); -// memberService.getUserInfo() + Setting setting = settingService.get(SettingEnum.SECKILL_SETTING.name()); + System.out.println(setting); + SeckillSetting seckillSetting = new Gson().fromJson(setting.getSettingValue(), SeckillSetting.class); + System.out.println(seckillSetting); + boolean result = true; + for (int i = 1; i <= SeckillService.PRE_CREATION; i++) { + Seckill seckill = new Seckill(i, seckillSetting.getHours(), seckillSetting.getSeckillRule()); + seckillService.savePromotions(seckill); + } + Assertions.assertTrue(result); } @Test diff --git a/pom.xml b/pom.xml index 30e18428..55d26d0f 100644 --- a/pom.xml +++ b/pom.xml @@ -18,43 +18,43 @@ 1.8 - 4.2.3 - registry.cn-beijing.aliyuncs.com/lili-images - 1 - 4.22.17.ALL - 8.0.27 - 3.4.3.4 - 5.7.18 - 2.0.3.RELEASE - 3.0.0 - 2.9.10 - 1.18.22 - 4.5.18 - 3.11.1 - 2.0.8 - 2.2.1 - 0.10.7 - 4.7.2 - 4.0.0 - 1.1.20 - 1.0.3 - 4.7.2 - 4.4.1 - 4.5.12 + 4.3.0 UTF-8 UTF-8 true + registry.cn-beijing.aliyuncs.com/lili-images + 1 + 4.22.32.ALL + 3.5.1 + 5.7.20 + 2.0.3.RELEASE + 3.0.4 + 2.9.10 + 1.18.22 + 3.15.6 + 4.5.18 + 3.11.1 + 2.0.8 + 4.6.0 + 3.14.0 + 2.0.9 + 2.2.1 + 0.11.2 + 4.0.0 + 1.2.8 + 1.0.3 + 4.7.2 + 4.7.2 2.0.9 - 2.3.1 + 2.6.2 1.21 - 1.2 5.1.0 5.1.0 - 6.6 + 7.0.1 3.4.1 - 1.7.28 + 1.7.35 3.2.3 - 1.4 + 1.9 4.3 2.3.0 1.2.2 diff --git a/seller-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsStoreController.java b/seller-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsStoreController.java index c2fb9830..9cbb89cb 100644 --- a/seller-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsStoreController.java @@ -29,7 +29,7 @@ import java.util.Objects; */ @RestController @Api(tags = "店铺端,分销商品接口") -@RequestMapping("/store/distributionGoods") +@RequestMapping("/store/distribution/goods") public class DistributionGoodsStoreController { /** diff --git a/seller-api/src/main/java/cn/lili/controller/distribution/DistributionOrderStoreController.java b/seller-api/src/main/java/cn/lili/controller/distribution/DistributionOrderStoreController.java index 21ac76b8..6b714ca8 100644 --- a/seller-api/src/main/java/cn/lili/controller/distribution/DistributionOrderStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/distribution/DistributionOrderStoreController.java @@ -24,7 +24,7 @@ import java.util.Objects; */ @RestController @Api(tags = "店铺端,分销订单接口") -@RequestMapping("/store/distributionOrder") +@RequestMapping("/store/distribution/order") public class DistributionOrderStoreController { /** 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 b581f891..261a0037 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 @@ -6,7 +6,6 @@ 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.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -22,7 +21,7 @@ import java.util.List; */ @RestController @Api(tags = "店铺端,分类绑定参数组管理接口") -@RequestMapping("/store/goods/category/parameters") +@RequestMapping("/store/goods/categoryParameters") public class CategoryParameterGroupStoreController { diff --git a/seller-api/src/main/java/cn/lili/controller/goods/CategorySpecificationStoreController.java b/seller-api/src/main/java/cn/lili/controller/goods/CategorySpecificationStoreController.java index a18c8d73..e8c52780 100644 --- a/seller-api/src/main/java/cn/lili/controller/goods/CategorySpecificationStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/goods/CategorySpecificationStoreController.java @@ -6,7 +6,6 @@ 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.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -22,7 +21,7 @@ import java.util.List; */ @RestController @Api(tags = "店铺端,商品分类规格接口") -@RequestMapping("/store/goods/category/spec") +@RequestMapping("/store/goods/categorySpec") public class CategorySpecificationStoreController { @Autowired private CategorySpecificationService categorySpecificationService; diff --git a/seller-api/src/main/java/cn/lili/controller/goods/CategoryStoreController.java b/seller-api/src/main/java/cn/lili/controller/goods/CategoryStoreController.java index 82732c62..362d46b0 100644 --- a/seller-api/src/main/java/cn/lili/controller/goods/CategoryStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/goods/CategoryStoreController.java @@ -14,7 +14,6 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheConfig; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; 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 3aeabf62..2e3d1c86 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 @@ -27,7 +27,7 @@ import java.util.Objects; */ @RestController @Api(tags = "店铺端,草稿商品接口") -@RequestMapping("/store/draft/goods") +@RequestMapping("/store/goods/draftGoods") public class DraftGoodsStoreController { @Autowired private DraftGoodsService draftGoodsService; 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 55f1af36..5aadb600 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 @@ -39,7 +39,7 @@ import java.util.stream.Collectors; */ @RestController @Api(tags = "店铺端,商品接口") -@RequestMapping("/store/goods") +@RequestMapping("/store/goods/goods") public class GoodsStoreController { /** diff --git a/seller-api/src/main/java/cn/lili/controller/goods/GoodsUnitStoreController.java b/seller-api/src/main/java/cn/lili/controller/goods/GoodsUnitStoreController.java index 52d8b510..4b9907cc 100644 --- a/seller-api/src/main/java/cn/lili/controller/goods/GoodsUnitStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/goods/GoodsUnitStoreController.java @@ -1,17 +1,16 @@ package cn.lili.controller.goods; -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.modules.goods.entity.dos.GoodsUnit; import cn.lili.modules.goods.service.GoodsUnitService; +import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -24,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "店铺端,商品计量单位接口") -@RequestMapping("/store/goods/unit") +@RequestMapping("/store/goods/goodsUnit") public class GoodsUnitStoreController { @Autowired private GoodsUnitService goodsUnitService; diff --git a/seller-api/src/main/java/cn/lili/controller/member/BillStoreController.java b/seller-api/src/main/java/cn/lili/controller/member/BillStoreController.java index b532786b..addf91fc 100644 --- a/seller-api/src/main/java/cn/lili/controller/member/BillStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/member/BillStoreController.java @@ -31,7 +31,7 @@ import java.util.Objects; */ @RestController @Api(tags = "店铺端,结算单接口") -@RequestMapping("/store/bill") +@RequestMapping("/store/order/bill") public class BillStoreController { @Autowired diff --git a/seller-api/src/main/java/cn/lili/controller/member/MemberEvaluationStoreController.java b/seller-api/src/main/java/cn/lili/controller/member/MemberEvaluationStoreController.java index fac94dd4..007a348a 100644 --- a/seller-api/src/main/java/cn/lili/controller/member/MemberEvaluationStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/member/MemberEvaluationStoreController.java @@ -26,7 +26,7 @@ import java.util.Objects; */ @RestController @Api(tags = "店铺端,商品评价管理接口") -@RequestMapping("/store/memberEvaluation") +@RequestMapping("/store/member/evaluation") public class MemberEvaluationStoreController { @Autowired diff --git a/seller-api/src/main/java/cn/lili/controller/member/StoreUserController.java b/seller-api/src/main/java/cn/lili/controller/member/StoreUserController.java index 8a6778f8..3c0c51b5 100644 --- a/seller-api/src/main/java/cn/lili/controller/member/StoreUserController.java +++ b/seller-api/src/main/java/cn/lili/controller/member/StoreUserController.java @@ -24,7 +24,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "店铺端,管理员接口") -@RequestMapping("/store/user") +@RequestMapping("/store/member/user") public class StoreUserController { @Autowired private MemberService memberService; diff --git a/seller-api/src/main/java/cn/lili/controller/message/StoreMessageController.java b/seller-api/src/main/java/cn/lili/controller/message/StoreMessageController.java index c837d150..bac31ad2 100644 --- a/seller-api/src/main/java/cn/lili/controller/message/StoreMessageController.java +++ b/seller-api/src/main/java/cn/lili/controller/message/StoreMessageController.java @@ -29,7 +29,7 @@ import java.util.Objects; */ @RestController @Api(tags = "店铺端,消息接口") -@RequestMapping("/store/message") +@RequestMapping("/store/message/storeMessage") public class StoreMessageController { /** diff --git a/seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java index c50ad0df..a8e99527 100644 --- a/seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.OperationalJudgment; import cn.lili.common.security.context.UserContext; @@ -30,7 +31,7 @@ import java.util.Objects; */ @RestController @Api(tags = "店铺端,售后管理接口") -@RequestMapping("/store/afterSale") +@RequestMapping("/store/order/afterSale") public class AfterSaleStoreController { @Autowired @@ -60,6 +61,7 @@ public class AfterSaleStoreController { return ResultUtil.data(afterSaleService.exportAfterSaleOrder(searchParams)); } + @PreventDuplicateSubmissions @ApiOperation(value = "审核售后申请") @ApiImplicitParams({ @ApiImplicitParam(name = "afterSaleSn", value = "售后sn", required = true, paramType = "path"), @@ -76,6 +78,7 @@ public class AfterSaleStoreController { return ResultUtil.data(afterSaleService.review(afterSaleSn, serviceStatus, remark,actualRefundPrice)); } + @PreventDuplicateSubmissions @ApiOperation(value = "卖家确认收货") @ApiImplicitParams({ @ApiImplicitParam(name = "afterSaleSn", value = "售后sn", required = true, paramType = "path"), diff --git a/seller-api/src/main/java/cn/lili/controller/order/OrderComplaintStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/OrderComplaintStoreController.java index e2879831..3913294f 100644 --- a/seller-api/src/main/java/cn/lili/controller/order/OrderComplaintStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/order/OrderComplaintStoreController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.AuthUser; import cn.lili.common.security.OperationalJudgment; @@ -29,7 +30,7 @@ import java.util.Objects; **/ @RestController @Api(tags = "店铺端,交易投诉接口") -@RequestMapping("/store/complain") +@RequestMapping("/store/order/complain") public class OrderComplaintStoreController { /** @@ -81,6 +82,7 @@ public class OrderComplaintStoreController { return ResultUtil.data(orderComplainVO); } + @PreventDuplicateSubmissions @ApiOperation(value = "申诉") @PutMapping("/appeal") public ResultMessage appeal(StoreAppealVO storeAppealVO) { @@ -88,6 +90,7 @@ public class OrderComplaintStoreController { return ResultUtil.data(orderComplaintService.getOrderComplainById(storeAppealVO.getOrderComplaintId())); } + @PreventDuplicateSubmissions @ApiOperation(value = "修改状态") @PutMapping(value = "/status") public ResultMessage updateStatus(OrderComplaintOperationParams orderComplainVO) { diff --git a/seller-api/src/main/java/cn/lili/controller/order/OrderLogStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/OrderLogStoreController.java index 8f642521..36d9865e 100644 --- a/seller-api/src/main/java/cn/lili/controller/order/OrderLogStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/order/OrderLogStoreController.java @@ -25,7 +25,7 @@ import java.util.List; **/ @RestController @Api(tags = "店铺端,订单日志接口") -@RequestMapping("/store/orderLog") +@RequestMapping("/store/order/orderLog") public class OrderLogStoreController { @Autowired diff --git a/seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java index f0cb92e5..7ce83b76 100644 --- a/seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java @@ -1,5 +1,6 @@ package cn.lili.controller.order; +import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.context.ThreadContextHolder; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; @@ -40,7 +41,7 @@ import java.util.Objects; **/ @Slf4j @RestController -@RequestMapping("/store/orders") +@RequestMapping("/store/order/order") @Api(tags = "店铺端,订单接口") public class OrderStoreController { @@ -86,6 +87,7 @@ public class OrderStoreController { return ResultUtil.data(orderService.updateConsignee(orderSn, memberAddressDTO)); } + @PreventDuplicateSubmissions @ApiOperation(value = "修改订单价格") @ApiImplicitParams({ @ApiImplicitParam(name = "orderSn", value = "订单sn", required = true, dataType = "String", paramType = "path"), @@ -97,6 +99,7 @@ public class OrderStoreController { return ResultUtil.data(orderPriceService.updatePrice(orderSn, orderPrice)); } + @PreventDuplicateSubmissions @ApiOperation(value = "订单发货") @ApiImplicitParams({ @ApiImplicitParam(name = "orderSn", value = "订单sn", required = true, dataType = "String", paramType = "path"), @@ -110,6 +113,7 @@ public class OrderStoreController { return ResultUtil.data(orderService.delivery(orderSn, logisticsNo, logisticsId)); } + @PreventDuplicateSubmissions @ApiOperation(value = "取消订单") @ApiImplicitParams({ @ApiImplicitParam(name = "orderSn", value = "订单编号", required = true, dataType = "String", paramType = "path"), @@ -127,6 +131,7 @@ public class OrderStoreController { return ResultUtil.data(orderService.getOrderByVerificationCode(verificationCode)); } + @PreventDuplicateSubmissions @ApiOperation(value = "订单核验") @ApiImplicitParams({ @ApiImplicitParam(name = "orderSn", value = "订单号", required = true, paramType = "path"), diff --git a/seller-api/src/main/java/cn/lili/controller/order/ReceiptStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/ReceiptStoreController.java index 5203cf5c..25c0e45f 100644 --- a/seller-api/src/main/java/cn/lili/controller/order/ReceiptStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/order/ReceiptStoreController.java @@ -27,7 +27,7 @@ import java.util.Objects; **/ @RestController @Api(tags = "店铺端,发票接口") -@RequestMapping("/store/receipt") +@RequestMapping("/store/trade/receipt") public class ReceiptStoreController { @Autowired diff --git a/seller-api/src/main/java/cn/lili/controller/other/article/ArticleStoreController.java b/seller-api/src/main/java/cn/lili/controller/other/ArticleStoreController.java similarity index 95% rename from seller-api/src/main/java/cn/lili/controller/other/article/ArticleStoreController.java rename to seller-api/src/main/java/cn/lili/controller/other/ArticleStoreController.java index 73bd5b38..47375497 100644 --- a/seller-api/src/main/java/cn/lili/controller/other/article/ArticleStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/other/ArticleStoreController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.other.article; +package cn.lili.controller.other; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; @@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @Api(tags = "店铺端,文章接口") -@RequestMapping("/store/article") +@RequestMapping("/store/other/article") public class ArticleStoreController { /** diff --git a/seller-api/src/main/java/cn/lili/controller/settings/LogisticsStoreController.java b/seller-api/src/main/java/cn/lili/controller/other/LogisticsStoreController.java similarity index 97% rename from seller-api/src/main/java/cn/lili/controller/settings/LogisticsStoreController.java rename to seller-api/src/main/java/cn/lili/controller/other/LogisticsStoreController.java index 1697a95b..50f72a53 100644 --- a/seller-api/src/main/java/cn/lili/controller/settings/LogisticsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/other/LogisticsStoreController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.settings; +package cn.lili.controller.other; import cn.lili.common.enums.ResultUtil; @@ -25,7 +25,7 @@ import java.util.Objects; */ @RestController @Api(tags = "店铺端,物流公司接口") -@RequestMapping("/store/logistics") +@RequestMapping("/store/other/logistics") public class LogisticsStoreController { /** 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 a4cc3a96..e6cc7aa8 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 @@ -28,7 +28,7 @@ import javax.validation.constraints.NotNull; @RestController @Api(tags = "店铺端,商家登录接口 ") -@RequestMapping("/store/login") +@RequestMapping("/store/passport/login") public class StorePassportController { /** 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 405d5bd6..21caae1f 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 @@ -24,7 +24,7 @@ import java.util.Objects; **/ @RestController @Api(tags = "店铺端,运费模板接口") -@RequestMapping("/store/freightTemplate") +@RequestMapping("/store/setting/freightTemplate") public class FreightTemplateStoreController { @Autowired private FreightTemplateService freightTemplateService; diff --git a/seller-api/src/main/java/cn/lili/controller/settings/LogStoreController.java b/seller-api/src/main/java/cn/lili/controller/settings/LogStoreController.java index e716d110..d3b96c59 100644 --- a/seller-api/src/main/java/cn/lili/controller/settings/LogStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/settings/LogStoreController.java @@ -9,7 +9,6 @@ import cn.lili.modules.permission.service.SystemLogService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -26,7 +25,7 @@ import java.util.Objects; */ @RestController @Api(tags = "店铺端,日志管理接口") -@RequestMapping("/store/log") +@RequestMapping("/store/settings/log") public class LogStoreController { @Autowired private SystemLogService systemLogService; 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 98b9c040..072a73e1 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 @@ -26,7 +26,7 @@ import java.util.Objects; */ @RestController @Api(tags = "店铺端,商家地址(自提点)接口") -@RequestMapping("/store/storeAddress") +@RequestMapping("/store/member/storeAddress") public class StoreAddressController { /** diff --git a/seller-api/src/main/java/cn/lili/controller/settings/StorePageDataController.java b/seller-api/src/main/java/cn/lili/controller/settings/StorePageDataController.java index bb269bef..2efc9655 100644 --- a/seller-api/src/main/java/cn/lili/controller/settings/StorePageDataController.java +++ b/seller-api/src/main/java/cn/lili/controller/settings/StorePageDataController.java @@ -31,7 +31,7 @@ import java.util.Objects; */ @RestController @Api(tags = "店铺端,页面接口") -@RequestMapping("/store/pageData") +@RequestMapping("/store/settings/pageData") public class StorePageDataController { @Autowired private PageDataService pageDataService; 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 a8a2a1bb..3287d59d 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 @@ -27,7 +27,7 @@ import javax.validation.Valid; */ @RestController @Api(tags = "店铺端,店铺设置接口") -@RequestMapping("/store/settings") +@RequestMapping("/store/settings/storeSettings") public class StoreSettingsController { /** diff --git a/seller-api/src/main/java/cn/lili/controller/statistics/RefundOrderStatisticsStoreController.java b/seller-api/src/main/java/cn/lili/controller/statistics/RefundOrderStatisticsStoreController.java index 0619e9bd..6b13166e 100644 --- a/seller-api/src/main/java/cn/lili/controller/statistics/RefundOrderStatisticsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/statistics/RefundOrderStatisticsStoreController.java @@ -25,7 +25,7 @@ import java.util.Objects; */ @Api(tags = "店铺端,退款统计接口") @RestController -@RequestMapping("/store/statistics/refund/order") +@RequestMapping("/store/statistics/refundOrder") public class RefundOrderStatisticsStoreController { @Autowired diff --git a/seller-api/src/main/resources/application.yml b/seller-api/src/main/resources/application.yml index a2cc6037..7cdbb89d 100644 --- a/seller-api/src/main/resources/application.yml +++ b/seller-api/src/main/resources/application.yml @@ -119,7 +119,7 @@ ignored: - /MP_verify_qSyvBPhDsPdxvOhC.txt - /weixin/** - /source/** - - /store/login/** + - /store/passport/login/** - /druid/** - /swagger-ui.html - /doc.html