package com.dsh.activity.controller;
|
|
import cn.mb.cloud.common.data.controller.BaseController;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.api.R;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.dsh.activity.entity.THuiminCard;
|
import com.dsh.activity.entity.TPayHuimin;
|
import com.dsh.activity.service.HuiminCardService;
|
import com.dsh.activity.service.PayHuiminService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
@RestController
|
@RequestMapping("/tHuiminCard")
|
public class THuiminCardController extends BaseController {
|
@Autowired
|
private HuiminCardService tHuiminCardService;
|
@Autowired
|
private PayHuiminService payHuiminService;
|
|
|
@GetMapping("/queryPage")
|
public Page<THuiminCard> queryPage(Page<THuiminCard> page, THuiminCard tHuiminCard) {
|
QueryWrapper<THuiminCard> queryWrapper = new QueryWrapper<>();
|
if (!StringUtils.isEmpty(tHuiminCard.getHuiMinName())){
|
queryWrapper.like("huiMinName",tHuiminCard.getHuiMinName());
|
}
|
if (!StringUtils.isEmpty(tHuiminCard.getHuiMinType())){
|
queryWrapper.eq("huiMinType",tHuiminCard.getHuiMinType());
|
}
|
if (tHuiminCard.getStartTime() != null && tHuiminCard.getEndTime() != null){
|
queryWrapper.ge("startTime",tHuiminCard.getStartTime());
|
queryWrapper.le("endTime",tHuiminCard.getEndTime());
|
}
|
Integer flag = tHuiminCard.getFlag();
|
if (flag != null){
|
Date now = new Date();
|
switch (flag) {
|
case 1:
|
queryWrapper.le("startTime", now);
|
break;
|
case 2:
|
queryWrapper.ge("startTime", now);
|
queryWrapper.le("endTime", now);
|
break;
|
case 3:
|
queryWrapper.lt("endTime", now);
|
break;
|
}
|
}
|
|
if (tHuiminCard.getStatus() != null){
|
queryWrapper.eq("status",tHuiminCard.getStatus());
|
}
|
Page<THuiminCard> page1 = tHuiminCardService.page(page, queryWrapper);
|
List<THuiminCard> records = page1.getRecords();
|
List<Integer> cardIds = records.stream().map(THuiminCard::getId).collect(Collectors.toList());
|
List<TPayHuimin> list = payHuiminService.list(new LambdaQueryWrapper<TPayHuimin>()
|
.in(TPayHuimin::getCardId, cardIds));
|
|
Map<Integer, Long> cardIdCountMap = list.stream()
|
.collect(Collectors.groupingBy(
|
TPayHuimin::getCardId,
|
Collectors.counting()
|
));
|
|
|
records.forEach(item -> {
|
item.setBuyCount(cardIdCountMap.getOrDefault(item.getId(), 0L).intValue());
|
});
|
return page1;
|
}
|
|
@GetMapping("/getById")
|
public THuiminCard getById(@RequestParam("id") Integer id) {
|
return tHuiminCardService.getById(id);
|
}
|
|
@PostMapping("/save")
|
public R<?> save(@RequestBody THuiminCard tHuiminCard) {
|
tHuiminCardService.save(tHuiminCard);
|
return R.ok("");
|
}
|
|
@PostMapping("/updateById")
|
public R<?> updateById(@RequestBody THuiminCard tHuiminCard) {
|
String unUseTimes = tHuiminCard.getUnUseTimes();
|
tHuiminCardService.updateById(tHuiminCard);
|
return R.ok("");
|
}
|
|
@GetMapping("/deleteById")
|
public R<?> deleteById(@RequestParam("id") Integer id) {
|
tHuiminCardService.removeById(id);
|
return R.ok("");
|
}
|
|
/**
|
* 批量删除
|
*/
|
@PostMapping("/deleteBatchIds")
|
public R<?> deleteBatchIds(@RequestBody List<Integer> ids) {
|
tHuiminCardService.removeByIds(ids);
|
return R.ok("");
|
}
|
|
|
@GetMapping("/changeState")
|
public String changeState(@RequestParam("id")Integer id, @RequestParam("status") Integer status){
|
THuiminCard tHuiminCard = tHuiminCardService.getById(id);
|
tHuiminCard.setStatus(status);
|
tHuiminCardService.updateById(tHuiminCard);
|
return "success";
|
}
|
}
|