package com.xzx.gc.order.controller;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.codec.Base64;
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.util.StrUtil;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.xzx.gc.common.Result;
|
import com.xzx.gc.common.annotations.PassToken;
|
import com.xzx.gc.common.constant.Constants;
|
import com.xzx.gc.common.constant.UserEnum;
|
import com.xzx.gc.common.dto.CommonDto;
|
import com.xzx.gc.common.dto.SimplePage;
|
import com.xzx.gc.common.dto.log.OperationAppLog;
|
import com.xzx.gc.common.request.BaseController;
|
import com.xzx.gc.common.utils.BusinessUtil;
|
import com.xzx.gc.common.utils.MqUtil;
|
import com.xzx.gc.common.utils.StringUtils;
|
import com.xzx.gc.entity.ConfigInfo;
|
import com.xzx.gc.entity.OrderAppraiseInfo;
|
import com.xzx.gc.entity.OrderInfo;
|
import com.xzx.gc.entity.UserInfo;
|
import com.xzx.gc.model.JsonResult;
|
import com.xzx.gc.model.admin.AppraiseInfoTotalModel;
|
import com.xzx.gc.model.admin.XzxOrderAppraiseInfoModel;
|
import com.xzx.gc.model.order.QueryReceiverTotalListDTO;
|
import com.xzx.gc.model.order.QueryReceiverTotalListResDTO;
|
import com.xzx.gc.order.dto.OrderAppraiseAddDto;
|
import com.xzx.gc.order.dto.OrderAppraiseInfoPageDto;
|
import com.xzx.gc.order.dto.OrderAppraiseStaticDto;
|
import com.xzx.gc.order.mapper.*;
|
import com.xzx.gc.order.service.OrderAppraiseInfoService;
|
import com.xzx.gc.order.service.UserService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @author :zz
|
*/
|
@RestController
|
@RequestMapping
|
@Api(tags = {"订单评价管理"})
|
@Validated
|
public class OrderAppraiseController extends BaseController {
|
|
@Autowired
|
private UserMapper userMapper;
|
|
@Autowired
|
private OrderMapper orderMapper;
|
|
@Autowired
|
private OrderAppraiseInfoService orderAppraiseInfoService;
|
|
@Autowired
|
private BusinessUtil businessUtil;
|
|
@Autowired
|
private UserService userService;
|
|
@Autowired
|
private MqUtil mqUtil;
|
|
@PostMapping("/appraise/add")
|
@ApiOperation(value = "新增评价")
|
public Result add(@Validated @RequestBody OrderAppraiseAddDto orderAppraiseAddDto, HttpServletRequest request){
|
OrderAppraiseInfo orderAppraiseInfo=new OrderAppraiseInfo();
|
BeanUtil.copyProperties(orderAppraiseAddDto,orderAppraiseInfo);
|
orderAppraiseInfo.setCreateUserId(getUserId(request));
|
orderAppraiseInfoService.add(orderAppraiseInfo);
|
|
String mobilePhone = userService.findOtherByUserId(getUserId(request),0);
|
OperationAppLog build = OperationAppLog.builder().appPrograme(getFrontClient(request)).opreateName(mobilePhone)
|
.methodName(Constants.ORDER_MODUL_NAME).operateAction("新增评价-"+orderAppraiseInfo.getId()).build();
|
mqUtil.sendApp(build);
|
return new Result<>("评价成功");
|
}
|
|
|
@PostMapping("/appraise/findWithCustomer")
|
@ApiOperation(value = "查看用户的评价")
|
public Result<OrderAppraiseInfo> findById(@Validated @RequestBody CommonDto commonDto, HttpServletRequest request){
|
OrderAppraiseInfo orderAppraiseInfo1 =orderAppraiseInfoService.findById(Convert.toLong(commonDto.getId()));
|
if(orderAppraiseInfo1==null){
|
return Result.error(-1,"评价不存在");
|
}
|
orderAppraiseInfoService.changeResouceAndTag(orderAppraiseInfo1);
|
return Result.success(orderAppraiseInfo1);
|
}
|
|
|
@PostMapping("/appraise/findWithReceiver")
|
@ApiOperation(value = "分页查看回收员评价")
|
public Result<OrderAppraiseInfoPageDto> page(HttpServletRequest request, @RequestBody SimplePage simplePage){
|
String receiver=getUserId(request);
|
OrderAppraiseInfoPageDto orderAppraiseInfoPageDto=new OrderAppraiseInfoPageDto();
|
PageHelper.startPage(simplePage.getPageNo(),simplePage.getPageSize());
|
List<OrderAppraiseInfo> orderAppraiseInfo1 =orderAppraiseInfoService.findByReceiver(receiver);
|
if(CollUtil.isNotEmpty(orderAppraiseInfo1)){
|
for (OrderAppraiseInfo appraiseInfo : orderAppraiseInfo1) {
|
//获取图片和标签
|
orderAppraiseInfoService.changeResouceAndTag(appraiseInfo);
|
String orderId = appraiseInfo.getOrderId();
|
OrderInfo orderInfo = orderMapper.selectByPrimaryKey(orderId);
|
appraiseInfo.setOrderInfo(orderInfo);
|
|
if(UserEnum.实名评价.getValue().equals(appraiseInfo.getAnonymousFlag().toString())){
|
String createUserId = appraiseInfo.getCreateUserId();
|
UserInfo userInfo = userMapper.selectByPrimaryKey(createUserId);
|
if(userInfo!=null){
|
UserInfo info=new UserInfo();
|
info.setNickName(userInfo.getNickName());
|
String replace = businessUtil.changeMobile(userInfo.getMobilePhone());
|
info.setMobilePhone(replace);
|
info.setAvatar(userInfo.getAvatar());
|
appraiseInfo.setUserInfo(info);
|
}
|
|
}
|
|
//评价内容解码
|
appraiseInfo.setContent(orderAppraiseInfoService.encodeOrDecode(appraiseInfo.getContent(),1));
|
}
|
}
|
PageInfo<OrderAppraiseInfo> pageInfo=new PageInfo<>(orderAppraiseInfo1==null?new ArrayList<>():orderAppraiseInfo1);
|
orderAppraiseInfoPageDto.setPageInfo(pageInfo);
|
|
//评价统计
|
OrderAppraiseStaticDto orderAppraiseStaticDto=new OrderAppraiseStaticDto();
|
OrderAppraiseInfo starInfo = orderAppraiseInfoService.findStarInfo(receiver,null);
|
BeanUtil.copyProperties(starInfo,orderAppraiseStaticDto);
|
orderAppraiseInfoPageDto.setOrderAppraiseStaticDto(orderAppraiseStaticDto);
|
|
return Result.success(orderAppraiseInfoPageDto);
|
}
|
|
|
@PostMapping( "/admin/front/xzxOrderAppraiseInfo/queryAppraiseInfolist.json")
|
@ResponseBody
|
@ApiOperation(value="评价列表(内附评价详情数据)", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query", name = "page", value = "页码", required = false, dataType = "int"),
|
@ApiImplicitParam(paramType="query", name = "limit", value = "每页条数", required = false, dataType = "int"),
|
@ApiImplicitParam(paramType="query", name = "name", value = "骑手姓名(或手机号)", required = false, dataType = "String")
|
})
|
public JsonResult<Map<String,Object>> queryAppraiseInfolist(@RequestBody XzxOrderAppraiseInfoModel model)
|
{
|
Map<String,Object> map = orderAppraiseInfoService.queryAppraiseInfolist(model);
|
return JsonResult.success(map);
|
}
|
|
@PostMapping( value = {"/admin/front/xzxOrderAppraiseInfo/queryReceiverTotalList.do"})
|
@ApiOperation(value="评价管理", notes="test: 仅0有正确返回")
|
public JsonResult<Map<String,Object>> queryReceiverTotalList(@RequestBody XzxOrderAppraiseInfoModel model) {
|
Map<String,Object> map = orderAppraiseInfoService.queryReceiverTotalList(model);
|
return JsonResult.success(map);
|
}
|
|
@PostMapping(value = {"/admin/front/xzxOrderAppraiseInfo/queryAppraiseInfoTotalList.json"})
|
@ApiOperation(value="评价统计", notes="test: 仅0有正确返回")
|
public JsonResult<AppraiseInfoTotalModel> queryAppraiseInfoTotalList(@RequestBody AppraiseInfoTotalModel model) {
|
AppraiseInfoTotalModel obj = orderAppraiseInfoService.queryAppraiseInfoTotalList(model);
|
return JsonResult.success(obj);
|
}
|
|
@PostMapping("/appraise/findTagByReceive")
|
@ApiOperation(value = "查看回收员所有标签")
|
@PassToken
|
public Result<List<QueryReceiverTotalListResDTO>> findTagByReceive(HttpServletRequest request, @RequestBody QueryReceiverTotalListDTO queryReceiverTotalListDTO){
|
List<QueryReceiverTotalListResDTO> list= orderAppraiseInfoService.findTagByReceive(queryReceiverTotalListDTO);
|
return Result.success(list);
|
}
|
}
|