| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package com.cyksj.web.controller.group;
- import cn.hutool.core.date.DateTime;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.cyksj.common.exception.BusinessRuntimeException;
- import com.cyksj.dto.Result;
- import com.cyksj.enums.GatewayResponse;
- import com.cyksj.mapper.GroupsRelationMapper;
- import com.cyksj.model.entity.GroupsRelation;
- import com.cyksj.model.entity.OrderDon;
- import com.cyksj.model.request.OrderPayRequest;
- import com.cyksj.model.views.RenewalView;
- import com.cyksj.service.order.OrderDonService;
- import com.cyksj.web.util.StpUserUtil;
- import com.ejlchina.searcher.BeanSearcher;
- import com.ejlchina.searcher.param.Operator;
- import com.ejlchina.searcher.util.MapUtils;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * @author chan
- * @date 2022/9/27 11:48 AM
- */
- @Slf4j
- @RequiredArgsConstructor
- @RestController
- @RequestMapping("/applets/group/relation")
- public class GroupRelationController {
- private final BeanSearcher beanSearcher;
- private final OrderDonService orderDonService;
- private final GroupsRelationMapper relationMapper;
- @RequestMapping("/get/renewal")
- public Result<List<RenewalView>> get() {
- long userId = StpUserUtil.getLoginIdAsLong();
- List<RenewalView> list = beanSearcher.searchAll(RenewalView.class, MapUtils.builder()
- .field(RenewalView::getUserId, userId)
- .field(RenewalView::getStatus, List.of("validity", "overdue")).op(Operator.InList)
- .orderBy(RenewalView::getExpiryTime).asc()
- .build());
- //过滤邀请制、已失效的车位
- DateTime now = DateTime.now();
- List<RenewalView> collect = list.stream().filter(ticket -> {
- if (ticket.getExpiryTime() != null && ticket.getExpiryTime().before(now)) {
- return false;
- }
- if (ticket.getSecondType() == 1) {
- ticket.setAccount(null);
- ticket.setPassword(null);
- }
- return true;
- }).collect(Collectors.toList());
- return GatewayResponse.SUCCESS.newBuilder().toResult(collect);
- }
- @PostMapping("/post/renewal")
- public Result<OrderDon> renewal(@RequestBody OrderPayRequest request) {
- long userId = StpUserUtil.getLoginIdAsLong();
- request.setUserId(userId);
- OrderDon orderDon = orderDonService.renewal(request);
- return GatewayResponse.SUCCESS.newBuilder().toResult(orderDon);
- }
- @PutMapping("/update/set/account")
- public Result<String> setAccount(@RequestBody GroupsRelation relation) {
- long userId = StpUserUtil.getLoginIdAsLong();
- GroupsRelation re = relationMapper.selectOne(Wrappers.lambdaQuery(GroupsRelation.class).eq(GroupsRelation::getId, relation.getId()).eq(GroupsRelation::getUserId, userId).last(" limit 1"));
- if (re == null) {
- throw new BusinessRuntimeException("该车票不存在,请联系客服.");
- }
- relationMapper.update(relation, Wrappers.lambdaUpdate(GroupsRelation.class).set(GroupsRelation::getAccount, relation.getAccount()).eq(GroupsRelation::getId, relation.getId()));
- return GatewayResponse.SUCCESS.newBuilder().toResult();
- }
- }
|