package com.ruoyi.order.controller;
|
|
|
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.domain.BasePojo;
|
import com.ruoyi.common.core.web.page.PageInfo;
|
import com.ruoyi.common.security.annotation.Logical;
|
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
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>
|
* 前端控制器
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2024-08-07
|
*/
|
@RestController
|
@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;
|
}
|
|
|
@RequiresPermissions(value = {"/appealOrder"}, logical = Logical.OR)
|
@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)
|
.orderByDesc(TOrderAppeal::getCreateTime)
|
.page(Page.of(manageOrderAppealQuery.getPageCurr(), manageOrderAppealQuery.getPageSize()));
|
|
for (TOrderAppeal record : page.getRecords()) {
|
record.setUid(record.getId().toString());
|
}
|
return R.ok(page);
|
|
|
}
|
|
|
@RequiresPermissions(value = {"/appealOrder/del"}, logical = Logical.OR)
|
@ApiOperation(tags = {"后台-订单管理-订单申诉"},value = "删除")
|
@DeleteMapping (value = "/manage/delete")
|
public R<Page<TOrderAppeal>> delete(String ids) {
|
orderAppealService.removeBatchByIds(Arrays.asList(ids.split(",")));
|
return R.ok();
|
}
|
|
|
|
@RequiresPermissions(value = {"/appealOrder/select", "/appealOrder/handle"}, logical = Logical.OR)
|
@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) {
|
TOrderAppeal orderAppeal = orderAppealService.getById(id);
|
Long userId = tokenService.getLoginUserApplet().getUserId();
|
if(!orderAppeal.getAppUserId().equals(userId)){
|
return AjaxResult.error("权限不足");
|
}
|
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();
|
}
|
}
|