package com.poyee.controller; import com.poyee.annotation.UserLoginToken; import com.poyee.base.controller.BaseController; import com.poyee.base.dto.Page; import com.poyee.base.dto.Result; import com.poyee.dto.ProductPromGroupInfoDto; import com.poyee.dto.task.*; import com.poyee.enums.ProductTypeEnums; import com.poyee.enums.Roles; import com.poyee.service.IPromotionTaskService; import com.poyee.service.ProductInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.*; import java.util.stream.Collectors; /** * 推广任务 */ @Api(value = "推广任务", tags = "推广任务" ) @Slf4j @RestController @RequestMapping("/api/promotionTask") public class TaskApiController extends BaseController { @Autowired private ProductInfoService productInfoService; /** * 列表 * 商家, 管理员, 运营[客服]等均可见 * @param req * @return */ @ApiOperation(value = "任务列表@(app-1.0)") @RequestMapping(value = "/page", method = {RequestMethod.POST}) @UserLoginToken(faceVerify = false, roles = {Roles.ADMIN,Roles.SHIPPING,Roles.GENERAL_USER,Roles.CUSTOMER}) @ResponseBody public Result page(@RequestBody PromotionTaskPageReq req) { console("任务列表->>", req); //判断是普通用户 或客服【运营】 状态默认为 已发布(R) if(checkHasUserRole(Roles.GENERAL_USER,Roles.CUSTOMER)){ req.setStatus("R"); } if (StringUtils.isNotBlank(req.getKeyWord())) { req.setMerchantName(req.getKeyWord()); req.setProductName(req.getKeyWord()); } Page page = baseService.page(req); productInfoService.getProductInfoByIds(page.getRows()); return Result.success(page); } /** * 审核 */ @ApiOperation(value = "审核任务@(app-1.0)") @RequestMapping(value = "/audit", method = {RequestMethod.POST}) @UserLoginToken(faceVerify = false, roles = {Roles.ADMIN,Roles.SHIPPING,Roles.CUSTOMER}) @ResponseBody public Result audit(@RequestBody @Valid PromotionTaskAuditReq req) { console("审核任务->> ",req); return baseService.audit(req); } /** * 更新任务状态: 下架 上架 等 */ @ApiOperation(value = "更新任务状态@(app-1.0)") @RequestMapping(value = "/updateStatus", method = {RequestMethod.POST}) @UserLoginToken(faceVerify = false, roles = {Roles.ADMIN,Roles.SHIPPING,Roles.CUSTOMER}) @ResponseBody public Result updateStatus(@RequestBody @Valid PromotionTaskUpdateReq req) { console("更新任务状态->> ",req); return baseService.updateStatus(req); } /** * 根据id查询任务信息 */ @ApiOperation(value = "根据id查询任务信息@(app-1.0)") @RequestMapping(value = "/getById/{id}", method = {RequestMethod.POST}) @UserLoginToken(faceVerify = false, roles = {Roles.ADMIN,Roles.SHIPPING,Roles.GENERAL_USER,Roles.CUSTOMER}) @ResponseBody public Result getById(@PathVariable("id") Long id) { console("根据id查询任务信息->> ",id); PromotionTaskPageDto taskDto = baseService.detailById(id); return Result.success(taskDto); } }