You've already forked FrameTour-BE
退款列表、部分接口修改
This commit is contained in:
@ -0,0 +1,65 @@
|
||||
package com.ycwl.basic.controller.pc;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.model.mobile.order.RefundOrderReq;
|
||||
import com.ycwl.basic.model.pc.order.entity.OrderEntity;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderRespVO;
|
||||
import com.ycwl.basic.service.pc.OrderService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:longbinbin
|
||||
* @Date:2024/12/3 13:49
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/refund/v1")
|
||||
@Api(tags = "退款订单管理")
|
||||
public class RefundController {
|
||||
|
||||
@Autowired
|
||||
private OrderService orderService;
|
||||
|
||||
@ApiOperation(value = "审核退款", notes = "审核退款")
|
||||
@PostMapping("/auditRefundOrder")
|
||||
public ApiResponse<?> auditRefundOrder(@RequestBody RefundOrderReq refundOrderReq) {
|
||||
return orderService.auditRefundOrder(refundOrderReq);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("分页查询订单")
|
||||
@PostMapping("page")
|
||||
public ApiResponse<PageInfo<OrderRespVO>> pageQuery(@RequestBody OrderReqQuery query) {
|
||||
return orderService.refundPageQuery(query);
|
||||
}
|
||||
|
||||
@ApiOperation("订单列表查询")
|
||||
@PostMapping("list")
|
||||
public ApiResponse<List<OrderRespVO>> list(@RequestBody OrderReqQuery query) {
|
||||
return orderService.list(query);
|
||||
}
|
||||
@ApiOperation("订单详情查询")
|
||||
@GetMapping("detail/{id}")
|
||||
public ApiResponse<OrderRespVO> detail(@PathVariable("id") Long orderId) {
|
||||
return orderService.detail(orderId);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("订单备注")
|
||||
@PostMapping("remark/{id}")
|
||||
public ApiResponse<?> updateRemark(@PathVariable("id") Long orderId, @RequestBody OrderEntity query) {
|
||||
orderService.remarkOrder(orderId, query);
|
||||
return ApiResponse.success(null);
|
||||
}
|
||||
}
|
@ -36,4 +36,6 @@ public interface OrderMapper {
|
||||
List<OrderAppRespVO> appList(OrderAppPageReq orderReqQuery);
|
||||
|
||||
OrderAppRespVO appDetail(Long id);
|
||||
|
||||
List<OrderRespVO> refundList(OrderReqQuery query);
|
||||
}
|
||||
|
@ -1,10 +1,12 @@
|
||||
package com.ycwl.basic.mapper;
|
||||
|
||||
import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
|
||||
import com.ycwl.basic.model.pc.template.entity.TemplateConfigEntity;
|
||||
import com.ycwl.basic.model.pc.template.entity.TemplateEntity;
|
||||
import com.ycwl.basic.model.pc.template.req.TemplateReqQuery;
|
||||
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -30,4 +32,6 @@ public interface TemplateMapper {
|
||||
int deleteConfigByTemplateId(Long templateId);
|
||||
int deleteConfigById(Long id);
|
||||
List<TemplateEntity> listByScenicId(Long scenicId);
|
||||
|
||||
List<ContentPageVO> listFor(@Param("scenicId") Long scenicId, @Param("faceId") Long faceId);
|
||||
}
|
||||
|
@ -45,4 +45,5 @@ public class VideoGoodsDetailVO {
|
||||
private Integer isBuy;
|
||||
@ApiModelProperty("镜头数")
|
||||
private Integer lensNum;
|
||||
private Long faceId;
|
||||
}
|
||||
|
@ -15,20 +15,18 @@ import java.math.BigDecimal;
|
||||
public class ContentPageVO {
|
||||
@ApiModelProperty("内容名称")
|
||||
private String name;
|
||||
// @ApiModelProperty("景区id")
|
||||
// private Long scenicId;
|
||||
// @ApiModelProperty("景区名称")
|
||||
// private String scenicName;
|
||||
// @ApiModelProperty("经度")
|
||||
// private BigDecimal longitude;
|
||||
// @ApiModelProperty("纬度")
|
||||
// private BigDecimal latitude;
|
||||
@ApiModelProperty("景区id")
|
||||
private Long scenicId;
|
||||
@ApiModelProperty("景区名称")
|
||||
private String scenicName;
|
||||
@ApiModelProperty("内容类型 0模版 1:成片视频 2:源素材 ")
|
||||
private Integer contentType;
|
||||
@ApiModelProperty("源素材类型 1:视频 2:图片")
|
||||
private Integer sourceType;
|
||||
@ApiModelProperty("内容id contentType为0或1时才有值")
|
||||
private Long contentId;
|
||||
@ApiModelProperty("模版id")
|
||||
private Long templateId;
|
||||
@ApiModelProperty("模版封面图片 contentType为0或1时才有值")
|
||||
private String templateCoverUrl;
|
||||
@ApiModelProperty("是否购买:0未购买,1已购买")
|
||||
|
@ -22,6 +22,7 @@ public class TaskRespVO {
|
||||
*/
|
||||
@ApiModelProperty("执行任务的机器ID")
|
||||
private Long workerId;
|
||||
private Long faceId;
|
||||
/**
|
||||
* 用户ID,可以不和用户关联
|
||||
*/
|
||||
|
@ -84,4 +84,6 @@ public class TemplateRespVO {
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTime;
|
||||
private List<TemplateRespVO> children;
|
||||
private BigDecimal price;
|
||||
private Integer sort;
|
||||
}
|
||||
|
@ -133,46 +133,29 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
@Override
|
||||
public ApiResponse<List<ContentPageVO>> contentList(Long faceId) {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
//查询原素材
|
||||
List<ContentPageVO> contentList = new ArrayList<>();
|
||||
|
||||
FaceRespVO faceRespVO = faceMapper.getById(faceId);
|
||||
if (StringUtils.isBlank(faceRespVO.getMatchSampleIds())) {
|
||||
return ApiResponse.success(new ArrayList<>());
|
||||
}
|
||||
|
||||
HashMap<Long, String> videoMap = new HashMap<>();
|
||||
VideoReqQuery videoReqQuery = new VideoReqQuery();
|
||||
videoReqQuery.setFaceId(faceId);
|
||||
videoReqQuery.setMemberId(worker.getUserId());
|
||||
//查询成片vlog
|
||||
List<VideoRespVO> videoList = videoMapper.list(videoReqQuery);
|
||||
videoList.forEach(videoRespVO -> {
|
||||
ContentPageVO contentPageVO = new ContentPageVO();
|
||||
contentPageVO.setName(videoRespVO.getTemplateName());
|
||||
contentPageVO.setContentType(1);
|
||||
contentPageVO.setContentId(videoRespVO.getId());
|
||||
contentPageVO.setTemplateCoverUrl(videoRespVO.getTemplateCoverUrl());
|
||||
contentPageVO.setIsBuy(videoRespVO.getIsBuy());
|
||||
contentList.add(contentPageVO);
|
||||
videoMap.put(videoRespVO.getTemplateId(),"");
|
||||
});
|
||||
|
||||
TemplateReqQuery templateReqQuery = new TemplateReqQuery();
|
||||
templateReqQuery.setScenicId(faceRespVO.getScenicId());
|
||||
List<TemplateRespVO> list = templateMapper.list(templateReqQuery);
|
||||
list.forEach(templateRespVO -> {
|
||||
Long templateId = templateRespVO.getId();
|
||||
if (!videoMap.containsKey(templateId)) {
|
||||
ContentPageVO contentPageVO = new ContentPageVO();
|
||||
contentPageVO.setName(templateRespVO.getName());
|
||||
contentPageVO.setContentType(0);
|
||||
contentPageVO.setContentId(templateId);
|
||||
contentPageVO.setTemplateCoverUrl(templateRespVO.getCoverUrl());
|
||||
contentList.add(contentPageVO);
|
||||
List<ContentPageVO> contentList = templateMapper.listFor(faceRespVO.getScenicId(), faceId);
|
||||
contentList.forEach(contentPageVO -> {
|
||||
if (contentPageVO.getContentType() == 1) {
|
||||
VideoReqQuery videoReqQuery = new VideoReqQuery();
|
||||
videoReqQuery.setScenicId(contentPageVO.getScenicId());
|
||||
videoReqQuery.setTemplateId(contentPageVO.getTemplateId());
|
||||
videoReqQuery.setMemberId(worker.getUserId());
|
||||
List<VideoRespVO> videoList = videoMapper.list(videoReqQuery);
|
||||
if (!videoList.isEmpty()) {
|
||||
contentPageVO.setContentId(videoList.get(0).getId());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
SourceReqQuery sourceReqQuery = new SourceReqQuery();
|
||||
videoReqQuery.setScenicId(faceRespVO.getScenicId());
|
||||
videoReqQuery.setMemberId(worker.getUserId());
|
||||
sourceReqQuery.setScenicId(faceRespVO.getScenicId());
|
||||
sourceReqQuery.setMemberId(worker.getUserId());
|
||||
//查询源素材
|
||||
List<SourceRespVO> sourceList = sourceMapper.listGroupByType(sourceReqQuery);
|
||||
sourceList.forEach(sourceRespVO -> {
|
||||
|
@ -1,5 +1,7 @@
|
||||
package com.ycwl.basic.service.impl.mobile;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ycwl.basic.constant.BaseContextHandler;
|
||||
import com.ycwl.basic.mapper.*;
|
||||
import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
@ -10,12 +12,14 @@ import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
||||
import com.ycwl.basic.model.pc.source.req.SourceReqQuery;
|
||||
import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
|
||||
import com.ycwl.basic.model.pc.task.req.TaskReqQuery;
|
||||
import com.ycwl.basic.model.pc.task.resp.TaskRespVO;
|
||||
import com.ycwl.basic.model.pc.video.req.VideoReqQuery;
|
||||
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
|
||||
import com.ycwl.basic.service.mobile.GoodsService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.DateUtils;
|
||||
import com.ycwl.basic.utils.JwtTokenUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -23,6 +27,7 @@ import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -197,8 +202,16 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
DecimalFormat df = new DecimalFormat("0.00");
|
||||
goodsDetailVO.setPrice(templatePrice==null?"":df.format(templatePrice.setScale(2, RoundingMode.HALF_UP)));
|
||||
goodsDetailVO.setIsBuy(videoRespVO.getIsBuy());
|
||||
ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(videoRespVO.getScenicId(), -1L);
|
||||
goodsDetailVO.setLensNum(scenicDeviceCountVO.getTotalDeviceCount());
|
||||
TaskRespVO taskRespVO = taskMapper.getById(videoRespVO.getTaskId());
|
||||
JSONObject paramJson = JSON.parseObject(taskRespVO.getTaskParams());
|
||||
long deviceCount;
|
||||
if (paramJson == null) {
|
||||
deviceCount = 1;
|
||||
} else {
|
||||
deviceCount = paramJson.keySet().stream().filter(StringUtils::isNumeric).count();
|
||||
}
|
||||
goodsDetailVO.setLensNum((int) deviceCount);
|
||||
goodsDetailVO.setFaceId(taskRespVO.getFaceId());
|
||||
return ApiResponse.success(goodsDetailVO);
|
||||
}
|
||||
|
||||
|
@ -342,4 +342,12 @@ public class OrderServiceImpl implements OrderService {
|
||||
orderOperationMapper.add(orderOperationEntity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<OrderRespVO>> refundPageQuery(OrderReqQuery query) {
|
||||
PageHelper.startPage(query.getPageNum(), query.getPageSize());
|
||||
List<OrderRespVO> list = orderMapper.refundList(query);
|
||||
PageInfo<OrderRespVO> pageInfo = new PageInfo<>(list);
|
||||
return ApiResponse.success(pageInfo);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -57,4 +57,6 @@ public interface OrderService {
|
||||
ApiResponse<?> auditRefundOrder(RefundOrderReq refundOrderReq);
|
||||
|
||||
void remarkOrder(Long orderId, OrderEntity query);
|
||||
|
||||
ApiResponse<PageInfo<OrderRespVO>> refundPageQuery(OrderReqQuery query);
|
||||
}
|
||||
|
Reference in New Issue
Block a user