mitao
2025-05-20 179c4d64313c9b7572778da4aaaf6c6584fe457d
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComBatteryCommodityActivityApi.java
New file
@@ -0,0 +1,177 @@
package com.panzhihua.applets.api;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.common.*;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.common.ComBatteryCommodityActivityVo;
import com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderBargainVo;
import com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamVo;
import com.panzhihua.common.service.community.ComBatteryCommodityActivityFeign;
import com.panzhihua.common.service.community.ComBatteryCommodityOrderCollageTeamFeign;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Date;
/**
 * title: 电动车商城-商家活动表(ComBatteryCommodityActivity)  表控制层
 * <p>
 * projectName 成都呐喊信息技术有限公司-智慧社区项目
 * <p>
 * description: 电动车商城-商家活动表
 *
 * @author lyq
 * @date 2022-03-29 13:17:38
 */
@Slf4j
@Api(tags = {"电动车商城-活动管理"})
@RestController
@RequestMapping("/comBatteryCommodityActivity")
public class ComBatteryCommodityActivityApi extends BaseController {
    @Resource
    private ComBatteryCommodityActivityFeign comBatteryCommodityActivityService;
    @Resource
    private ComBatteryCommodityOrderCollageTeamFeign orderCollageTeamService;
    /**
     * description  queryByPage  分页查询
     *
     * @param comBatteryCommodityActivity 请求参数
     * @return 分页查询返回参数
     * @author lyq
     * @date 2022-03-29 13:17:38
     */
    @ApiOperation(value = "分页查询活动列表",response = ComBatteryCommodityActivityVo.class)
    @PostMapping("/page")
    public R queryByPage(@RequestBody PageComBatteryCommodityActivityDto comBatteryCommodityActivity) {
        comBatteryCommodityActivity.setIsApplets(1);
        if(comBatteryCommodityActivity.getIsUser().equals(1)){
            comBatteryCommodityActivity.setUserId(this.getUserId());
        }
        return this.comBatteryCommodityActivityService.queryByPage(comBatteryCommodityActivity);
    }
    /**
     * description  detailById  查询详情
     *
     * @param id 主键id
     * @return 详情数据
     * @author lyq
     * @date 2022-03-29 13:17:38
     */
    @ApiOperation(value = "查询活动详情",response = ComBatteryCommodityActivityVo.class)
    @GetMapping("/detail")
    public R detailById(@RequestParam("id") Long id) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
        Long userId = 0L;
        if(loginUserInfo != null){
            userId = loginUserInfo.getUserId();
        }
        return this.comBatteryCommodityActivityService.detailById(id,userId);
    }
    /**
     * description  queryByPage  查询列表
     *
     * @param comBatteryCommodityActivity 请求参数
     * @return 列表数据
     * @author lyq
     * @date 2022-03-29 13:17:38
     */
    @ApiOperation(value = "查询活动列表",response = ComBatteryCommodityActivityVo.class)
    @PostMapping("/list")
    public R queryByList(@RequestBody PageComBatteryCommodityActivityDto comBatteryCommodityActivity) {
        comBatteryCommodityActivity.setIsApplets(1);
        return this.comBatteryCommodityActivityService.queryByList(comBatteryCommodityActivity);
    }
    @ApiOperation(value = "查询拼团团队列表",response = ComBatteryCommodityOrderCollageTeamVo.class)
    @PostMapping("/assorted/dough")
    public R queryByAssortedDoughList(@RequestBody PageComBatteryCommodityOrderCollageTeamDto orderCollageTeamDto) {
        orderCollageTeamDto.setStatus(1);
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
        if(loginUserInfo != null){
            orderCollageTeamDto.setUserId(loginUserInfo.getUserId());
        }
        return this.orderCollageTeamService.queryByPage(orderCollageTeamDto);
    }
    @ApiOperation(value = "查询拼团团队详情",response = ComBatteryCommodityOrderCollageTeamVo.class)
    @GetMapping("/assorted/dough/detail")
    public R queryByAssortedDoughDetail(@RequestParam("id") Long id) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
        Long userId = 0L;
        if(loginUserInfo != null){
            userId = loginUserInfo.getUserId();
        }
        return this.orderCollageTeamService.detailById(id,userId);
    }
    /**
     * 创建拼团订单
     * @param orderDto  请求参数
     * @return  创建订单结果
     */
    @ApiOperation(value = "创建拼团订单")
    @PostMapping("/start/fight")
    public R startFight(@RequestBody StartFightOrderDto orderDto){
        orderDto.setUserId(this.getUserId());
        return this.comBatteryCommodityActivityService.startFight(orderDto);
    }
    /**
     * 创建砍价订单
     * @param orderDto  请求参数
     * @return  创建订单结果
     */
    @ApiOperation(value = "创建砍价订单")
    @PostMapping("/start/bargain")
    public R startBargain(@RequestBody StartBargainOrderDto orderDto){
        orderDto.setUserId(this.getUserId());
        return this.comBatteryCommodityActivityService.startBargain(orderDto);
    }
    /**
     * 帮好友砍价
     * @param orderDto  请求参数
     * @return  创建订单结果
     */
    @ApiOperation(value = "帮好友砍价")
    @PostMapping("/start/user/bargain")
    public R startUserBargain(@RequestBody StartUserBargainOrderDto orderDto){
        orderDto.setUserId(this.getUserId());
        return this.comBatteryCommodityActivityService.startUserBargain(orderDto);
    }
    /**
     * 查询砍价记录详情
     * @param id  砍价记录id
     * @return  创建订单结果
     */
    @ApiOperation(value = "查询砍价记录详情",response = ComBatteryCommodityOrderBargainVo.class)
    @GetMapping("/user/bargain")
    public R getUserBargain(@RequestParam("id") Long id){
        return this.comBatteryCommodityActivityService.getUserBargain(id);
    }
    /**
     * 创建秒杀订单
     * @param orderDto  请求参数
     * @return  创建订单结果
     */
    @ApiOperation(value = "创建秒杀订单")
    @PostMapping("/start/seckill")
    public R startSeckill(@RequestBody StartSeckillOrderDto orderDto){
        orderDto.setUserId(this.getUserId());
        return this.comBatteryCommodityActivityService.startSeckill(orderDto);
    }
}