package com.ruoyi.order.controller;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.order.api.model.TOrderEvaluate;
import com.ruoyi.order.api.query.TOrderEvaluateQuery;
import com.ruoyi.order.api.vo.SiteDetailEvaluateVO;
import com.ruoyi.order.api.vo.TOrderEvaluateVO;
import com.ruoyi.order.dto.GetOrderEvaluatePageList;
import com.ruoyi.order.dto.GetOrderEvaluatePageListDTO;
import com.ruoyi.order.dto.OrderEvaluateVo;
import com.ruoyi.order.service.TOrderEvaluateService;
import com.ruoyi.other.api.vo.TEvaluationTagVO;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.List;
/**
*
* 前端控制器
*
*
* @author xiaochen
* @since 2024-08-07
*/
@Api(tags = "订单评价")
@RestController
@RequestMapping("/t-order-evaluate")
public class TOrderEvaluateController {
@Autowired
private TOrderEvaluateService orderEvaluateService;
@ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价标签及数量查询")
@PostMapping(value = "/getTagCount")
public AjaxResult> getTagCount() {
return AjaxResult.ok(orderEvaluateService.getTagCount());
}
@ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价分页列表查询")
@PostMapping(value = "/pageList")
public AjaxResult> pageList(@RequestBody TOrderEvaluateQuery query) {
return AjaxResult.ok(orderEvaluateService.getTagList(query));
}
@GetMapping(value = "/getPageList")
@ApiOperation(value = "获取充电评价列表", tags = {"管理后台-充电评价"})
public AjaxResult> getPageList(@RequestBody GetOrderEvaluatePageList pageList){
PageInfo list = orderEvaluateService.getPageList(pageList);
return AjaxResult.success(list);
}
@DeleteMapping(value = "/delOrderEvaluate")
@ApiOperation(value = "删除充电评价", tags = {"管理后台-充电评价"})
public AjaxResult delOrderEvaluate(@PathVariable Long id){
TOrderEvaluate orderEvaluate = orderEvaluateService.getById(id);
orderEvaluateService.removeById(orderEvaluate);
return AjaxResult.success();
}
@PostMapping(value = "/replyEvaluation")
@ApiOperation(value = "充电评价回复", tags = {"管理后台-充电评价"})
public AjaxResult replyEvaluation(@PathVariable("id") Long id, @RequestParam("reply") String reply){
TOrderEvaluate orderEvaluate = orderEvaluateService.getById(id);
reply = reply.replaceAll("& #40;", "(")
.replaceAll("& #41;", ")")
.replaceAll("& #40;", "(")
.replaceAll("& #41;", ")")
.replaceAll("& #39;", "'")
.replaceAll("& lt;", "<")
.replaceAll("& gt;", ">");
orderEvaluate.setEvaluationResponse(reply);
orderEvaluate.setResponseTime(LocalDateTime.now());
orderEvaluateService.updateById(orderEvaluate);
return AjaxResult.success();
}
@DeleteMapping(value = "/delOrderEvaluateReply")
@ApiOperation(value = "删除充电评价回复", tags = {"管理后台-充电评价"})
public AjaxResult delOrderEvaluateReply(@PathVariable Long id){
TOrderEvaluate orderEvaluate = orderEvaluateService.getById(id);
orderEvaluate.setEvaluationResponse("");
orderEvaluateService.updateById(orderEvaluate);
return AjaxResult.success();
}
@ApiOperation(tags = {"小程序-订单评价"},value = "电站详情中评价列表查询")
@GetMapping(value = "/getSiteDetailEveList")
public AjaxResult getSiteDetailEveList(@RequestParam(value = "siteId")@ApiParam(value = "站点id")Integer siteId) {
return AjaxResult.ok(orderEvaluateService.getSiteDetailEveList(siteId));
}
@PostMapping(value = "/addOrderEvaluate")
@ApiOperation(value = "添加评价记录", tags = {"小程序-充电记录"})
public AjaxResult addOrderEvaluate(@RequestBody OrderEvaluateVo query){
return orderEvaluateService.addOrderEvaluate(query);
}
@GetMapping(value = "/getOrderEvaluate")
@ApiOperation(value = "获取订单评价详情", tags = {"小程序-充电记录"})
@ApiImplicitParams({
@ApiImplicitParam(value = "订单id", name = "orderId", required = true),
@ApiImplicitParam(value = "订单类型(1=充电订单,2=购物订单,3=兑换订单,4=会员订单)", name = "orderType", required = true),
})
public AjaxResult getOrderEvaluate(@PathVariable Integer orderId, Integer orderType){
OrderEvaluateVo orderEvaluate = orderEvaluateService.getOrderEvaluate(orderId, orderType);
return AjaxResult.success(orderEvaluate);
}
}