Explorar o código

Merge remote-tracking branch 'origin/master' into V1.0.1

WangChanghua hai 1 ano
pai
achega
b9f06fcd4a

+ 67 - 0
src/main/java/com/chelvc/cloud/maintain/controller/AttentionController.java

@@ -0,0 +1,67 @@
+package com.chelvc.cloud.maintain.controller;
+
+import com.chelvc.cloud.vehicle.api.dto.AttentionTotalDTO;
+import com.chelvc.cloud.vehicle.api.dto.AttentionUserDTO;
+import com.chelvc.cloud.vehicle.api.param.QueryAttentionParam;
+import com.chelvc.cloud.vehicle.api.service.AttentionService;
+import com.chelvc.framework.base.context.SessionContextHolder;
+import com.chelvc.framework.common.model.PagedDTO;
+import com.chelvc.framework.common.model.Pagination;
+import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 用户关注
+ * @PACKAGE_NAME: net.yeeu.collision.user.client.controller
+ * @NAME: AttentionController
+ * @USER: igl
+ * @DATE: 2023/8/14 9:55
+ */
+@Validated
+@RestController
+@RequestMapping("/client/attention")
+@RequiredArgsConstructor(onConstructor = @__(@Autowired))
+public class AttentionController {
+
+  @DubboReference
+  private AttentionService attentionService;
+
+  /**
+   * 关注/取关用户
+   *
+   * @param targetUserId 目标用户标识
+   * @author igl
+   * @date 2023/2/25 19:42
+   * @apiNote 如果已关注,则会取消关注
+   */
+  @PostMapping("/concern")
+  public void concern(@RequestParam("targetUserId") Long targetUserId) {
+    attentionService.concern(SessionContextHolder.getId(), targetUserId);
+  }
+
+  /**
+   * 分页查看关注、粉丝、好友
+   *
+   * @param page
+   * @param param
+   * @author igl
+   * @date 2023/8/14 12:42
+   */
+  @GetMapping("/list")
+  public Pagination<AttentionUserDTO> page(PagedDTO page, @Validated QueryAttentionParam param) {
+    return attentionService.page(page, param, SessionContextHolder.getId());
+  }
+
+  /**
+   * 查看关注、粉丝、好友总数
+   * @author igl
+   * @date 2023/8/15 19:42
+   */
+  @GetMapping("/total")
+  public AttentionTotalDTO queryTotalByUserId(){
+    return attentionService.queryTotalByUserId(SessionContextHolder.getId());
+  }
+}

+ 34 - 0
src/main/java/com/chelvc/cloud/maintain/controller/CarouselImagesController.java

@@ -0,0 +1,34 @@
+package com.chelvc.cloud.maintain.controller;
+import com.chelvc.cloud.vehicle.api.service.CarouselImagesService;
+import com.chelvc.framework.base.annotation.ResponseWrapping;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 轮播图接口
+ *
+ * @author liude
+ * @date 2023/12/20
+ */
+@Validated
+@RestController
+@ResponseWrapping
+public class CarouselImagesController {
+    @DubboReference
+    private CarouselImagesService carouselImagesService;
+
+    /**
+     * 轮播图列表查询
+     *
+     * @param
+     */
+    @GetMapping("/listCarouselImages/")
+    public void listCarouselImages() {
+        this.carouselImagesService.listCarouselImages();
+    }
+
+
+
+}

+ 39 - 0
src/main/java/com/chelvc/cloud/maintain/controller/CommissionConfigController.java

@@ -0,0 +1,39 @@
+package com.chelvc.cloud.maintain.controller;
+
+import com.chelvc.cloud.vehicle.api.param.IncomeRecordModifyParam;
+import com.chelvc.cloud.vehicle.api.service.CommissionConfigService;
+import com.chelvc.cloud.vehicle.api.service.IncomeRecordService;
+import com.chelvc.framework.base.annotation.ResponseWrapping;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * 分佣抽成配置接口
+ *
+ * @author liude
+ * @date 2023/12/20
+ */
+@Validated
+@RestController
+@ResponseWrapping
+public class CommissionConfigController {
+    @DubboReference
+    private CommissionConfigService commissionConfigService;
+
+    /**
+     *
+     *分佣抽成配置列表
+     * @param
+     */
+    @PostMapping("/commissionConfig/list")
+    public void listCommissionConfig() {
+        this.commissionConfigService.listCommissionConfig();
+    }
+
+
+
+}

+ 58 - 0
src/main/java/com/chelvc/cloud/maintain/controller/DynamicCommentController.java

@@ -0,0 +1,58 @@
+package com.chelvc.cloud.maintain.controller;
+
+import com.chelvc.cloud.vehicle.api.dto.DynamicCommentDTO;
+import com.chelvc.cloud.vehicle.api.param.AddDynamicCommentParam;
+import com.chelvc.cloud.vehicle.api.param.QueryDynamicCommentParam;
+import com.chelvc.cloud.vehicle.api.service.DynamicCommentService;
+import com.chelvc.framework.base.context.SessionContextHolder;
+import com.chelvc.framework.common.model.Pagination;
+import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 动态评论
+ *
+ * @author igl
+ * @date 2023-02-25
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/client/comment")
+public class DynamicCommentController {
+
+    @DubboReference
+    private DynamicCommentService iDynamicCommentService;
+
+    /**
+     * 查询列表
+     * @param param 查询参数
+     * @param pageCode
+     * @param pageSize
+     * @author igl
+     * @date 2023/8/9 17:25
+     */
+    @GetMapping("/page")
+    public Pagination<DynamicCommentDTO> list(@Validated QueryDynamicCommentParam param, Integer pageCode, Integer pageSize) {
+        if (pageCode == null) {
+            pageCode = 1;
+        }
+        if (pageSize == null) {
+            pageSize = 20;
+        }
+        return this.iDynamicCommentService.queryPageList(param, pageCode, pageSize);
+    }
+
+    /**
+     * 新增
+     * @param param
+     * @author igl
+     * @date 2023/8/9 17:25
+     */
+    @PostMapping("/add")
+    public void add(@Validated @RequestBody AddDynamicCommentParam param) {
+        this.iDynamicCommentService.insertByBo(param, SessionContextHolder.getId());
+    }
+}

+ 115 - 0
src/main/java/com/chelvc/cloud/maintain/controller/DynamicContentController.java

@@ -0,0 +1,115 @@
+package com.chelvc.cloud.maintain.controller;
+
+import com.chelvc.cloud.vehicle.api.dto.DynamicContentDTO;
+import com.chelvc.cloud.vehicle.api.param.AddDynamicContentParam;
+import com.chelvc.cloud.vehicle.api.param.QueryDynamicContentParam;
+import com.chelvc.cloud.vehicle.api.service.DynamicContentService;
+import com.chelvc.framework.base.context.SessionContextHolder;
+import com.chelvc.framework.common.model.Pagination;
+import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.constraints.NotNull;
+import java.util.Map;
+
+/**
+ * 动态信息
+ *
+ * @author igl
+ * @date 2023-02-25
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/client/content")
+public class DynamicContentController {
+
+    @DubboReference
+    private DynamicContentService iDynamicContentService;
+
+    /**
+     * 查询列表
+     * @param param
+     * @param pageNum 主键
+     * @param pageSize 主键
+     * @author igl
+     * @date 2023/8/9 17:25
+     */
+    @GetMapping("/page")
+    public Pagination<DynamicContentDTO> list(@Validated QueryDynamicContentParam param, Integer pageNum, Integer pageSize) {
+        if (pageNum == null) {
+            pageNum = 1;
+        }
+        if (pageSize == null) {
+            pageSize = 20;
+        }
+        return this.iDynamicContentService.queryPageList(param, pageNum, pageSize, SessionContextHolder.getId());
+    }
+
+    /**
+     * 根据用户id查询动态列表
+     * @param userId 主键
+     * @param pageNum 主键
+     * @param pageSize 主键
+     * @author igl
+     * @date 2023/8/9 17:25
+     */
+    @GetMapping("/query-user")
+    public Pagination<DynamicContentDTO> queryUserById(@NotNull(message = "用户标识不能为空") Long userId, Integer pageNum, Integer pageSize) {
+        if (pageNum == null) {
+            pageNum = 1;
+        }
+        if (pageSize == null) {
+            pageSize = 20;
+        }
+        return this.iDynamicContentService.queryUserById(SessionContextHolder.getId(), userId, pageNum, pageSize);
+    }
+
+    /**
+     * 获取动态详情
+     * @param id 主键
+     * @author igl
+     * @date 2023/8/9 17:25
+     */
+    @GetMapping("/query")
+    public DynamicContentDTO getInfo(@NotNull(message = "主键不能为空") Long id) {
+        return this.iDynamicContentService.queryById(id, SessionContextHolder.getId());
+    }
+
+    /**
+     * 新增
+     * @param param
+     * @author igl
+     * @date 2023/8/9 17:25
+     */
+    @PostMapping("/add")
+    public void add(@Validated @RequestBody AddDynamicContentParam param) {
+        this.iDynamicContentService.insertByBo(param, SessionContextHolder.getId());
+    }
+
+    /**
+     * 删除
+     * @param id 主键
+     * @author igl
+     * @date 2023/8/9 17:25
+     */
+    @DeleteMapping("/del")
+    public void remove(@NotNull(message = "主键不能为空") Long id) {
+        this.iDynamicContentService.deleteByIds(id, SessionContextHolder.getId());
+    }
+
+    /**
+     * 视频审核回调
+     *
+     * @param param
+     * @author igl
+     * @date 2023/9/12 16:55
+     */
+    @PostMapping("/tencent/video/audit/call")
+    //@SkipRespBodyFormatHandler
+    public void videoAuditCallback(@RequestBody Map<String, Object> param) {
+        this.iDynamicContentService.videoAuditCallback(param);
+    }
+}

+ 39 - 0
src/main/java/com/chelvc/cloud/maintain/controller/DynamicEvaluateRecordController.java

@@ -0,0 +1,39 @@
+package com.chelvc.cloud.maintain.controller;
+
+import com.chelvc.cloud.vehicle.api.param.AddDynamicEvaluateRecordParam;
+import com.chelvc.cloud.vehicle.api.service.DynamicEvaluateRecordService;
+import com.chelvc.framework.base.context.SessionContextHolder;
+import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 内容评价(点赞/踩)
+ *
+ * @author igl
+ * @date 2023-08-08
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/client/evaluate-record")
+public class DynamicEvaluateRecordController {
+
+    @DubboReference
+    private final DynamicEvaluateRecordService iDynamicEvaluateRecordService;
+
+    /**
+     * 新增内容评价(点赞/踩)
+     * @param param
+     * @author igl
+     * @date 2023/8/9 17:25
+     */
+    @PostMapping("/add")
+    public void updateRecord(@Validated @RequestBody AddDynamicEvaluateRecordParam param) {
+        iDynamicEvaluateRecordService.updateRecord(param, SessionContextHolder.getId());
+    }
+}

+ 62 - 0
src/main/java/com/chelvc/cloud/maintain/controller/HotMerchantController.java

@@ -0,0 +1,62 @@
+package com.chelvc.cloud.maintain.controller;
+
+import com.chelvc.cloud.vehicle.api.dto.MerchantDTO;
+import com.chelvc.cloud.vehicle.api.param.HotMerchantModifyParam;
+import com.chelvc.cloud.vehicle.api.service.HotMerchantService;
+import com.chelvc.framework.base.annotation.ResponseWrapping;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+import javax.validation.Valid;
+import javax.validation.constraints.Min;
+import java.util.List;
+
+/**
+ * 热门搜索接口
+ *
+ * @author liude
+ * @date 2023/12/20
+ */
+@Validated
+@RestController
+@ResponseWrapping
+public class HotMerchantController {
+    @DubboReference
+    private HotMerchantService hotMerchantService;
+
+    /**
+     * 添加用户点击埋点
+     *
+     * @param
+     */
+    @GetMapping("/hotMerchant/{id}")
+    public void addHotMerchant(@PathVariable("id") @Min(value = 1, message = "商品ID不能小于1") Long id) {
+        this.hotMerchantService.addHotMerchant(id);
+    }
+
+
+    /**
+     * 热门搜索商家
+     *
+     * @param
+     */
+    @PostMapping("/listHotMerchant/")
+    public List<MerchantDTO> listHotMerchant() {
+       return this.hotMerchantService.listHotMerchant();
+    }
+
+    /**
+     * 猜你喜欢的商家
+     *
+     * @param
+     */
+    @PostMapping("/likeMerchant/")
+    public List<MerchantDTO> likeMerchant() {
+       return this.hotMerchantService.likeMerchant();
+    }
+
+
+}

+ 49 - 0
src/main/java/com/chelvc/cloud/maintain/controller/IncomeRecordController.java

@@ -0,0 +1,49 @@
+package com.chelvc.cloud.maintain.controller;
+
+import com.chelvc.cloud.vehicle.api.param.IncomeRecordModifyParam;
+import com.chelvc.cloud.vehicle.api.service.IncomeRecordService;
+import com.chelvc.framework.base.annotation.ResponseWrapping;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * 收益记录接口
+ *
+ * @author liude
+ * @date 2023/12/20
+ */
+@Validated
+@RestController
+@ResponseWrapping
+public class IncomeRecordController {
+    @DubboReference
+    private IncomeRecordService incomeRecordService;
+
+    /**
+     * 添加收益记录
+     *
+     * @param
+     */
+    @PostMapping("/incomeRecord/")
+    public void addIncomeRecord(@Valid IncomeRecordModifyParam param) {
+        this.incomeRecordService.addIncomeRecord(param);
+    }
+
+    /**
+     * 收益记录详细列表
+     */
+    @PostMapping("/incomeRecord/list")
+    public void listIncomeRecord() {
+        this.incomeRecordService.listIncomeRecord();
+    }
+
+
+
+
+
+}

+ 142 - 0
src/main/java/com/chelvc/cloud/maintain/controller/InformController.java

@@ -0,0 +1,142 @@
+package com.chelvc.cloud.maintain.controller;
+
+import com.chelvc.cloud.vehicle.api.dto.*;
+import com.chelvc.cloud.vehicle.api.service.InformService;
+import com.chelvc.framework.base.context.SessionContextHolder;
+import com.chelvc.framework.common.model.Pagination;
+import com.chelvc.framework.common.model.Paging;
+import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * 订单通知接口
+ *
+ * @author igl
+ * @Date 2023/12/13
+ **/
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping
+public class InformController {
+
+    @DubboReference
+    private InformService informService;
+
+
+    /**
+     * 获取用户的订单通知列表
+     *
+     * @param paging 分页信息
+     * @return 用户的订单列表
+     */
+    @GetMapping("/order/inform")
+    public Pagination<OmsOrderOperateHistoryDTO> listUserOrderInform(@Valid Paging paging) {
+        return informService.selectOmsOrderOperateHistoryListByUserId(SessionContextHolder.getId(), paging);
+    }
+
+    /**
+     * 将新订单通知标识更改
+     *
+     */
+    @PutMapping("/order/inform/flag")
+    public void changeUserOrderInformFlag() {
+        informService.changeUserOrderInformFlag(SessionContextHolder.getId());
+    }
+
+    /**
+     * 查看是否有系统新消息
+     *
+     */
+    @GetMapping("/new/inform")
+    public NewInformDTO getNewInform() {
+        return informService.getNewInform(SessionContextHolder.getId());
+    }
+
+    /**
+     * 获取用户的支付通知列表
+     *
+     * @param paging 分页信息
+     * @return 用户的订单列表
+     */
+    @GetMapping("/pay/inform")
+    public Pagination<OmsOrderPayHistoryDTO> listUserPayInform(@Valid Paging paging) {
+        return informService.selectOmsOrderPayHistoryListByUserId(SessionContextHolder.getId(), paging);
+    }
+
+    /**
+     * 将新订单通知标识更改
+     *
+     */
+    @PutMapping("/pay/inform/flag")
+    public void changeUserPayInformFlag() {
+        informService.changeUserPayInformFlag(SessionContextHolder.getId());
+    }
+
+    /**
+     * 获取用户的点赞回复通知列表
+     *
+     * @param paging 分页信息
+     * @return 用户的订单列表
+     */
+    @GetMapping("/evaluate/inform")
+    public Pagination<EvaluateDTO> listEvaluate(@Valid Paging paging) {
+        return informService.selectEvaluateListByUserId(SessionContextHolder.getId(), paging);
+    }
+
+    /**
+     * 将新点赞回复通知标识更改
+     *
+     */
+    @PutMapping("/evaluate/inform/flag")
+    public void changeEvaluateInformFlag() {
+        informService.changeEvaluateInformFlag(SessionContextHolder.getId());
+    }
+
+    /**
+     * 获取用户的评价通知列表
+     *
+     * @param paging 分页信息
+     * @return 用户的订单列表
+     */
+    @GetMapping("/comment/inform")
+    public Pagination<CommentDTO> listCommentInform(@Valid Paging paging) {
+        return informService.selectCommentListByUserId(SessionContextHolder.getId(), paging);
+    }
+
+    /**
+     * 将新评价通知标识更改
+     *
+     */
+    @PutMapping("/comment/inform/flag")
+    public void changeCommentInformFlag() {
+        informService.changeCommentInformFlag(SessionContextHolder.getId());
+    }
+
+    /**
+     * 获取用户的优惠券通知列表
+     *
+     * @param paging 分页信息
+     * @return 用户的订单列表
+     */
+    @GetMapping("/coupon/inform")
+    public Pagination<UserCouponDTO> listUserCouponInform(@Valid Paging paging) {
+        return informService.selectUserCouponListByUserId(SessionContextHolder.getId(), paging);
+    }
+
+    /**
+     * 将新优惠券通知标识更改
+     *
+     */
+    @PutMapping("/coupon/inform/flag")
+    public void changeUserCouponInformFlag() {
+        informService.changeUserCouponInformFlag(SessionContextHolder.getId());
+    }
+}

+ 11 - 0
src/main/java/com/chelvc/cloud/maintain/controller/ReservationController.java

@@ -14,6 +14,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -69,4 +70,14 @@ public class ReservationController {
                     return reservationVO;
                 }).collect(Collectors.toList());
     }
+
+    /**
+     * 取消预约
+     *
+     * @param id    预约主键
+     */
+    @PutMapping("/reservation/{id}")
+    public void deleteReservation(@PathVariable("id") @Min(value = 1, message = "预约主键不能小于1") Long id) {
+        this.reservationService.deleteReservation(id);
+    }
 }

+ 4 - 3
src/main/java/com/chelvc/cloud/maintain/controller/SmsController.java

@@ -1,18 +1,19 @@
 package com.chelvc.cloud.maintain.controller;
 
-import javax.validation.Valid;
-
 import com.chelvc.cloud.uc.api.param.MobileParam;
 import com.chelvc.framework.base.annotation.ResponseWrapping;
 import com.chelvc.framework.sms.CaptchaSmsHandler;
 import com.chelvc.framework.sms.SmsSession;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
+
 /**
  * 短信接口
  *
@@ -22,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
 @Validated
 @RestController
 @ResponseWrapping
-@RequiredArgsConstructor(onConstructor = @__(@Autowired))
+@RequiredArgsConstructor(onConstructor = @__({@Autowired, @Lazy}))
 public class SmsController {
     private final CaptchaSmsHandler captchaSmsHandler;
 

+ 6 - 0
src/main/java/com/chelvc/cloud/maintain/vo/CategoryVO.java

@@ -1,8 +1,10 @@
 package com.chelvc.cloud.maintain.vo;
 
 import java.io.Serializable;
+import java.util.List;
 
 import com.chelvc.cloud.vehicle.api.constant.CategoryType;
+import com.chelvc.cloud.vehicle.api.dto.CategoryDTO;
 import com.chelvc.framework.base.jackson.EnumerationFormatSerializer;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import lombok.AllArgsConstructor;
@@ -41,4 +43,8 @@ public class CategoryVO implements Serializable {
      * 分类名称
      */
     private String name;
+    /**
+     * 子集分类
+     */
+    private List<CategoryDTO> children;
 }

+ 3 - 3
src/main/java/com/chelvc/cloud/maintain/vo/ReservationVO.java

@@ -1,5 +1,8 @@
 package com.chelvc.cloud.maintain.vo;
 
+import java.io.Serializable;
+import java.util.Date;
+
 import com.chelvc.cloud.vehicle.api.constant.ReserveStatus;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -7,9 +10,6 @@ import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
 import org.springframework.format.annotation.DateTimeFormat;
 
-import java.io.Serializable;
-import java.util.Date;
-
 /**
  * 预约记录信息
  *