Bläddra i källkod

Merge branch 'dev/2024/0517/update-app-Y' of Harper/feifan-backend-zx-app into master

给移动端没有登录也可以访问的接口加上判断
修改初始化配置,以防redis的删除将数据删掉
Yangzw 10 månader sedan
förälder
incheckning
2f38e27b29
14 ändrade filer med 97 tillägg och 42 borttagningar
  1. 2 18
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/duser/AppDuserController.java
  2. 6 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharelink/AppShareLinkController.java
  3. 8 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/SharePathController.java
  4. 6 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/usercollectbefore/UserCollectBeforeController.java
  5. 6 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/usersigninlog/UserSignInLogController.java
  6. 1 0
      feifan-module-mall/feifan-module-promotion-biz/src/main/java/cn/newfeifan/mall/module/promotion/controller/app/coupon/AppCouponController.java
  7. 6 2
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/aftersale/AppAfterSaleController.java
  8. 2 0
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/aftersale/AppAfterSaleLogController.java
  9. 9 0
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/order/AppTradeOrderController.java
  10. 1 0
      feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/controller/app/social/AppSocialUserController.java
  11. 3 1
      feifan-module-system/feifan-module-system-api/src/main/java/cn/newfeifan/mall/module/system/enums/ErrorCodeConstants.java
  12. 2 2
      feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/config/StartConfig.java
  13. 23 10
      feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/service/config/SystemConfigServiceImpl.java
  14. 22 9
      feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/service/wechatmsgtemplate/WechatMsgTemplateServiceImpl.java

+ 2 - 18
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/duser/AppDuserController.java

@@ -1,36 +1,19 @@
 package cn.newfeifan.mall.module.distri.controller.app.duser;
 
-import cn.newfeifan.mall.framework.security.core.LoginUser;
+import cn.newfeifan.mall.framework.security.core.annotations.PreAuthenticated;
 import cn.newfeifan.mall.module.distri.controller.admin.duser.vo.DuserInfoVO;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
 
 import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.Operation;
 
-import javax.validation.constraints.*;
-import javax.validation.*;
-import javax.servlet.http.*;
-import java.util.*;
-import java.io.IOException;
-
-import cn.newfeifan.mall.framework.common.pojo.PageParam;
-import cn.newfeifan.mall.framework.common.pojo.PageResult;
 import cn.newfeifan.mall.framework.common.pojo.CommonResult;
-import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
 import static cn.newfeifan.mall.framework.common.pojo.CommonResult.success;
 
-import cn.newfeifan.mall.framework.excel.core.util.ExcelUtils;
-
-import cn.newfeifan.mall.framework.operatelog.core.annotations.OperateLog;
-import static cn.newfeifan.mall.framework.operatelog.core.enums.OperateTypeEnum.*;
 import static cn.newfeifan.mall.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 
-import cn.newfeifan.mall.module.distri.controller.app.duser.vo.*;
-import cn.newfeifan.mall.module.distri.dal.dataobject.duser.DuserDO;
 import cn.newfeifan.mall.module.distri.service.duser.DuserService;
 
 @Tag(name = "用户 APP - 推荐用户")
@@ -44,6 +27,7 @@ public class AppDuserController {
 
     @GetMapping("/getDuserInfo")
     @Operation(summary = "获取分销人员信息")
+    @PreAuthenticated
     public CommonResult<DuserInfoVO> getDuserInfo() {
 
         DuserInfoVO duserInfo = duserService.getDuserInfo(getLoginUserId());

+ 6 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharelink/AppShareLinkController.java

@@ -1,5 +1,6 @@
 package cn.newfeifan.mall.module.distri.controller.app.sharelink;
 
+import cn.newfeifan.mall.framework.security.core.annotations.PreAuthenticated;
 import cn.newfeifan.mall.module.distri.controller.app.sharelink.vo.*;
 import org.springframework.web.bind.annotation.*;
 
@@ -42,12 +43,14 @@ public class AppShareLinkController {
 
     @PostMapping("/create")
     @Operation(summary = "创建分享链接")
+    @PreAuthenticated
     public CommonResult<Long> createShareLink(@Valid @RequestBody AppShareLinkSaveReqVO createReqVO) {
         return success(shareLinkService.createShareLink(createReqVO));
     }
 
     @PutMapping("/update")
     @Operation(summary = "更新分享链接")
+    @PreAuthenticated
     public CommonResult<Boolean> updateShareLink(@Valid @RequestBody AppShareLinkSaveReqVO updateReqVO) {
         shareLinkService.updateShareLink(updateReqVO);
         return success(true);
@@ -56,6 +59,7 @@ public class AppShareLinkController {
     @DeleteMapping("/delete")
     @Operation(summary = "删除分享链接")
     @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthenticated
     public CommonResult<Boolean> deleteShareLink(@RequestParam("id") Long id) {
         shareLinkService.deleteShareLink(id);
         return success(true);
@@ -63,6 +67,7 @@ public class AppShareLinkController {
 
     @GetMapping("/getShareLink")
     @Operation(summary = "获得分享链接")
+    @PreAuthenticated
     public CommonResult<AppShareLinkResultVO> getShareLink(AppShareLinkReqVO appShareLinkReqVO) {
         String id = shareLinkService.getShareLink(appShareLinkReqVO);
         return success(AppShareLinkResultVO.builder()
@@ -72,6 +77,7 @@ public class AppShareLinkController {
 
     @GetMapping("/page")
     @Operation(summary = "获得分享链接分页")
+    @PreAuthenticated
     public CommonResult<PageResult<AppShareLinkRespVO>> getShareLinkPage(@Valid AppShareLinkPageReqVO pageReqVO) {
         PageResult<ShareLinkDO> pageResult = shareLinkService.getShareLinkPage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, AppShareLinkRespVO.class));

+ 8 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/SharePathController.java

@@ -1,5 +1,6 @@
 package cn.newfeifan.mall.module.distri.controller.app.sharepath;
 
+import cn.newfeifan.mall.framework.security.core.annotations.PreAuthenticated;
 import cn.newfeifan.mall.module.distri.controller.app.sharepath.vo.*;
 import org.springframework.web.bind.annotation.*;
 
@@ -42,6 +43,7 @@ public class SharePathController {
 
     @PostMapping("/create")
     @Operation(summary = "创建分销用户关系")
+    @PreAuthenticated
     public CommonResult<Boolean> createSharePath(@Valid @RequestBody SharePathSaveReqVO createReqVO) {
         sharePathService.createSharePathByUserId(createReqVO);
         return success(true);
@@ -49,6 +51,7 @@ public class SharePathController {
 
     @GetMapping("/getTree")
     @Operation(summary = "获取分销人员关系树")
+    @PreAuthenticated
     public CommonResult<SharePathRespVO> getTree() {
         TreeNode sharePath = sharePathService.getTree();
         return success(BeanUtils.toBean(sharePath, SharePathRespVO.class));
@@ -56,6 +59,7 @@ public class SharePathController {
 
     @PutMapping("/transference_rela")
     @Operation(summary = "转让分销关系")
+    @PreAuthenticated
     public CommonResult<Boolean> transferenceRela(SharePathtransFerenceRelaReqVO sharePathtransFerenceRelaReqVO) {
         sharePathService.transferenceRela(sharePathtransFerenceRelaReqVO);
         return success(true);
@@ -64,6 +68,7 @@ public class SharePathController {
 
     @PutMapping("/update")
     @Operation(summary = "更新分销用户关系")
+    @PreAuthenticated
     public CommonResult<Boolean> updateSharePath(@Valid @RequestBody SharePathSaveReqVO updateReqVO) {
         sharePathService.updateSharePath(updateReqVO);
         return success(true);
@@ -71,6 +76,7 @@ public class SharePathController {
 
     @DeleteMapping("/delete")
     @Operation(summary = "删除分销用户关系")
+    @PreAuthenticated
     @Parameter(name = "id", description = "编号", required = true)
     public CommonResult<Boolean> deleteSharePath(@RequestParam("id") Long id) {
         sharePathService.deleteSharePath(id);
@@ -79,6 +85,7 @@ public class SharePathController {
 
     @GetMapping("/get")
     @Operation(summary = "获得分销用户关系")
+    @PreAuthenticated
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
     public CommonResult<SharePathRespVO> getSharePath(@RequestParam("id") Long id) {
         SharePathDO sharePath = sharePathService.getSharePath(id);
@@ -106,6 +113,7 @@ public class SharePathController {
 
     @GetMapping("/getTeam")
     @Operation(summary = "获取团队")
+    @PreAuthenticated
     public CommonResult<AppSharePathRespVO> getTeam(@Valid PageParam pageParam){
         return success(sharePathService.getTeam(pageParam));
     }

+ 6 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/usercollectbefore/UserCollectBeforeController.java

@@ -1,5 +1,6 @@
 package cn.newfeifan.mall.module.distri.controller.app.usercollectbefore;
 
+import cn.newfeifan.mall.framework.security.core.annotations.PreAuthenticated;
 import cn.newfeifan.mall.module.distri.controller.app.usercollectbefore.vo.UserCollectBeforePageReqVO;
 import cn.newfeifan.mall.module.distri.controller.app.usercollectbefore.vo.UserCollectBeforeRespVO;
 import cn.newfeifan.mall.module.distri.controller.app.usercollectbefore.vo.UserCollectBeforeSaveReqVO;
@@ -40,12 +41,14 @@ public class UserCollectBeforeController {
 
     @PostMapping("/create")
     @Operation(summary = "创建用户曾经收藏过什么商品的")
+    @PreAuthenticated
     public CommonResult<Long> createUserCollectBefore(@Valid @RequestBody UserCollectBeforeSaveReqVO createReqVO) {
         return success(userCollectBeforeService.createUserCollectBefore(createReqVO));
     }
 
     @PutMapping("/update")
     @Operation(summary = "更新用户曾经收藏过什么商品的")
+    @PreAuthenticated
     public CommonResult<Boolean> updateUserCollectBefore(@Valid @RequestBody UserCollectBeforeSaveReqVO updateReqVO) {
         userCollectBeforeService.updateUserCollectBefore(updateReqVO);
         return success(true);
@@ -54,6 +57,7 @@ public class UserCollectBeforeController {
     @DeleteMapping("/delete")
     @Operation(summary = "删除用户曾经收藏过什么商品的")
     @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthenticated
     public CommonResult<Boolean> deleteUserCollectBefore(@RequestParam("id") Long id) {
         userCollectBeforeService.deleteUserCollectBefore(id);
         return success(true);
@@ -61,6 +65,7 @@ public class UserCollectBeforeController {
 
     @GetMapping("/get")
     @Operation(summary = "获得用户曾经收藏过什么商品的")
+    @PreAuthenticated
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
     public CommonResult<UserCollectBeforeRespVO> getUserCollectBefore(@RequestParam("id") Long id) {
         UserCollectBeforeDO userCollectBefore = userCollectBeforeService.getUserCollectBefore(id);
@@ -69,6 +74,7 @@ public class UserCollectBeforeController {
 
     @GetMapping("/page")
     @Operation(summary = "获得用户曾经收藏过什么商品的分页")
+    @PreAuthenticated
     public CommonResult<PageResult<UserCollectBeforeRespVO>> getUserCollectBeforePage(@Valid UserCollectBeforePageReqVO pageReqVO) {
         PageResult<UserCollectBeforeDO> pageResult = userCollectBeforeService.getUserCollectBeforePage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, UserCollectBeforeRespVO.class));

+ 6 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/usersigninlog/UserSignInLogController.java

@@ -1,5 +1,6 @@
 package cn.newfeifan.mall.module.distri.controller.app.usersigninlog;
 
+import cn.newfeifan.mall.framework.security.core.annotations.PreAuthenticated;
 import cn.newfeifan.mall.module.distri.controller.app.usersigninlog.vo.UserSignInLogPageReqVO;
 import cn.newfeifan.mall.module.distri.controller.app.usersigninlog.vo.UserSignInLogRespVO;
 import cn.newfeifan.mall.module.distri.controller.app.usersigninlog.vo.UserSignInLogSaveReqVO;
@@ -41,12 +42,14 @@ public class UserSignInLogController {
 
     @PostMapping("/create")
     @Operation(summary = "创建用户签到日志")
+    @PreAuthenticated
     public CommonResult<AppMemberSignInRecordRespVO> createUserSignInLog() {
         return success(userSignInLogService.createUserSignInLog());
     }
 
     @PutMapping("/update")
     @Operation(summary = "更新用户签到日志")
+    @PreAuthenticated
     public CommonResult<Boolean> updateUserSignInLog(@Valid @RequestBody UserSignInLogSaveReqVO updateReqVO) {
         userSignInLogService.updateUserSignInLog(updateReqVO);
         return success(true);
@@ -55,6 +58,7 @@ public class UserSignInLogController {
     @DeleteMapping("/delete")
     @Operation(summary = "删除用户签到日志")
     @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthenticated
     public CommonResult<Boolean> deleteUserSignInLog(@RequestParam("id") Long id) {
         userSignInLogService.deleteUserSignInLog(id);
         return success(true);
@@ -63,6 +67,7 @@ public class UserSignInLogController {
     @GetMapping("/get")
     @Operation(summary = "获得用户签到日志")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthenticated
     public CommonResult<UserSignInLogRespVO> getUserSignInLog(@RequestParam("id") Long id) {
         UserSignInLogDO userSignInLog = userSignInLogService.getUserSignInLog(id);
         return success(BeanUtils.toBean(userSignInLog, UserSignInLogRespVO.class));
@@ -70,6 +75,7 @@ public class UserSignInLogController {
 
     @GetMapping("/page")
     @Operation(summary = "获得用户签到日志分页")
+    @PreAuthenticated
     public CommonResult<PageResult<UserSignInLogRespVO>> getUserSignInLogPage(@Valid UserSignInLogPageReqVO pageReqVO) {
         PageResult<UserSignInLogDO> pageResult = userSignInLogService.getUserSignInLogPage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, UserSignInLogRespVO.class));

+ 1 - 0
feifan-module-mall/feifan-module-promotion-biz/src/main/java/cn/newfeifan/mall/module/promotion/controller/app/coupon/AppCouponController.java

@@ -58,6 +58,7 @@ public class AppCouponController {
 
     @GetMapping("/match-list")
     @Operation(summary = "获得匹配指定商品的优惠劵列表", description = "用于下单页,展示优惠劵列表")
+    @PreAuthenticated
     public CommonResult<List<AppCouponMatchRespVO>> getMatchCouponList(AppCouponMatchReqVO matchReqVO) {
         // todo: 优化:优惠金额倒序
         List<CouponDO> list = couponService.getMatchCouponList(getLoginUserId(), matchReqVO);

+ 6 - 2
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/aftersale/AppAfterSaleController.java

@@ -3,7 +3,7 @@ package cn.newfeifan.mall.module.trade.controller.app.aftersale;
 import cn.newfeifan.mall.framework.common.pojo.CommonResult;
 import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
-import cn.newfeifan.mall.module.trade.controller.admin.aftersale.vo.log.AfterSaleLogRespVO;
+import cn.newfeifan.mall.framework.security.core.annotations.PreAuthenticated;
 import cn.newfeifan.mall.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO;
 import cn.newfeifan.mall.module.trade.controller.app.aftersale.vo.AppAfterSaleDeliveryReqVO;
 import cn.newfeifan.mall.module.trade.controller.app.aftersale.vo.AppAfterSaleRespVO;
@@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 
-import java.util.List;
 
 import static cn.newfeifan.mall.framework.common.pojo.CommonResult.success;
 import static cn.newfeifan.mall.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
@@ -35,6 +34,7 @@ public class AppAfterSaleController {
 
     @GetMapping(value = "/page")
     @Operation(summary = "获得售后分页")
+    @PreAuthenticated
     public CommonResult<PageResult<AppAfterSaleRespVO>> getAfterSalePage(PageParam pageParam) {
         return success(AfterSaleConvert.INSTANCE.convertPage02(
                 afterSaleService.getAfterSalePage(getLoginUserId(), pageParam)));
@@ -43,18 +43,21 @@ public class AppAfterSaleController {
     @GetMapping(value = "/get")
     @Operation(summary = "获得售后订单")
     @Parameter(name = "id", description = "售后编号", required = true, example = "1")
+    @PreAuthenticated
     public CommonResult<AppAfterSaleRespVO> getAfterSale(@RequestParam("id") Long id) {
         return success(AfterSaleConvert.INSTANCE.convert(afterSaleService.getAfterSale(getLoginUserId(), id)));
     }
 
     @PostMapping(value = "/create")
     @Operation(summary = "申请售后")
+    @PreAuthenticated
     public CommonResult<Long> createAfterSale(@RequestBody AppAfterSaleCreateReqVO createReqVO) {
         return success(afterSaleService.createAfterSale(getLoginUserId(), createReqVO));
     }
 
     @PutMapping(value = "/delivery")
     @Operation(summary = "退回货物")
+    @PreAuthenticated
     public CommonResult<Boolean> deliveryAfterSale(@RequestBody AppAfterSaleDeliveryReqVO deliveryReqVO) {
         afterSaleService.deliveryAfterSale(getLoginUserId(), deliveryReqVO);
         return success(true);
@@ -62,6 +65,7 @@ public class AppAfterSaleController {
 
     @DeleteMapping(value = "/cancel")
     @Operation(summary = "取消售后")
+    @PreAuthenticated
     @Parameter(name = "id", description = "售后编号", required = true, example = "1")
     public CommonResult<Boolean> cancelAfterSale(@RequestParam("id") Long id) {
         afterSaleService.cancelAfterSale(getLoginUserId(), id);

+ 2 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/aftersale/AppAfterSaleLogController.java

@@ -2,6 +2,7 @@ package cn.newfeifan.mall.module.trade.controller.app.aftersale;
 
 import cn.newfeifan.mall.framework.common.pojo.CommonResult;
 import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
+import cn.newfeifan.mall.framework.security.core.annotations.PreAuthenticated;
 import cn.newfeifan.mall.module.trade.controller.app.aftersale.vo.log.AppAfterSaleLogRespVO;
 import cn.newfeifan.mall.module.trade.dal.dataobject.aftersale.AfterSaleLogDO;
 import cn.newfeifan.mall.module.trade.service.aftersale.AfterSaleLogService;
@@ -32,6 +33,7 @@ public class AppAfterSaleLogController {
 
     @GetMapping("/list")
     @Operation(summary = "获得售后日志列表")
+    @PreAuthenticated
     @Parameter(name = "afterSaleId", description = "售后编号", required = true, example = "1")
     public CommonResult<List<AppAfterSaleLogRespVO>> getAfterSaleLogList(
             @RequestParam("afterSaleId") Long afterSaleId) {

+ 9 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/order/AppTradeOrderController.java

@@ -102,6 +102,7 @@ public class AppTradeOrderController {
     @GetMapping("/get-detail")
     @Operation(summary = "获得交易订单")
     @Parameter(name = "id", description = "交易订单编号")
+    @PreAuthenticated
     public CommonResult<AppTradeOrderDetailRespVO> getOrder(@RequestParam("id") Long id) {
         // 查询订单
         TradeOrderDO order = tradeOrderQueryService.getOrder(getLoginUserId(), id);
@@ -127,6 +128,7 @@ public class AppTradeOrderController {
     @GetMapping("/get-express-track-list")
     @Operation(summary = "获得交易订单的物流轨迹")
     @Parameter(name = "id", description = "交易订单编号")
+    @PreAuthenticated
     public CommonResult<List<AppOrderExpressTrackRespDTO>> getOrderExpressTrackList(@RequestParam("id") Long id) {
         List<AppOrderExpressTrackRespDTO> data = TradeOrderConvert.INSTANCE.convertList02(
                 tradeOrderQueryService.getExpressTrackList(id, getLoginUserId()));
@@ -135,6 +137,7 @@ public class AppTradeOrderController {
 
     @GetMapping("/page")
     @Operation(summary = "获得交易订单分页")
+    @PreAuthenticated
     public CommonResult<PageResult<AppTradeOrderPageItemRespVO>> getOrderPage(AppTradeOrderPageReqVO reqVO) {
         // 查询订单
         PageResult<TradeOrderDO> pageResult = tradeOrderQueryService.getOrderPage(getLoginUserId(), reqVO);
@@ -147,6 +150,7 @@ public class AppTradeOrderController {
 
     @GetMapping("/get-count")
     @Operation(summary = "获得交易订单数量")
+    @PreAuthenticated
     public CommonResult<Map<String, Long>> getOrderCount() {
         Map<String, Long> orderCount = Maps.newLinkedHashMapWithExpectedSize(5);
         // 全部
@@ -171,6 +175,7 @@ public class AppTradeOrderController {
     @PutMapping("/receive")
     @Operation(summary = "确认交易订单收货")
     @Parameter(name = "id", description = "交易订单编号")
+    @PreAuthenticated
     public CommonResult<Boolean> receiveOrder(@RequestParam("id") Long id) {
         tradeOrderUpdateService.receiveOrderByMember(getLoginUserId(), id);
         return success(true);
@@ -179,6 +184,7 @@ public class AppTradeOrderController {
     @DeleteMapping("/cancel")
     @Operation(summary = "取消交易订单")
     @Parameter(name = "id", description = "交易订单编号")
+    @PreAuthenticated
     public CommonResult<Boolean> cancelOrder(@RequestParam("id") Long id) {
         tradeOrderUpdateService.cancelOrderByMember(getLoginUserId(), id);
         return success(true);
@@ -187,6 +193,7 @@ public class AppTradeOrderController {
     @DeleteMapping("/delete")
     @Operation(summary = "删除交易订单")
     @Parameter(name = "id", description = "交易订单编号")
+    @PreAuthenticated
     public CommonResult<Boolean> deleteOrder(@RequestParam("id") Long id) {
         tradeOrderUpdateService.deleteOrder(getLoginUserId(), id);
         return success(true);
@@ -197,6 +204,7 @@ public class AppTradeOrderController {
     @GetMapping("/item/get")
     @Operation(summary = "获得交易订单项")
     @Parameter(name = "id", description = "交易订单项编号")
+    @PreAuthenticated
     public CommonResult<AppTradeOrderItemRespVO> getOrderItem(@RequestParam("id") Long id) {
         TradeOrderItemDO item = tradeOrderQueryService.getOrderItem(getLoginUserId(), id);
         return success(TradeOrderConvert.INSTANCE.convert03(item));
@@ -204,6 +212,7 @@ public class AppTradeOrderController {
 
     @PostMapping("/item/create-comment")
     @Operation(summary = "创建交易订单项的评价")
+    @PreAuthenticated
     public CommonResult<Long> createOrderItemComment(@RequestBody AppTradeOrderItemCommentCreateReqVO createReqVO) {
         return success(tradeOrderUpdateService.createOrderItemCommentByMember(getLoginUserId(), createReqVO));
     }

+ 1 - 0
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/controller/app/social/AppSocialUserController.java

@@ -34,6 +34,7 @@ public class AppSocialUserController {
 
     @PostMapping("/bind")
     @Operation(summary = "社交绑定,使用 code 授权码")
+    @PreAuthenticated
     public CommonResult<String> socialBind(@RequestBody @Valid AppSocialUserBindReqVO reqVO) {
         SocialUserBindReqDTO reqDTO = new SocialUserBindReqDTO(getLoginUserId(), UserTypeEnum.MEMBER.getValue(),
                 reqVO.getType(), reqVO.getCode(), reqVO.getState());

+ 3 - 1
feifan-module-system/feifan-module-system-api/src/main/java/cn/newfeifan/mall/module/system/enums/ErrorCodeConstants.java

@@ -174,6 +174,8 @@ public interface ErrorCodeConstants {
     ErrorCode NOTIFY_SEND_TEMPLATE_PARAM_MISS = new ErrorCode(1_002_028_000, "模板参数({})缺失");
 
     ErrorCode WECHAT_MSG_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_028_001, "微信消息模板不存在");
-    ErrorCode CONFIG_NOT_EXISTS = new ErrorCode(1_002_028_002, "系统配置不存在");
+    ErrorCode WECHAT_MSG_TEMPLATE_REDIS_NOT_EXISTS = new ErrorCode(1_002_028_002, "我想消息模板缓存异常");
+    ErrorCode CONFIG_NOT_EXISTS = new ErrorCode(1_002_028_003, "系统配置不存在");
+    ErrorCode CONFIG_REDIS_NOT_EXISTS = new ErrorCode(1_002_028_004, "系统配置不存在");
 
 }

+ 2 - 2
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/config/StartConfig.java

@@ -43,7 +43,7 @@ public class StartConfig {
     /**
      * 初始化微信模板配置
      */
-    private void initWechatMsgTemplate() {
+    public void initWechatMsgTemplate() {
         List<WechatMsgTemplateDO> wechatMsgTemplateDOS = wechatMsgTemplateService.selectList();
         wechatMsgTemplateDOS.forEach(wechatMsgTemplateDO -> stringRedisTemplate.opsForValue().set(SYSTEM_WX_MESSAGE_TEMPLATE + wechatMsgTemplateDO.getId(), JsonUtils.toJsonString(wechatMsgTemplateDO)));
 
@@ -53,7 +53,7 @@ public class StartConfig {
     /**
      * 初始化系统配置
      */
-    private void initSystemConfig(){
+    public void initSystemConfig(){
         SystemConfigDO config = configService.getConfig();
         stringRedisTemplate.opsForValue().set(SYSTEM_CONFIG, JsonUtils.toJsonString(config));
 

+ 23 - 10
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/service/config/SystemConfigServiceImpl.java

@@ -2,6 +2,7 @@ package cn.newfeifan.mall.module.system.service.config;
 
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
 import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
+import cn.newfeifan.mall.module.system.config.StartConfig;
 import cn.newfeifan.mall.module.system.controller.admin.config.bo.SystemConfigBO;
 import cn.newfeifan.mall.module.system.controller.admin.config.vo.ConfigPageReqVO;
 import cn.newfeifan.mall.module.system.controller.admin.config.vo.ConfigSaveReqVO;
@@ -15,8 +16,9 @@ import org.springframework.validation.annotation.Validated;
 import javax.annotation.Resource;
 
 import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.newfeifan.mall.module.infra.enums.ErrorCodeConstants.CONFIG_NOT_EXISTS;
 import static cn.newfeifan.mall.module.system.constant.SystemConstants.SYSTEM_CONFIG;
+import static cn.newfeifan.mall.module.system.enums.ErrorCodeConstants.CONFIG_NOT_EXISTS;
+import static cn.newfeifan.mall.module.system.enums.ErrorCodeConstants.CONFIG_REDIS_NOT_EXISTS;
 
 /**
  * 系统配置 Service 实现类
@@ -31,6 +33,8 @@ public class SystemConfigServiceImpl implements SystemConfigService {
     private SystemConfigMapper systemConfigMapper;
     @Resource
     private StringRedisTemplate stringRedisTemplate;
+    @Resource
+    private StartConfig startConfig;
 
     @Override
     public Long createConfig(ConfigSaveReqVO createReqVO) {
@@ -77,16 +81,25 @@ public class SystemConfigServiceImpl implements SystemConfigService {
     @Override
     public SystemConfigDO getRedisConfig() {
         String s = stringRedisTemplate.opsForValue().get(SYSTEM_CONFIG);
-        if (s != null) {
-            SystemConfigBO systemConfigBO = JSONObject.parseObject(s, SystemConfigBO.class);
-            return SystemConfigDO.builder()
-                    .id(systemConfigBO.getId())
-                    .mallDomain(systemConfigBO.getMallDomain())
-                    .merchantDomain(systemConfigBO.getMerchantDomain())
-                    .platformDomain(systemConfigBO.getPlatformDomain())
-                    .build();
+
+        // 第一次判断是因为redis配置了自动删除
+        if (s == null) {
+            startConfig.initSystemConfig();
+            s = stringRedisTemplate.opsForValue().get(SYSTEM_CONFIG);
         }
-        return getConfig();
+
+        // 第二次判断如果还是为空,那就缓存到redis的程序写错了
+        if(s == null){
+            throw exception(CONFIG_REDIS_NOT_EXISTS);
+        }
+
+        SystemConfigBO systemConfigBO = JSONObject.parseObject(s, SystemConfigBO.class);
+        return SystemConfigDO.builder()
+                .id(systemConfigBO.getId())
+                .mallDomain(systemConfigBO.getMallDomain())
+                .merchantDomain(systemConfigBO.getMerchantDomain())
+                .platformDomain(systemConfigBO.getPlatformDomain())
+                .build();
     }
 
     @Override

+ 22 - 9
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/service/wechatmsgtemplate/WechatMsgTemplateServiceImpl.java

@@ -2,6 +2,7 @@ package cn.newfeifan.mall.module.system.service.wechatmsgtemplate;
 
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
 import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
+import cn.newfeifan.mall.module.system.config.StartConfig;
 import cn.newfeifan.mall.module.system.controller.admin.wechatmsgtemplate.bo.WechatMsgTemplateBO;
 import cn.newfeifan.mall.module.system.controller.admin.wechatmsgtemplate.vo.WechatMsgTemplatePageReqVO;
 import cn.newfeifan.mall.module.system.controller.admin.wechatmsgtemplate.vo.WechatMsgTemplateSaveReqVO;
@@ -18,6 +19,7 @@ import java.util.List;
 import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.newfeifan.mall.module.system.constant.SystemConstants.SYSTEM_WX_MESSAGE_TEMPLATE;
 import static cn.newfeifan.mall.module.system.enums.ErrorCodeConstants.WECHAT_MSG_TEMPLATE_NOT_EXISTS;
+import static cn.newfeifan.mall.module.system.enums.ErrorCodeConstants.WECHAT_MSG_TEMPLATE_REDIS_NOT_EXISTS;
 
 /**
  * 微信消息模板 Service 实现类
@@ -34,6 +36,9 @@ public class WechatMsgTemplateServiceImpl implements WechatMsgTemplateService {
     @Resource
     private StringRedisTemplate stringRedisTemplate;
 
+    @Resource
+    private StartConfig startConfig;
+
     @Override
     public Long createWechatMsgTemplate(WechatMsgTemplateSaveReqVO createReqVO) {
         // 插入
@@ -79,17 +84,25 @@ public class WechatMsgTemplateServiceImpl implements WechatMsgTemplateService {
     @Override
     public WechatMsgTemplateDO getWechatSsgTemplate(Long wechatMsgId) {
         String s = stringRedisTemplate.opsForValue().get(SYSTEM_WX_MESSAGE_TEMPLATE + wechatMsgId);
-        if(s != null){
-            WechatMsgTemplateBO wechatMsgTemplateBO = JSONObject.parseObject(s, WechatMsgTemplateBO.class);
-            return WechatMsgTemplateDO.builder()
-                    .wechatMsgTemplateId(wechatMsgTemplateBO.getWechatMsgTemplateId())
-                    .messageTemplateParameters(wechatMsgTemplateBO.getMessageTemplateParameters())
-                    .remark(wechatMsgTemplateBO.getRemark())
-                    .id(wechatMsgTemplateBO.getId())
-                    .build();
+
+        // 第一次判断是因为redis配置了自动删除
+        if (s == null) {
+            startConfig.initWechatMsgTemplate();
+            s = stringRedisTemplate.opsForValue().get(SYSTEM_WX_MESSAGE_TEMPLATE + wechatMsgId);
+        }
+
+        // 第二次判断如果还是为空,那就缓存到redis的程序写错了
+        if(s == null){
+            throw exception(WECHAT_MSG_TEMPLATE_REDIS_NOT_EXISTS);
         }
 
-        return wechatMsgTemplateMapper.selectById(wechatMsgId);
+        WechatMsgTemplateBO wechatMsgTemplateBO = JSONObject.parseObject(s, WechatMsgTemplateBO.class);
+        return WechatMsgTemplateDO.builder()
+                .wechatMsgTemplateId(wechatMsgTemplateBO.getWechatMsgTemplateId())
+                .messageTemplateParameters(wechatMsgTemplateBO.getMessageTemplateParameters())
+                .remark(wechatMsgTemplateBO.getRemark())
+                .id(wechatMsgTemplateBO.getId())
+                .build();
     }
 
     @Override