package com.ruoyi.order.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.core.web.domain.AjaxResult; 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.order.api.model.TOrderEvaluate; import com.ruoyi.order.api.model.TOrderEvaluateTag; 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.order.service.TOrderEvaluateTagService; import com.ruoyi.order.vo.ReplyEvaluationVO; 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 javax.annotation.Resource; 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; @Resource private TOrderEvaluateTagService orderEvaluateTagService; @Resource private TokenService tokenService; @ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价标签及数量查询") @GetMapping(value = "/getTagCount") public AjaxResult> getTagCount(@ApiParam(value = "站点id")Integer siteId) { return AjaxResult.ok(orderEvaluateService.getTagCount(siteId)); } @ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价分页列表查询") @PostMapping(value = "/pageList") public AjaxResult> pageList(@RequestBody TOrderEvaluateQuery query) { return AjaxResult.ok(orderEvaluateService.getTagList(query)); } @RequiresPermissions(value = {"/chargeEvaluation/list"}, logical = Logical.OR) @PostMapping(value = "/getPageList") @ApiOperation(value = "获取充电评价列表", tags = {"管理后台-充电评价"}) public AjaxResult> getPageList(@RequestBody GetOrderEvaluatePageList pageList){ PageInfo list = orderEvaluateService.getPageList(pageList); return AjaxResult.success(list); } @RequiresPermissions(value = {"/chargeEvaluation/del"}, logical = Logical.OR) @DeleteMapping(value = "/delOrderEvaluate/{id}") @ApiOperation(value = "删除充电评价", tags = {"管理后台-充电评价"}) public AjaxResult delOrderEvaluate(@PathVariable("id") Long id){ TOrderEvaluate orderEvaluate = orderEvaluateService.getById(id); orderEvaluateService.removeById(orderEvaluate); orderEvaluateTagService.remove(new LambdaQueryWrapper().eq(TOrderEvaluateTag::getOrderEvaluateId, id)); return AjaxResult.success(); } @RequiresPermissions(value = {"/chargeEvaluation/reply"}, logical = Logical.OR) @PostMapping(value = "/replyEvaluation") @ApiOperation(value = "充电评价回复", tags = {"管理后台-充电评价"}) public AjaxResult replyEvaluation(@RequestBody ReplyEvaluationVO vo){ TOrderEvaluate orderEvaluate = orderEvaluateService.getById(vo.getId()); String reply = vo.getReply().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(); } @RequiresPermissions(value = {"/chargeEvaluation/del"}, logical = Logical.OR) @DeleteMapping(value = "/delOrderEvaluateReply/{id}") @ApiOperation(value = "删除充电评价回复", tags = {"管理后台-充电评价"}) public AjaxResult delOrderEvaluateReply(@PathVariable("id") 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(String orderId, Integer orderType){ OrderEvaluateVo orderEvaluate = orderEvaluateService.getOrderEvaluate(orderId, orderType); return AjaxResult.success(orderEvaluate); } }