puzhibing
10 小时以前 88580dae55106dcf4a8f80693b90638e07af02fa
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java
@@ -2,11 +2,17 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.chargingPile.api.feignClient.SiteClient;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.log.enums.OperatorType;
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.TChargingOrder;
import com.ruoyi.order.api.model.TOrderEvaluate;
import com.ruoyi.order.api.model.TOrderEvaluateTag;
import com.ruoyi.order.api.query.TOrderEvaluateQuery;
@@ -15,16 +21,21 @@
import com.ruoyi.order.dto.GetOrderEvaluatePageList;
import com.ruoyi.order.dto.GetOrderEvaluatePageListDTO;
import com.ruoyi.order.dto.OrderEvaluateVo;
import com.ruoyi.order.service.TChargingOrderService;
import com.ruoyi.order.service.TOrderEvaluateService;
import com.ruoyi.order.service.TOrderEvaluateTagService;
import com.ruoyi.order.service.WxSubscribeMessageService;
import com.ruoyi.order.vo.ReplyEvaluationVO;
import com.ruoyi.other.api.vo.TEvaluationTagVO;
import io.swagger.annotations.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
/**
@@ -40,6 +51,8 @@
@RequestMapping("/t-order-evaluate")
public class TOrderEvaluateController {
    private static final Logger log = LoggerFactory.getLogger(TOrderEvaluateController.class);
    @Autowired
    private TOrderEvaluateService orderEvaluateService;
    
@@ -49,16 +62,25 @@
    @Resource
    private TokenService tokenService;
    
    @Resource
    private TChargingOrderService chargingOrderService;
    @Resource
    private SiteClient siteClient;
    @Resource
    private WxSubscribeMessageService wxSubscribeMessageService;
    
    
    @ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价标签及数量查询")
    @GetMapping(value = "/getTagCount")
    public AjaxResult<List<TEvaluationTagVO>> getTagCount(@ApiParam(value = "站点id")Integer siteId) {
        return AjaxResult.ok(orderEvaluateService.getTagCount(siteId));
    }
    @ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价分页列表查询")
    @PostMapping(value = "/pageList")
    public AjaxResult<PageInfo<TOrderEvaluateVO>> pageList(@RequestBody TOrderEvaluateQuery query) {
@@ -106,7 +128,25 @@
        orderEvaluate.setEvaluationResponse(reply);
        orderEvaluate.setResponseTime(LocalDateTime.now());
        orderEvaluateService.updateById(orderEvaluate);
        sendEvaluationReplyMessage(orderEvaluate);
        return AjaxResult.success();
    }
    private void sendEvaluationReplyMessage(TOrderEvaluate orderEvaluate) {
        try {
            if (orderEvaluate == null || !Integer.valueOf(1).equals(orderEvaluate.getOrderType())) {
                return;
            }
            TChargingOrder order = chargingOrderService.getById(orderEvaluate.getOrderId());
            Site site = null;
            if (order != null && order.getSiteId() != null) {
                List<Site> sites = siteClient.getSiteByIds(Collections.singletonList(order.getSiteId())).getData();
                site = sites == null || sites.isEmpty() ? null : sites.get(0);
            }
            wxSubscribeMessageService.sendEvaluationReply(orderEvaluate, order, site);
        } catch (Exception e) {
            log.warn("评价回复订阅消息发送异常,evaluateId={}", orderEvaluate == null ? null : orderEvaluate.getId(), e);
        }
    }
    
    
@@ -121,7 +161,7 @@
        return AjaxResult.success();
    }
    
    @ApiOperation(tags = {"小程序-订单评价"},value = "电站详情中评价列表查询")
    @GetMapping(value = "/getSiteDetailEveList")
    public AjaxResult<SiteDetailEvaluateVO> getSiteDetailEveList(@RequestParam(value = "siteId")@ApiParam(value = "站点id")Integer siteId) {
@@ -131,6 +171,7 @@
    
    
    
    @Log(title = "【我的】添加评价记录", businessType = BusinessType.INSERT,operatorType = OperatorType.MOBILE)
    @PostMapping(value = "/addOrderEvaluate")
    @ApiOperation(value = "添加评价记录", tags = {"小程序-充电记录"})
    public AjaxResult addOrderEvaluate(@RequestBody OrderEvaluateVo query){
@@ -142,7 +183,7 @@
    @ApiOperation(value = "获取订单评价详情", tags = {"小程序-充电记录"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true),
            @ApiImplicitParam(value = "订单类型(1=充电订单,2=购物订单,3=兑换订单,4=会员订单)", name = "orderType", required = true),
            @ApiImplicitParam(value = "订单类型(1=充电订单,2=购物订单,3=兑换订单,4=会员订单,5=VIN码充电订单)", name = "orderType", required = true),
    })
    public AjaxResult<OrderEvaluateVo> getOrderEvaluate(String orderId, Integer orderType){
        OrderEvaluateVo orderEvaluate = orderEvaluateService.getOrderEvaluate(orderId, orderType);