igl 1 год назад
Родитель
Сommit
9c6e10d4fd

+ 18 - 12
src/main/java/com/chelvc/cloud/admin/controller/MerchantController.java

@@ -1,29 +1,24 @@
 package com.chelvc.cloud.admin.controller;
 
-import javax.validation.Valid;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotEmpty;
-
 import com.chelvc.cloud.vehicle.api.constant.GoodsStatus;
-import com.chelvc.cloud.vehicle.api.dto.CouponDTO;
 import com.chelvc.cloud.vehicle.api.dto.MerchantDTO;
+import com.chelvc.cloud.vehicle.api.dto.MerchantRankDTO;
 import com.chelvc.cloud.vehicle.api.param.MerchantModifyParam;
 import com.chelvc.cloud.vehicle.api.param.MerchantPagingParam;
+import com.chelvc.cloud.vehicle.api.param.MerchantRankParam;
 import com.chelvc.cloud.vehicle.api.service.GoodsService;
 import com.chelvc.cloud.vehicle.api.service.MerchantService;
 import com.chelvc.framework.base.annotation.ResponseWrapping;
-import com.chelvc.framework.base.util.ResourceUtils;
+import com.chelvc.framework.base.context.SessionContextHolder;
 import com.chelvc.framework.common.model.Pagination;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.security.access.prepost.PreAuthorize;
 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;
+import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotEmpty;
 import java.util.List;
 
 /**
@@ -119,4 +114,15 @@ public class MerchantController {
                                String businessStatus) {
         this.merchantService.updateMerchantBusinessStatus(id,businessStatus);
     }
+
+    /**
+     * 根据地区获取商家排名
+     *
+     * @param param 查询参数
+     * @return 商家信息列表
+     */
+    @GetMapping("/merchants/rank")
+    public List<MerchantRankDTO> listRankMerchants(@Valid MerchantRankParam param) {
+        return this.merchantService.listRankMerchants(param, SessionContextHolder.getId());
+    }
 }

+ 1 - 1
src/main/java/com/chelvc/cloud/admin/controller/ProfitRatioConfigController.java

@@ -66,7 +66,7 @@ public class ProfitRatioConfigController {
      * @author igl
      * @date 2024/2/23 17:25
      */
-    @GetMapping("/list")
+    @GetMapping("/profit-ratio/list")
     public Pagination<ProfitRatioConfigDTO> list(QueryProfitRatioConfigParam param, PagedDTO page) {
         return this.profitRatioConfigService.queryPageList(param, page.getPageCode(), page.getPageSize());
     }

+ 77 - 0
src/main/java/com/chelvc/cloud/admin/controller/RankAwardConfigController.java

@@ -0,0 +1,77 @@
+package com.chelvc.cloud.admin.controller;
+
+import com.chelvc.cloud.vehicle.api.dto.ProfitRatioConfigDTO;
+import com.chelvc.cloud.vehicle.api.dto.RankAwardConfigDTO;
+import com.chelvc.cloud.vehicle.api.param.AddRankAwardConfigParams;
+import com.chelvc.cloud.vehicle.api.param.EditRankAwardConfigParams;
+import com.chelvc.cloud.vehicle.api.param.QueryRankAwardConfigParam;
+import com.chelvc.cloud.vehicle.api.service.RankAwardConfigService;
+import com.chelvc.framework.base.annotation.ResponseWrapping;
+import com.chelvc.framework.base.context.SessionContextHolder;
+import com.chelvc.framework.common.model.PagedDTO;
+import com.chelvc.framework.common.model.Pagination;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.ibatis.annotations.Delete;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 排行榜奖励配置
+ */
+
+@Validated
+@RestController
+@ResponseWrapping
+@PreAuthorize("isScope('EMPLOYEE')")
+public class RankAwardConfigController {
+
+    @DubboReference
+    private RankAwardConfigService rankAwardConfigService;
+
+    /**
+     * 新增
+     *
+     * @param param 新增参数
+     */
+    @PostMapping("/rank-award/add")
+    public void add(@RequestBody @Valid AddRankAwardConfigParams param) {
+        param.setUserId(SessionContextHolder.getId());
+        this.rankAwardConfigService.add(param);
+    }
+
+    /**
+     * 修改
+     *
+     * @param param 修改参数
+     */
+    @PutMapping("/rank-award/edit")
+    public void edit(@RequestBody @Valid EditRankAwardConfigParams param) {
+        param.setUserId(SessionContextHolder.getId());
+        this.rankAwardConfigService.edit(param);
+    }
+
+    /**
+     * 删除
+     * @param id
+     */
+    @Delete("/rank-award/del/{id}")
+    public void delete(@NotNull(message = "主键不能为空") @PathVariable Long id) {
+        this.rankAwardConfigService.delete(id, SessionContextHolder.getId());
+    }
+
+    /**
+     * 查询列表
+     * @param param
+     * @param page
+     * @author igl
+     * @date 2024/2/23 17:25
+     */
+    @GetMapping("/rank-award/list")
+    public Pagination<RankAwardConfigDTO> list(QueryRankAwardConfigParam param, PagedDTO page) {
+        return this.rankAwardConfigService.queryPageList(param, page.getPageCode(), page.getPageSize());
+    }
+}

+ 54 - 0
src/main/java/com/chelvc/cloud/admin/controller/RankAwardRecordController.java

@@ -0,0 +1,54 @@
+package com.chelvc.cloud.admin.controller;
+
+import com.chelvc.cloud.vehicle.api.dto.RankAwardRecordDTO;
+import com.chelvc.cloud.vehicle.api.param.HandRankAwardParam;
+import com.chelvc.cloud.vehicle.api.param.QueryRankAwardRecordParam;
+import com.chelvc.cloud.vehicle.api.service.RankAwardRecordService;
+import com.chelvc.framework.base.annotation.ResponseWrapping;
+import com.chelvc.framework.common.model.PagedDTO;
+import com.chelvc.framework.common.model.Pagination;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.security.access.prepost.PreAuthorize;
+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.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * 排行榜派奖记录
+ */
+@Validated
+@RestController
+@ResponseWrapping
+@PreAuthorize("isScope('EMPLOYEE')")
+public class RankAwardRecordController {
+
+    @DubboReference
+    RankAwardRecordService rankAwardRecordService;
+
+    /**
+     * 查询列表
+     * @param param
+     * @param page
+     * @author igl
+     * @date 2024/2/23 17:25
+     */
+    @GetMapping("/rank-award-record/list")
+    public Pagination<RankAwardRecordDTO> list(QueryRankAwardRecordParam param, PagedDTO page) {
+        return this.rankAwardRecordService.queryPageList(param, page.getPageCode(), page.getPageSize());
+    }
+
+    /**
+     * 手动发奖
+     * @param param
+     * @author igl
+     * @date 2024/2/23 17:25
+     */
+    @PostMapping("/hand-out/prizes")
+    public void handOutPrize(@RequestBody @Valid HandRankAwardParam param) {
+        this.rankAwardRecordService.handOutPrize(param);
+    }
+}