| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package com.cyksj.web.controller.invoice;
- import com.cyksj.dto.Result;
- import com.cyksj.enums.GatewayResponse;
- import com.cyksj.model.request.UserInvoiceOrderReq;
- import com.cyksj.model.views.UserInvoiceChoseOrderViews;
- import com.cyksj.model.views.UserInvoiceFrontView;
- import com.cyksj.model.views.UserInvoiceOrderViews;
- import com.cyksj.service.invoice.UserInvoiceApplyRecordService;
- import com.cyksj.service.user.UserBindRelationService;
- import com.cyksj.web.util.StpUserUtil;
- import com.ejlchina.searcher.BeanSearcher;
- import com.ejlchina.searcher.SearchResult;
- import com.ejlchina.searcher.param.Operator;
- import com.ejlchina.searcher.util.MapUtils;
- import lombok.RequiredArgsConstructor;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletRequest;
- import java.util.List;
- /**
- * 项目名: yhlxj
- * 文件名: UserInvoiceFrontController
- * 创建者: JavaZou
- * 创建时间:2024/12/13 16:22
- */
- @RestController
- @RequestMapping("/applets/invoice")
- @RequiredArgsConstructor
- public class UserInvoiceFrontController {
- private final BeanSearcher beanSearcher;
- private final HttpServletRequest request;
- private final UserInvoiceApplyRecordService userInvoiceApplyRecordService;
- private final UserBindRelationService userBindRelationService;
- /**
- * 发票 用户可选AI车票订单
- */
- @GetMapping("/get/orders")
- public Result<SearchResult<UserInvoiceChoseOrderViews>> getOrders() {
- long userId = StpUserUtil.getLoginIdAsLong();
- List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
- SearchResult<UserInvoiceChoseOrderViews> search = beanSearcher.search(UserInvoiceChoseOrderViews.class, MapUtils.flatBuilder(request.getParameterMap())
- .field(UserInvoiceChoseOrderViews::getUserId, userIdList).op(Operator.InList)
- .build());
- return GatewayResponse.SUCCESS.newBuilder().toResult(search);
- }
- /**
- * 提交发票申请
- */
- @PostMapping("/apply")
- public Result<Long> apply(@RequestBody UserInvoiceOrderReq req) {
- long userId = StpUserUtil.getLoginIdAsLong();
- req.setUserId(userId);
- Long recordId = userInvoiceApplyRecordService.applyOrderInvoice(req);
- return GatewayResponse.SUCCESS.newBuilder().toResult(recordId);
- }
- /**
- * 用户发票申请列表
- */
- @GetMapping("/get")
- public Result<SearchResult<UserInvoiceFrontView>> get() {
- long userId = StpUserUtil.getLoginIdAsLong();
- List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
- SearchResult<UserInvoiceFrontView> search = beanSearcher.search(UserInvoiceFrontView.class, MapUtils.flatBuilder(request.getParameterMap())
- .field(UserInvoiceFrontView::getUserId, userIdList).op(Operator.InList)
- .orderBy(UserInvoiceFrontView::getId).desc()
- .build());
- search.getDataList().forEach(data->{
- data.setOrderViews(beanSearcher.searchAll(UserInvoiceOrderViews.class, MapUtils.builder().field(UserInvoiceOrderViews::getRecordId, data.getId()).build()));
- });
- return GatewayResponse.SUCCESS.newBuilder().toResult(search);
- }
- }
|