Pu Zhibing
2024-10-16 c4664502dfdaffff555b532e65b51a57ac8b29c2
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java
@@ -1,8 +1,27 @@
package com.ruoyi.order.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.api.model.*;
import com.ruoyi.order.api.query.TOrderAppealQuery;
import com.ruoyi.order.api.vo.TOrderAppealVO;
import com.ruoyi.order.dto.ManageFeedbackDto;
import com.ruoyi.order.dto.ManageOrderAppealQuery;
import com.ruoyi.order.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Arrays;
/**
 * <p>
@@ -16,5 +35,107 @@
@RequestMapping("/t-order-appeal")
public class TOrderAppealController {
    private final TOrderAppealService orderAppealService;
    private final TokenService tokenService;
    @Resource
    private AppUserClient appUserClient;
    @Resource
    private TChargingOrderService chargingOrderService;
    @Resource
    private TShoppingOrderService shoppingOrderService;
    @Resource
    private TExchangeOrderService exchangeOrderService;
    @Resource
    private TVipOrderService vipOrderService;
    @Autowired
    public TOrderAppealController(TOrderAppealService orderAppealService, TokenService tokenService) {
        this.orderAppealService = orderAppealService;
        this.tokenService = tokenService;
    }
    @ApiOperation(tags = {"后台-订单管理-订单申诉"},value = "列表")
    @PostMapping(value = "/manage/pageList")
    public R<Page<TOrderAppeal>> managePageList(@RequestBody ManageOrderAppealQuery manageOrderAppealQuery) {
        Page<TOrderAppeal> page = orderAppealService.lambdaQuery().eq(manageOrderAppealQuery.getStatus() != null, TOrderAppeal::getStatus, manageOrderAppealQuery.getStatus())
                .like(manageOrderAppealQuery.getCode() != null, TOrderAppeal::getCode, manageOrderAppealQuery.getCode())
                .like(manageOrderAppealQuery.getPhone() != null, TOrderAppeal::getPhone, manageOrderAppealQuery.getPhone())
                .eq(manageOrderAppealQuery.getOrderType() != null, TOrderAppeal::getOrderType, manageOrderAppealQuery.getOrderType())
                .in(TOrderAppeal::getOrderType, 1, 2).page(Page.of(manageOrderAppealQuery.getPageCurr(), manageOrderAppealQuery.getPageSize()));
        for (TOrderAppeal record : page.getRecords()) {
            record.setUid(record.getId().toString());
        }
        return R.ok(page);
    }
    @ApiOperation(tags = {"后台-订单管理-订单申诉"},value = "删除")
    @DeleteMapping (value = "/manage/delete")
    public R<Page<TOrderAppeal>> delete(String ids) {
        orderAppealService.removeBatchByIds(Arrays.asList(ids.split(",")));
        return R.ok();
    }
    @ApiOperation(tags = {"后台-订单管理-订单申诉"},value = "后台-订单管理-订单申诉")
    @PostMapping(value = "/manage/feedback")
    public R manageFeedback(@RequestBody ManageFeedbackDto manageFeedbackDto) {
        TOrderAppeal byId = orderAppealService.getById(manageFeedbackDto.getId());
        byId.setFeedback(manageFeedbackDto.getFeedback());
        byId.setStatus(2);
        orderAppealService.updateById(byId);
        return R.ok();
    }
    /**
     * 查询订单申诉列表
     */
    @ApiOperation(tags = {"小程序-订单申诉"},value = "查询订单申诉分页列表")
    @PostMapping(value = "/pageList")
    public AjaxResult<PageInfo<TOrderAppealVO>> pageList(@RequestBody TOrderAppealQuery query) {
        Long userId = tokenService.getLoginUserApplet().getUserId();
        query.setAppUserId(userId);
        return AjaxResult.ok(orderAppealService.pageList(query));
    }
    /**
     * 查询订单申诉详情
     */
    @GetMapping(value = "/getDetailById")
    @ApiOperation(tags = {"小程序-订单申诉"},value = "查询订单申诉详情")
    public AjaxResult<TOrderAppealVO> getDetailById(String id) {
        return AjaxResult.ok(orderAppealService.getDetailById(id));
    }
    @ResponseBody
    @PostMapping(value = "/addOrderAppeal")
    @ApiOperation(value = "申诉订单", tags = {"小程序-充电记录(个人中心)"})
    public AjaxResult addOrderAppeal(@RequestBody TOrderAppeal orderAppeal){
        Long appUserId = tokenService.getLoginUserApplet().getUserId();
        TAppUser data = appUserClient.getUserById(appUserId).getData();
        orderAppeal.setAppUserId(appUserId);
        orderAppeal.setStatus(1);
        orderAppeal.setPhone(data.getPhone());
        if (orderAppeal.getOrderType()==1){
            TChargingOrder byId = chargingOrderService.getById(orderAppeal.getOrderId());
            orderAppeal.setCode(byId.getCode());
        }else if(orderAppeal.getOrderType()==2){
            TShoppingOrder byId = shoppingOrderService.getById(orderAppeal.getOrderId());
            orderAppeal.setCode(byId.getCode());
        }else if(orderAppeal.getOrderType()==3){
            TExchangeOrder byId = exchangeOrderService.getById(orderAppeal.getOrderId());
            orderAppeal.setCode(byId.getCode());
        }else if(orderAppeal.getOrderType()==4){
            TVipOrder byId = vipOrderService.getById(orderAppeal.getOrderId());
            orderAppeal.setCode(byId.getCode());
        }
        orderAppealService.save(orderAppeal);
        return AjaxResult.success();
    }
}