猫妈狗爸伴宠师小程序后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

184 lines
5.9 KiB

package com.ruoyi.applet.contoller;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.cyl.h5.config.SecurityUtil;
import com.cyl.manager.marketing.service.IWechatStockService;
import com.cyl.manager.ums.domain.Member;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.model.domain.AppletTask;
import com.ruoyi.model.domain.AppletTaskUser;
import com.ruoyi.model.service.IAppletTaskService;
import com.ruoyi.model.service.IAppletTaskUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Api(description = "下单小程序端 - 任务中心相关接口")
@RestController
@RequestMapping("/h5/mall/task")
public class ApiMallTaskController extends BaseController {
@Autowired
private IAppletTaskService appletTaskService;
@Autowired
private IAppletTaskUserService appletTaskUserService;
@Autowired
private IWechatStockService wechatStockService;
// 任务中心待领取列表
@ApiOperation("mall端-任务中心待领取列表")
@GetMapping("/list")
public TableDataInfo list(AppletTask appletTask) {
Member member = SecurityUtil.getLocalMember();
List<Long> notIds = appletTaskUserService.lambdaQuery()
.eq(AppletTaskUser::getMemberId, member.getId())
.select(AppletTaskUser::getTaskId)
.list().stream().map(n -> n.getTaskId())
.collect(Collectors.toList());
startPage();
List<AppletTask> list = appletTaskService.lambdaQuery()
.notIn(notIds.size() > 0, AppletTask::getId, notIds)
.list();
for (AppletTask task : list) {
if (StringUtils.isNotBlank(task.getTaskCoupon())){
List<String> ids = Arrays.asList(task.getTaskCoupon().split(","));
task.setTaskCouponTitle(wechatStockService.getStockTitleByIds(ids));
}
}
// for (AppletTask task : list) {
// task.setStatus(appletTaskUserService.lambdaQuery()
// .eq(AppletTaskUser::getMemberId, member.getId())
// .eq(AppletTaskUser::getTaskId, task.getId())
// .count() > 0);
// }
return getDataTable(list);
}
// 任务中心已领取列表
@ApiOperation("mall端-任务中心已领取列表")
@GetMapping("/listByUser")
public TableDataInfo listByUser(AppletTaskUser appletTask) {
startPage();
Member member = SecurityUtil.getLocalMember();
appletTask.setMemberId(member.getId());
List<AppletTaskUser> list = appletTaskUserService.selectAppletTaskList(appletTask);
for (AppletTaskUser task : list) {
if (StringUtils.isNotBlank(task.getTaskCoupon())){
List<String> ids = Arrays.asList(task.getTaskCoupon().split(","));
task.setTaskCouponTitle(wechatStockService.getStockTitleByIds(ids));
}
}
return getDataTable(list);
}
//根据标识查询待领取任务详情
@ApiOperation("mall端-根据标识查询待领取任务详情")
@GetMapping("/taskDetail/{id}")
public AjaxResult taskDetail(AppletTask appletTask){
Member member = SecurityUtil.getLocalMember();
AppletTask task = appletTaskService.selectAppletTaskById(appletTask.getId());
// task.setStatus(appletTaskUserService.lambdaQuery()
// .eq(AppletTaskUser::getMemberId, member.getId())
// .eq(AppletTaskUser::getTaskId, task.getId())
// .count() > 0);
return AjaxResult.success("任务详情",task);
}
//根据标识查询已领取任务详情
@ApiOperation("mall端-根据标识查询已领取任务详情")
@GetMapping("/taskUserDetail/{id}")
public AjaxResult taskUserDetail(AppletTaskUser appletTask){
AppletTaskUser task = appletTaskUserService.selectAppletTaskById(appletTask.getId());
if (StringUtils.isNotBlank(task.getTaskCoupon())){
List<String> ids = Arrays.asList(task.getTaskCoupon().split(","));
task.setTaskCouponTitle(wechatStockService.getStockTitleByIds(ids));
}
return AjaxResult.success("任务详情",task);
}
//接受任务
@ApiOperation("mall端-接受任务")
@GetMapping("/acceptTask")
public AjaxResult acceptTask(AppletTask appletTask){
Member member = SecurityUtil.getLocalMember();
AppletTask task = appletTaskService.selectAppletTaskById(appletTask.getId());
AppletTaskUser taskUser = new AppletTaskUser();
BeanUtils.copyProperties(task, taskUser);
taskUser.setMemberId(member.getId());
taskUser.setId(null);
taskUser.setTaskId(task.getId());
appletTaskUserService.save(taskUser);
task.setGiveNum(task.getGiveNum() + 1);
appletTaskService.updateById(task);
return AjaxResult.success("接受成功");
}
//提交任务信息
@ApiOperation("mall端-提交任务信息")
@PostMapping("/submitTask")
public AjaxResult submitTask(@RequestBody AppletTaskUser appletTask){
appletTaskUserService.lambdaUpdate()
.eq(AppletTaskUser::getId, appletTask.getId())
.set(AppletTaskUser::getProveTxt, appletTask.getProveTxt())
.set(AppletTaskUser::getProveImage, appletTask.getProveImage())
.set(AppletTaskUser::getStatus, 1)
.set(AppletTaskUser::getSubmitTime, LocalDateTime.now())
.update();
return AjaxResult.success("提交成功");
}
}