You've already forked FrameTour-BE
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@ -1,13 +1,14 @@
|
||||
package com.ycwl.basic.controller.mobile;
|
||||
|
||||
import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||
import com.ycwl.basic.service.pc.FaceService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.JwtTokenUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
@ -23,14 +24,28 @@ AppFaceController {
|
||||
@Autowired
|
||||
private FaceService faceService;
|
||||
|
||||
/**
|
||||
* 1、上传人脸照片
|
||||
* 2、人脸照片有效性校验
|
||||
* 3、校验失败,删除,提示重新上传
|
||||
* 4、校验成功,保存用户人脸信息,将访问人脸照片访问地址响应给前端
|
||||
* @param file
|
||||
* @param scenicId
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("人脸照片上传")
|
||||
@PostMapping("/faceUPload")
|
||||
public ApiResponse faceUPload(MultipartFile file) {
|
||||
//1、上传人脸照片
|
||||
//2、人脸照片有效性校验
|
||||
//3、校验失败,删除,提示重新上传
|
||||
//4、校验成功,保存用户人脸信息,将访问人脸照片访问地址响应给前端
|
||||
public ApiResponse faceUPload(@RequestParam("file")MultipartFile file, @RequestParam("scenicId") Long scenicId) {
|
||||
|
||||
return faceService.faceUPload(file);
|
||||
return faceService.faceUPload(file,scenicId);
|
||||
}
|
||||
|
||||
@GetMapping("/getFaceData")
|
||||
public ApiResponse<FaceRespVO> getFaceData() {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
return faceService.getFaceByMemberId(worker.getUserId());
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,12 +1,11 @@
|
||||
package com.ycwl.basic.controller.mobile;
|
||||
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsReqQuery;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPageVO;
|
||||
import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
import com.ycwl.basic.model.mobile.goods.*;
|
||||
import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
|
||||
import com.ycwl.basic.service.mobile.GoodsService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.JwtTokenUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -42,7 +41,7 @@ public class AppGoodsController {
|
||||
|
||||
@ApiOperation("成片vlog商品详情")
|
||||
@GetMapping("/getVideoGoodsDetail/{goodId}")
|
||||
public ApiResponse<GoodsDetailVO> videoGoodsDetail(@PathVariable("goodId") Long goodsId) {
|
||||
public ApiResponse<VideoGoodsDetailVO> videoGoodsDetail(@PathVariable("goodId") Long goodsId) {
|
||||
return goodsService.videoGoodsDetail(goodsId);
|
||||
}
|
||||
|
||||
@ -51,4 +50,30 @@ public class AppGoodsController {
|
||||
public ApiResponse<BigDecimal> queryPrice(@RequestBody GoodsPriceQueryReq queryPriceData) {
|
||||
return goodsService.queryPrice(queryPriceData);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户当前景区的视频合成任务状态
|
||||
* @param scenicId 景区id
|
||||
* @return 1 合成中 2 合成成功
|
||||
*/
|
||||
@ApiOperation("查询用户当前景区的整体视频合成任务状态 1 合成中 2 合成成功 ")
|
||||
@GetMapping("/getTaskStatus/{scenicId}")
|
||||
public ApiResponse<Integer> getAllTaskStatus(@PathVariable("scenicId") Long scenicId) {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
return goodsService.getAllTaskStatus(worker.getUserId(),scenicId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户当前景区的具体模版视频合成任务状态
|
||||
* @param templateId 模版id
|
||||
* @return 1 合成中 2 合成成功
|
||||
*/
|
||||
@ApiOperation("查询用户当前景区的具体模版视频合成任务状态 1 合成中 2 合成成功 ")
|
||||
@GetMapping("/getTemplateTaskStatus/{templateId}")
|
||||
public ApiResponse<Integer> getTemplateTaskStatus(@PathVariable("templateId") Long templateId) {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
return goodsService.getTemplateTaskStatus(worker.getUserId(),templateId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.ycwl.basic.controller.mobile;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.annotation.IgnoreToken;
|
||||
import com.ycwl.basic.constant.BaseContextHandler;
|
||||
import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
|
||||
import com.ycwl.basic.model.mobile.order.RefundOrderReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderAddOrUpdateReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
|
||||
@ -29,8 +30,7 @@ public class AppOrderController {
|
||||
|
||||
@ApiOperation("用户端订单列表查询")
|
||||
@PostMapping("/page")
|
||||
@IgnoreToken
|
||||
public ApiResponse<PageInfo<OrderAppRespVO>> pageQuery(@RequestBody OrderReqQuery orderReqQuery) {
|
||||
public ApiResponse<PageInfo<OrderAppRespVO>> pageQuery(@RequestBody OrderAppPageReq orderReqQuery) {
|
||||
String userId = BaseContextHandler.getUserId();
|
||||
orderReqQuery.setMemberId(Long.valueOf(userId));
|
||||
return orderService.appPageQuery(orderReqQuery);
|
||||
@ -38,7 +38,6 @@ public class AppOrderController {
|
||||
|
||||
@ApiOperation("用户端订单详情查询")
|
||||
@GetMapping("getOrderDetails/{id}")
|
||||
@IgnoreToken
|
||||
public ApiResponse<OrderAppRespVO> getOrderDetails(@PathVariable("id") Long id) {
|
||||
return orderService.appDetail(id);
|
||||
}
|
||||
|
@ -1,8 +1,11 @@
|
||||
package com.ycwl.basic.controller.mobile;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPageVO;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsReqQuery;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicAppVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
|
||||
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
||||
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
||||
import com.ycwl.basic.service.mobile.AppScenicService;
|
||||
@ -13,6 +16,8 @@ import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:longbinbin
|
||||
* @Date:2024/12/5 10:22
|
||||
@ -42,5 +47,11 @@ public class AppScenicController {
|
||||
return appScenicService.deviceCountByScenicId(scenicId);
|
||||
}
|
||||
|
||||
@ApiOperation("景区视频源素材列表")
|
||||
@GetMapping("/contentList/{scenicId}")
|
||||
public ApiResponse<List<ContentPageVO>> contentList(@PathVariable Long scenicId) {
|
||||
return appScenicService.contentList(scenicId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ 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;
|
||||
@ -49,4 +50,11 @@ public class OrderController {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ public class AuthInterceptor extends HandlerInterceptorAdapter {
|
||||
}
|
||||
BaseContextHandler.setToken(token);
|
||||
BaseContextHandler.setName(jwtInfo.getName());
|
||||
BaseContextHandler.setUserId(jwtInfo.getUserId());
|
||||
BaseContextHandler.setUserId(String.valueOf(jwtInfo.getUserId()));
|
||||
BaseContextHandler.setAccount(jwtInfo.getAccount());
|
||||
BaseContextHandler.setPhone(jwtInfo.getPhone());
|
||||
BaseContextHandler.setRoleId(jwtInfo.getRoleId());
|
||||
|
@ -6,6 +6,7 @@ import com.ycwl.basic.model.pc.device.req.DeviceAddOrUpdateReq;
|
||||
import com.ycwl.basic.model.pc.device.req.DeviceReqQuery;
|
||||
import com.ycwl.basic.model.pc.device.resp.DeviceRespVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -25,5 +26,5 @@ public interface DeviceMapper {
|
||||
|
||||
List<DeviceRespVO> listByScenicId(Long scenicId);
|
||||
|
||||
ScenicDeviceCountVO deviceCountByScenicId(Long scenicId, String userId);
|
||||
ScenicDeviceCountVO deviceCountByScenicId(@Param("scenicId") Long scenicId,@Param("userId") Long userId);
|
||||
}
|
||||
|
@ -21,4 +21,6 @@ public interface FaceMapper {
|
||||
int deleteById(Long id);
|
||||
int deleteByIds(@Param("list") List<Long> ids);
|
||||
int update(FaceEntity face);
|
||||
|
||||
FaceRespVO getByMemberId(Long userId);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.ycwl.basic.mapper.pc;
|
||||
|
||||
import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
|
||||
import com.ycwl.basic.model.pc.order.entity.OrderItemEntity;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderAddOrUpdateReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
|
||||
@ -31,7 +32,7 @@ public interface OrderMapper {
|
||||
|
||||
int getOrderCount(OrderReqQuery query);
|
||||
|
||||
List<OrderAppRespVO> appList(OrderReqQuery orderReqQuery);
|
||||
List<OrderAppRespVO> appList(OrderAppPageReq orderReqQuery);
|
||||
|
||||
OrderAppRespVO appDetail(Long id);
|
||||
}
|
||||
|
@ -0,0 +1,12 @@
|
||||
package com.ycwl.basic.mapper.pc;
|
||||
|
||||
import com.ycwl.basic.model.pc.orderOp.entity.OrderOperationEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface OrderOperationMapper {
|
||||
int add(OrderOperationEntity order);
|
||||
List<OrderOperationEntity> list(Long orderId);
|
||||
}
|
@ -3,6 +3,7 @@ package com.ycwl.basic.mapper.pc;
|
||||
import com.ycwl.basic.model.pc.task.entity.TaskEntity;
|
||||
import com.ycwl.basic.model.pc.task.req.TaskReqQuery;
|
||||
import com.ycwl.basic.model.pc.task.resp.TaskRespVO;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@ -47,4 +48,6 @@ public interface TaskMapper {
|
||||
|
||||
void assignToWorker(@Param("taskId") Long taskId, @Param("workerId") Long workerId);
|
||||
void deassign(@Param("taskId") Long taskId);
|
||||
|
||||
int countTask(TaskReqQuery taskReqQuery);
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ public class JwtInfo implements Serializable {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private String userId;
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 角色ID
|
||||
|
@ -39,4 +39,8 @@ public class GoodsDetailVO {
|
||||
private String videoUrl;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
@ApiModelProperty("价格")
|
||||
private BigDecimal price;
|
||||
@ApiModelProperty("是否已购买 0否 1是")
|
||||
private Integer isBuy;
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ import lombok.Data;
|
||||
public class GoodsReqQuery {
|
||||
@ApiModelProperty("是否已购买 0否 1是")
|
||||
private Integer isBuy;
|
||||
@ApiModelProperty("用户id")
|
||||
@ApiModelProperty(value = "用户id", hidden = true)
|
||||
private Long memberId;
|
||||
@ApiModelProperty("景区id")
|
||||
private Long scenicId;
|
||||
|
@ -0,0 +1,48 @@
|
||||
package com.ycwl.basic.model.mobile.goods;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author:longbinbin
|
||||
* @Date:2024/12/5 15:10
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("vlog商品详情")
|
||||
public class VideoGoodsDetailVO {
|
||||
@ApiModelProperty("商品名称")
|
||||
private String goodsName;
|
||||
@ApiModelProperty("景区id")
|
||||
private Long scenicId;
|
||||
@ApiModelProperty("景区名称")
|
||||
private String scenicName;
|
||||
@ApiModelProperty("经度")
|
||||
private BigDecimal longitude;
|
||||
@ApiModelProperty("纬度")
|
||||
private BigDecimal latitude;
|
||||
@ApiModelProperty("商品类型 1:成片视频 2:源素材")
|
||||
private Integer goodsType;
|
||||
@ApiModelProperty("源素材类型 1:视频 2:图片")
|
||||
private Integer sourceType;
|
||||
@ApiModelProperty("商品id goodsType=1时为videoId,goodsType=2时为sourceId")
|
||||
private Long goodsId;
|
||||
@ApiModelProperty("模版封面图片")
|
||||
private String templateCoverUrl;
|
||||
@ApiModelProperty("图片文件存储地址")
|
||||
private String url;
|
||||
@ApiModelProperty("视频文件存储地址")
|
||||
private String videoUrl;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
@ApiModelProperty("价格")
|
||||
private BigDecimal price;
|
||||
@ApiModelProperty("是否已购买 0否 1是")
|
||||
private Integer isBuy;
|
||||
@ApiModelProperty("镜头数")
|
||||
private Integer lensNum;
|
||||
}
|
@ -0,0 +1,87 @@
|
||||
package com.ycwl.basic.model.mobile.order;
|
||||
|
||||
import com.ycwl.basic.model.common.BaseQueryParameterReq;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author:longbinbin
|
||||
* @Date:2024/11/29 16:33
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "移动端订单查询对象")
|
||||
public class OrderAppPageReq extends BaseQueryParameterReq {
|
||||
@ApiModelProperty(value = "用户id",hidden = true)
|
||||
private Long memberId;
|
||||
// /**
|
||||
// * 微信openId
|
||||
// */
|
||||
// @ApiModelProperty("微信openId")
|
||||
// private Long openId;
|
||||
// /**
|
||||
// * 价格
|
||||
// */
|
||||
// @ApiModelProperty("价格")
|
||||
// private BigDecimal price;
|
||||
// /**
|
||||
// * 实际支付价格
|
||||
// */
|
||||
// @ApiModelProperty("实际支付价格")
|
||||
// private BigDecimal payPrice;
|
||||
// /**
|
||||
// * 推客id
|
||||
// */
|
||||
// @ApiModelProperty("推客id")
|
||||
// private Long brokerId;
|
||||
// /**
|
||||
// * 推客优惠码
|
||||
// */
|
||||
// @ApiModelProperty("推客优惠码")
|
||||
// private String promoCode;
|
||||
// /**
|
||||
// * 退款原因
|
||||
// */
|
||||
// @ApiModelProperty("退款原因")
|
||||
// private String refundReason;
|
||||
// /**
|
||||
// * 退款状态,0未提出,1已通过,2待审核
|
||||
// */
|
||||
// @ApiModelProperty("退款状态,0未提出,1已通过,2待审核")
|
||||
// private Integer refundStatus;
|
||||
// /**
|
||||
// * 状态,0未支付,1已支付,2已退款,9已取消
|
||||
// */
|
||||
// @ApiModelProperty("状态,0未支付,1已支付,2已退款,9已取消")
|
||||
// private Integer status;
|
||||
// /**
|
||||
// * 订单创建时间
|
||||
// */
|
||||
// @ApiModelProperty("订单创建时间")
|
||||
// private Date startCreateTime;
|
||||
// private Date endCreateTime;
|
||||
// /**
|
||||
// * 订单支付时间
|
||||
// */
|
||||
// @ApiModelProperty("订单支付时间")
|
||||
// private Date startPayTime;
|
||||
// private Date endPayTime;
|
||||
// /**
|
||||
// * 订单取消时间
|
||||
// */
|
||||
// @ApiModelProperty("订单取消时间")
|
||||
// private Date startCancelTime;
|
||||
// private Date endCancelTime;
|
||||
// /**
|
||||
// * 订单退款时间
|
||||
// */
|
||||
// @ApiModelProperty("订单退款时间")
|
||||
// private Date startRefundTime;
|
||||
// private Date endRefundTime;
|
||||
|
||||
@ApiModelProperty("订单类型 0成片(vlog) 1原片 2照片")
|
||||
private Integer type;
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package com.ycwl.basic.model.mobile.scenic.content;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @Author:longbinbin
|
||||
* @Date:2024/12/5 15:10
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("景区内容(成片、待成片模版、源素材)列表响应信息")
|
||||
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("内容类型 0模版 1:成片视频 2:源素材 ")
|
||||
private Integer contentType;
|
||||
@ApiModelProperty("源素材类型 1:视频 2:图片")
|
||||
private Integer sourceType;
|
||||
@ApiModelProperty("内容id contentType为0或1时才有值")
|
||||
private Long contentId;
|
||||
@ApiModelProperty("模版封面图片 contentType为0或1时才有值")
|
||||
private String templateCoverUrl;
|
||||
}
|
@ -4,7 +4,7 @@ import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LoginEntity {
|
||||
private String staffId;
|
||||
private Long staffId;
|
||||
private String staffName;
|
||||
private String account;
|
||||
private String password;
|
||||
|
@ -27,6 +27,8 @@ public class OrderAddOrUpdateReq {
|
||||
*/
|
||||
@ApiModelProperty("微信openId")
|
||||
private Long openId;
|
||||
@ApiModelProperty("景区id")
|
||||
private Long scenicId;
|
||||
/**
|
||||
* 价格
|
||||
*/
|
||||
@ -52,6 +54,8 @@ public class OrderAddOrUpdateReq {
|
||||
*/
|
||||
@ApiModelProperty("推客优惠码")
|
||||
private String promoCode;
|
||||
@ApiModelProperty("订单商品类型 1成片,2源素材")
|
||||
private Integer goodsType;
|
||||
/**
|
||||
* 退款原因
|
||||
*/
|
||||
|
@ -83,6 +83,15 @@ public class OrderAppRespVO {
|
||||
private String goodsName;
|
||||
@ApiModelProperty("拍摄时间")
|
||||
private Date shootingTime;
|
||||
/**
|
||||
* 商品类型,0其他,1成片,2原片,3模板成片
|
||||
*/
|
||||
@ApiModelProperty("商品类型,1成片,2源素材")
|
||||
private Integer goodsType;
|
||||
@ApiModelProperty("封面图片(来自模版封面图片)")
|
||||
private String coverUrl;
|
||||
@ApiModelProperty("原素材类型:1视频,2图像")
|
||||
private Integer sourceType;
|
||||
@ApiModelProperty("订单明细")
|
||||
private List<OrderItemVO> orderItemList;
|
||||
}
|
||||
|
@ -19,10 +19,7 @@ public class OrderItemVO {
|
||||
*/
|
||||
@ApiModelProperty("订单id")
|
||||
private Long orderId;
|
||||
/**
|
||||
* 商品类型,0其他,1成片,2原片,3模板成片
|
||||
*/
|
||||
@ApiModelProperty("商品类型,0其他,1成片,2源素材")
|
||||
@ApiModelProperty("商品类型,1成片,2源素材")
|
||||
private Integer goodsType;
|
||||
/**
|
||||
* 商品ID,goods_type=1关联video.id,=2关联source.id,=3关联template.id
|
||||
|
@ -53,6 +53,8 @@ public class OrderRespVO {
|
||||
*/
|
||||
@ApiModelProperty("推客优惠码")
|
||||
private String promoCode;
|
||||
@ApiModelProperty("订单商品类型 1成片,2源素材")
|
||||
private Integer goodsType;
|
||||
/**
|
||||
* 退款原因
|
||||
*/
|
||||
|
@ -0,0 +1,18 @@
|
||||
package com.ycwl.basic.model.pc.orderOp.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@TableName("order_operation")
|
||||
public class OrderOperationEntity {
|
||||
private Long id;
|
||||
private Long orderId;
|
||||
private String type;
|
||||
private String remark;
|
||||
private String user;
|
||||
private String userId;
|
||||
private Date createTime;
|
||||
}
|
@ -19,6 +19,8 @@ import java.util.Date;
|
||||
@Data
|
||||
@ApiModel("模版查询请求类")
|
||||
public class TemplateReqQuery extends BaseQueryParameterReq {
|
||||
@ApiModelProperty("景区id")
|
||||
private Long scenicId;
|
||||
/**
|
||||
* 模版名称
|
||||
*/
|
||||
|
@ -98,15 +98,15 @@ public class AppMemberServiceImpl implements AppMemberService {
|
||||
List<MemberRespVO> list = memberMapper.list(memberReqQuery);
|
||||
if (list.isEmpty()) {
|
||||
MemberEntity memberEntity = new MemberEntity();
|
||||
BeanCopierUtils.copyProperties(userInfoDTO, memberEntity);
|
||||
memberEntity.setId(SnowFlakeUtil.getLongId());
|
||||
memberEntity.setOpenId(openId.toString());
|
||||
BeanCopierUtils.copyProperties(userInfoDTO, memberEntity);
|
||||
memberMapper.add(memberEntity);
|
||||
BeanCopierUtils.copyProperties(memberEntity, memberRespVO);
|
||||
} else {
|
||||
BeanCopierUtils.copyProperties(list.get(NumberConstant.ZERO), memberRespVO);
|
||||
}
|
||||
jwtInfo.setUserId(memberRespVO.getId().toString());
|
||||
jwtInfo.setUserId(memberRespVO.getId());
|
||||
jwtInfo.setName(memberRespVO.getNickname());
|
||||
jwtInfo.setPhone(memberRespVO.getPhone());
|
||||
|
||||
|
@ -5,16 +5,26 @@ import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.constant.BaseContextHandler;
|
||||
import com.ycwl.basic.constant.NumberConstant;
|
||||
import com.ycwl.basic.mapper.pc.*;
|
||||
import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPageVO;
|
||||
import com.ycwl.basic.model.mobile.index.TopStateResp;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicAppVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicIndexVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
|
||||
import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
|
||||
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
||||
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.template.req.TemplateReqQuery;
|
||||
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
||||
import com.ycwl.basic.model.pc.video.req.VideoReqQuery;
|
||||
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
|
||||
import com.ycwl.basic.service.mobile.AppScenicService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.JwtTokenUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -22,6 +32,8 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -42,6 +54,10 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
private SourceMapper sourceMapper;
|
||||
@Autowired
|
||||
private TaskMapper taskMapper;
|
||||
@Autowired
|
||||
private VideoMapper videoMapper;
|
||||
@Autowired
|
||||
private TemplateMapper templateMapper;
|
||||
|
||||
@Value("${face.score}")
|
||||
private BigDecimal faceScore;
|
||||
@ -56,8 +72,8 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
|
||||
@Override
|
||||
public ApiResponse<ScenicDeviceCountVO> deviceCountByScenicId(Long scenicId) {
|
||||
String userId = BaseContextHandler.getUserId();
|
||||
ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(scenicId, userId);
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(scenicId, worker.getUserId());
|
||||
return ApiResponse.success(scenicDeviceCountVO);
|
||||
}
|
||||
|
||||
@ -103,4 +119,62 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
|
||||
return ApiResponse.success(topStateResp);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<List<ContentPageVO>> contentList(Long scenicId) {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
//查询原素材
|
||||
List<ContentPageVO> contentList = new ArrayList<>();
|
||||
|
||||
HashMap<Long, String> videoMap = new HashMap<>();
|
||||
VideoReqQuery videoReqQuery = new VideoReqQuery();
|
||||
videoReqQuery.setScenicId(scenicId);
|
||||
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());
|
||||
contentList.add(contentPageVO);
|
||||
videoMap.put(videoRespVO.getTemplateId(),"");
|
||||
});
|
||||
|
||||
TemplateReqQuery templateReqQuery = new TemplateReqQuery();
|
||||
templateReqQuery.setScenicId(scenicId);
|
||||
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);
|
||||
}
|
||||
});
|
||||
|
||||
SourceReqQuery sourceReqQuery = new SourceReqQuery();
|
||||
videoReqQuery.setScenicId(scenicId);
|
||||
videoReqQuery.setMemberId(worker.getUserId());
|
||||
//查询源素材
|
||||
List<SourceRespVO> sourceList = sourceMapper.listGroupByType(sourceReqQuery);
|
||||
sourceList.forEach(sourceRespVO -> {
|
||||
ContentPageVO contentPageVO = new ContentPageVO();
|
||||
Integer type = sourceRespVO.getType();
|
||||
if(type==1){
|
||||
contentPageVO.setName("原片集");
|
||||
}else {
|
||||
contentPageVO.setName("照片集");
|
||||
}
|
||||
contentPageVO.setContentType(2);
|
||||
contentPageVO.setSourceType(type);
|
||||
contentList.add(contentPageVO);
|
||||
});
|
||||
|
||||
return ApiResponse.success(contentList);
|
||||
}
|
||||
}
|
||||
|
@ -1,20 +1,19 @@
|
||||
package com.ycwl.basic.service.impl.mobile;
|
||||
|
||||
import com.ycwl.basic.mapper.pc.ScenicMapper;
|
||||
import com.ycwl.basic.mapper.pc.SourceMapper;
|
||||
import com.ycwl.basic.mapper.pc.VideoMapper;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsReqQuery;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPageVO;
|
||||
import com.ycwl.basic.mapper.pc.*;
|
||||
import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
import com.ycwl.basic.model.mobile.goods.*;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
|
||||
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.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.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -33,15 +32,20 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
private SourceMapper sourceMapper;
|
||||
@Autowired
|
||||
private ScenicMapper scenicMapper;
|
||||
@Autowired
|
||||
private TaskMapper taskMapper;
|
||||
@Autowired
|
||||
private DeviceMapper deviceMapper;
|
||||
|
||||
public ApiResponse<List<GoodsPageVO>> goodsList(GoodsReqQuery query) {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
//查询原素材
|
||||
List<GoodsPageVO> goodsList = new ArrayList<>();
|
||||
|
||||
VideoReqQuery videoReqQuery = new VideoReqQuery();
|
||||
videoReqQuery.setScenicId(query.getScenicId());
|
||||
videoReqQuery.setIsBuy(query.getIsBuy());
|
||||
videoReqQuery.setMemberId(query.getMemberId());
|
||||
videoReqQuery.setMemberId(worker.getUserId());
|
||||
//查询成片vlog
|
||||
List<VideoRespVO> videoList = videoMapper.list(videoReqQuery);
|
||||
videoList.forEach(videoRespVO -> {
|
||||
@ -164,9 +168,12 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<GoodsDetailVO> videoGoodsDetail(Long goodsId) {
|
||||
GoodsDetailVO goodsDetailVO = new GoodsDetailVO();
|
||||
public ApiResponse<VideoGoodsDetailVO> videoGoodsDetail(Long goodsId) {
|
||||
VideoGoodsDetailVO goodsDetailVO = new VideoGoodsDetailVO();
|
||||
VideoRespVO videoRespVO = videoMapper.getById(goodsId);
|
||||
if(videoRespVO==null){
|
||||
return ApiResponse.fail("该vlog不存在或已失效");
|
||||
}
|
||||
goodsDetailVO.setGoodsName(videoRespVO.getTemplateName());
|
||||
goodsDetailVO.setScenicId(videoRespVO.getScenicId());
|
||||
goodsDetailVO.setScenicName(videoRespVO.getScenicName());
|
||||
@ -177,6 +184,44 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
goodsDetailVO.setVideoUrl(videoRespVO.getVideoUrl());
|
||||
goodsDetailVO.setTemplateCoverUrl(videoRespVO.getTemplateCoverUrl());
|
||||
goodsDetailVO.setCreateTime(videoRespVO.getCreateTime());
|
||||
goodsDetailVO.setPrice(videoRespVO.getTemplatePrice());
|
||||
goodsDetailVO.setIsBuy(videoRespVO.getIsBuy());
|
||||
ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(videoRespVO.getScenicId(), -1L);
|
||||
goodsDetailVO.setLensNum(scenicDeviceCountVO.getTotalDeviceCount());
|
||||
return ApiResponse.success(goodsDetailVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户当前景区的视频合成任务状态
|
||||
* @param scenicId 景区id
|
||||
* @return 1 合成中 2 合成成功
|
||||
*/
|
||||
@Override
|
||||
public ApiResponse<Integer> getAllTaskStatus(Long userId, Long scenicId) {
|
||||
TaskReqQuery taskReqQuery = new TaskReqQuery();
|
||||
taskReqQuery.setMemberId(userId);
|
||||
taskReqQuery.setScenicId(scenicId);
|
||||
taskReqQuery.setStatus(2);
|
||||
int count=taskMapper.countTask(taskReqQuery);
|
||||
if(count>0){
|
||||
return ApiResponse.success(1);
|
||||
}else {
|
||||
return ApiResponse.success(2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<Integer> getTemplateTaskStatus(Long userId, Long templateId) {
|
||||
TaskReqQuery taskReqQuery = new TaskReqQuery();
|
||||
taskReqQuery.setMemberId(userId);
|
||||
taskReqQuery.setScenicId(templateId);
|
||||
taskReqQuery.setStatus(2);
|
||||
int count=taskMapper.countTask(taskReqQuery);
|
||||
if(count>0){
|
||||
return ApiResponse.success(1);
|
||||
}else {
|
||||
return ApiResponse.success(2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.ycwl.basic.service.impl.pc;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.constant.BaseContextHandler;
|
||||
@ -9,11 +10,16 @@ import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
import com.ycwl.basic.model.pc.face.entity.FaceEntity;
|
||||
import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
|
||||
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||
import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
|
||||
import com.ycwl.basic.service.impl.task.TaskFaceServiceImpl;
|
||||
import com.ycwl.basic.service.pc.FaceService;
|
||||
import com.ycwl.basic.service.task.TaskFaceService;
|
||||
import com.ycwl.basic.utils.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -32,6 +38,11 @@ public class FaceServiceImpl implements FaceService {
|
||||
private FaceMapper faceMapper;
|
||||
@Autowired
|
||||
private OssUtil ossUtil;
|
||||
@Autowired
|
||||
private TaskFaceService faceService;
|
||||
|
||||
@Value("${face.score}")
|
||||
private float faceScore;
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<FaceRespVO>> pageQuery(FaceReqQuery faceReqQuery) {
|
||||
@ -89,20 +100,21 @@ public class FaceServiceImpl implements FaceService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse faceUPload(MultipartFile file) {
|
||||
//TODO 获取用户信息
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
public ApiResponse faceUPload(MultipartFile file,Long scenicId) {
|
||||
//获取用户id
|
||||
String userId = BaseContextHandler.getUserId();
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
log.info("当前登录用户信息:{}",worker);
|
||||
|
||||
//1、上传人脸照片
|
||||
String facaeUrl = uploadFileALiOss(file, userId);
|
||||
//TODO 2、人脸照片有效性校验
|
||||
Boolean isValid=true;
|
||||
// 2、查看人脸是否已上传
|
||||
FaceRespVO faceRespVO=faceMapper.getByMemberId(Long.parseLong(userId));
|
||||
|
||||
|
||||
|
||||
if(isValid){
|
||||
//校验成功,保存用户人脸信息,将访问人脸照片访问地址响应给前端
|
||||
|
||||
FaceEntity faceEntity = new FaceEntity();
|
||||
FaceEntity faceEntity = new FaceEntity();
|
||||
if (faceRespVO==null) {
|
||||
//新增人脸
|
||||
faceEntity.setId(SnowFlakeUtil.getLongId());
|
||||
faceEntity.setMemberId(Long.parseLong(userId));
|
||||
faceEntity.setFaceUrl(facaeUrl);
|
||||
@ -112,14 +124,31 @@ public class FaceServiceImpl implements FaceService {
|
||||
// faceEntity.setMatchResult();
|
||||
//TODO 人脸数据存库
|
||||
faceMapper.add(faceEntity);
|
||||
|
||||
return ApiResponse.success(facaeUrl);
|
||||
}else {
|
||||
//2、更新人脸
|
||||
faceRespVO.setFaceUrl(facaeUrl);
|
||||
BeanUtil.copyProperties(faceRespVO,faceEntity);
|
||||
faceMapper.update(faceEntity);
|
||||
}
|
||||
SearchFaceRespVo faceRespVo = faceService.searchFace(scenicId, faceEntity.getId());
|
||||
float score = faceRespVo.getScore();
|
||||
if (score<faceScore) {
|
||||
//校验失败,删除,提示重新上传
|
||||
ossUtil.deleteFile(facaeUrl);
|
||||
|
||||
throw new BaseException("人脸照片校验失败,请重新上传");
|
||||
}else {
|
||||
//校验成功,保存用户人脸信息,将访问人脸照片访问地址响应给前端
|
||||
return ApiResponse.success(facaeUrl);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<FaceRespVO> getFaceByMemberId(Long memberId) {
|
||||
return ApiResponse.success(faceMapper.getByMemberId(memberId));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3,6 +3,7 @@ package com.ycwl.basic.service.impl.pc;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.constant.BaseContextHandler;
|
||||
import com.ycwl.basic.constant.NumberConstant;
|
||||
import com.ycwl.basic.enums.BizCodeEnum;
|
||||
import com.ycwl.basic.enums.GoodsTypeEnum;
|
||||
@ -10,12 +11,15 @@ import com.ycwl.basic.enums.OrderStateEnum;
|
||||
import com.ycwl.basic.enums.SourceTypeNameEnum;
|
||||
import com.ycwl.basic.exception.AppException;
|
||||
import com.ycwl.basic.mapper.pc.OrderMapper;
|
||||
import com.ycwl.basic.mapper.pc.OrderOperationMapper;
|
||||
import com.ycwl.basic.mapper.pc.SourceMapper;
|
||||
import com.ycwl.basic.mapper.pc.VideoMapper;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
|
||||
import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
|
||||
import com.ycwl.basic.model.mobile.order.RefundOrderReq;
|
||||
import com.ycwl.basic.model.pc.member.resp.MemberRespVO;
|
||||
import com.ycwl.basic.model.pc.order.entity.OrderEntity;
|
||||
import com.ycwl.basic.model.pc.order.entity.OrderItemEntity;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderAddOrUpdateReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderItemDTO;
|
||||
@ -23,6 +27,7 @@ import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderItemVO;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderRespVO;
|
||||
import com.ycwl.basic.model.pc.orderOp.entity.OrderOperationEntity;
|
||||
import com.ycwl.basic.model.pc.source.entity.SourceEntity;
|
||||
import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
|
||||
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
|
||||
@ -68,6 +73,8 @@ public class OrderServiceImpl implements OrderService {
|
||||
private AppMemberService memberService;
|
||||
@Autowired
|
||||
private GoodsService goodsService;
|
||||
@Autowired
|
||||
private OrderOperationMapper orderOperationMapper;
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<OrderRespVO>> pageQuery(OrderReqQuery query) {
|
||||
@ -207,9 +214,9 @@ public class OrderServiceImpl implements OrderService {
|
||||
//如果订单未支付就把商品状态更改成未购买
|
||||
if (state != OrderStateEnum.PAID.getState()) {
|
||||
OrderRespVO orderRespVO = orderMapper.getById(orderSn);
|
||||
Integer goodsType = orderRespVO.getGoodsType();
|
||||
List<OrderItemVO> orderItemList = orderRespVO.getOrderItemList();
|
||||
orderItemList.forEach(orderItemVO -> {
|
||||
Integer goodsType = orderItemVO.getGoodsType();
|
||||
Long goodsId = orderItemVO.getGoodsId();
|
||||
if (Objects.equals(goodsType, GoodsTypeEnum.VIDEO.code)) {
|
||||
VideoEntity videoEntity = new VideoEntity();
|
||||
@ -225,9 +232,9 @@ public class OrderServiceImpl implements OrderService {
|
||||
});
|
||||
} else if (state == OrderStateEnum.REFUNDED.getState()) {//订单退款成功就把商品状态更改成未购买
|
||||
OrderRespVO orderRespVO = orderMapper.getById(orderSn);
|
||||
Integer goodsType = orderRespVO.getGoodsType();
|
||||
List<OrderItemVO> orderItemList = orderRespVO.getOrderItemList();
|
||||
orderItemList.forEach(orderItemVO -> {
|
||||
Integer goodsType = orderItemVO.getGoodsType();
|
||||
Long goodsId = orderItemVO.getGoodsId();
|
||||
if (Objects.equals(goodsType, GoodsTypeEnum.VIDEO.code)) {
|
||||
VideoEntity videoEntity = new VideoEntity();
|
||||
@ -254,7 +261,7 @@ public class OrderServiceImpl implements OrderService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderReqQuery orderReqQuery) {
|
||||
public ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderAppPageReq orderReqQuery) {
|
||||
PageHelper.startPage(orderReqQuery.getPageNum(), orderReqQuery.getPageSize());
|
||||
List<OrderAppRespVO> list = orderMapper.appList(orderReqQuery);
|
||||
for (OrderAppRespVO appRespVO : list) {
|
||||
@ -263,6 +270,7 @@ public class OrderServiceImpl implements OrderService {
|
||||
OrderItemVO itemVO = orderItemList.get(NumberConstant.ZERO);
|
||||
appRespVO.setScenicName(itemVO.getScenicName());
|
||||
appRespVO.setGoodsName(itemVO.getGoodsName());
|
||||
appRespVO.setSourceType(itemVO.getSourceType());
|
||||
}
|
||||
}
|
||||
PageInfo<OrderAppRespVO> pageInfo = new PageInfo<>(list);
|
||||
@ -277,6 +285,7 @@ public class OrderServiceImpl implements OrderService {
|
||||
OrderItemVO itemVO = orderItemList.get(NumberConstant.ZERO);
|
||||
orderAppRespVO.setScenicName(itemVO.getScenicName());
|
||||
orderAppRespVO.setGoodsName(itemVO.getGoodsName());
|
||||
orderAppRespVO.setSourceType(itemVO.getSourceType());
|
||||
}
|
||||
return ApiResponse.success(orderAppRespVO);
|
||||
}
|
||||
@ -301,4 +310,19 @@ public class OrderServiceImpl implements OrderService {
|
||||
return ApiResponse.buildResult(BizCodeEnum.REQUEST_OK);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remarkOrder(Long orderId, OrderEntity query) {
|
||||
OrderAddOrUpdateReq updateOrder = new OrderAddOrUpdateReq();
|
||||
updateOrder.setId(orderId);
|
||||
updateOrder.setRemark(query.getRemark());
|
||||
orderMapper.update(updateOrder);
|
||||
OrderOperationEntity orderOperationEntity = new OrderOperationEntity();
|
||||
orderOperationEntity.setOrderId(orderId);
|
||||
orderOperationEntity.setType("修改备注");
|
||||
orderOperationEntity.setRemark("备注修改为:"+query.getRemark());
|
||||
orderOperationEntity.setUser(BaseContextHandler.getAccount());
|
||||
orderOperationEntity.setUserId(BaseContextHandler.getUserId());
|
||||
orderOperationMapper.add(orderOperationEntity);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -10,6 +10,8 @@ import com.aliyuncs.facebody.model.v20191230.DeleteFaceEntityRequest;
|
||||
import com.aliyuncs.facebody.model.v20191230.SearchFaceRequest;
|
||||
import com.aliyuncs.facebody.model.v20191230.SearchFaceResponse;
|
||||
import com.ycwl.basic.config.FaceDetectConfig;
|
||||
import com.ycwl.basic.exception.BaseException;
|
||||
import com.ycwl.basic.exception.BizException;
|
||||
import com.ycwl.basic.mapper.pc.DeviceMapper;
|
||||
import com.ycwl.basic.mapper.pc.FaceMapper;
|
||||
import com.ycwl.basic.mapper.pc.FaceSampleMapper;
|
||||
@ -22,6 +24,7 @@ import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO;
|
||||
import com.ycwl.basic.model.task.resp.AddFaceRespVo;
|
||||
import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
|
||||
import com.ycwl.basic.service.task.TaskFaceService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -34,6 +37,7 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
@Autowired
|
||||
@ -87,8 +91,10 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
return respVo;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error("人脸搜索失败:{}", e.getMessage());
|
||||
throw new BaseException(e.getMessage());
|
||||
}
|
||||
return null;
|
||||
// return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -99,7 +99,9 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
// Template
|
||||
String cacheJson = redisTemplate.opsForValue().get(TaskConstant.TASK_TEMPLATE_KEY_PFX + worker.getId());
|
||||
if (cacheJson == null) {
|
||||
List<TemplateRespVO> templateList = templateMapper.list(new TemplateReqQuery());
|
||||
TemplateReqQuery templateReqQuery = new TemplateReqQuery();
|
||||
templateReqQuery.setPid(0L);
|
||||
List<TemplateRespVO> templateList = templateMapper.list(templateReqQuery);
|
||||
for (TemplateRespVO template : templateList) {
|
||||
template.setChildren(templateMapper.getByPid(template.getId()));
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import com.ycwl.basic.model.mobile.index.TopStateResp;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicAppVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.ScenicIndexVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
|
||||
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
||||
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
@ -36,4 +37,6 @@ public interface AppScenicService {
|
||||
* @return
|
||||
*/
|
||||
ApiResponse<TopStateResp> topState();
|
||||
|
||||
ApiResponse<List<ContentPageVO>> contentList(Long scenicId);
|
||||
}
|
||||
|
@ -1,9 +1,6 @@
|
||||
package com.ycwl.basic.service.mobile;
|
||||
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsReqQuery;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPageVO;
|
||||
import com.ycwl.basic.model.mobile.goods.*;
|
||||
import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
|
||||
@ -42,5 +39,14 @@ public interface GoodsService {
|
||||
* @param goodsId 商品(vlog)id
|
||||
* @return
|
||||
*/
|
||||
ApiResponse<GoodsDetailVO> videoGoodsDetail(Long goodsId);
|
||||
ApiResponse<VideoGoodsDetailVO> videoGoodsDetail(Long goodsId);
|
||||
|
||||
/**
|
||||
* 查询当前用户的成片合成任务状态
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
ApiResponse<Integer> getAllTaskStatus(Long userId ,Long scenicId);
|
||||
|
||||
ApiResponse<Integer> getTemplateTaskStatus(Long userId, Long templateId);
|
||||
}
|
||||
|
@ -22,5 +22,7 @@ public interface FaceService {
|
||||
ApiResponse<Integer> deleteByIds(List<Long> ids);
|
||||
ApiResponse<Integer> update(FaceEntity face);
|
||||
|
||||
ApiResponse faceUPload(MultipartFile file);
|
||||
ApiResponse faceUPload(MultipartFile file,Long scrnicId);
|
||||
|
||||
ApiResponse<FaceRespVO> getFaceByMemberId(Long memberId);
|
||||
}
|
||||
|
@ -2,7 +2,9 @@ package com.ycwl.basic.service.pc;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.enums.OrderStateEnum;
|
||||
import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
|
||||
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.OrderAddOrUpdateReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO;
|
||||
@ -32,7 +34,7 @@ public interface OrderService {
|
||||
|
||||
ApiResponse<Integer> getOrderCountByUserId(Long userId);
|
||||
|
||||
ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderReqQuery orderReqQuery);
|
||||
ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderAppPageReq orderReqQuery);
|
||||
|
||||
ApiResponse<OrderAppRespVO> appDetail(Long id);
|
||||
|
||||
@ -52,4 +54,6 @@ public interface OrderService {
|
||||
* @return
|
||||
*/
|
||||
ApiResponse<?> auditRefundOrder(RefundOrderReq refundOrderReq);
|
||||
|
||||
void remarkOrder(Long orderId, OrderEntity query);
|
||||
}
|
||||
|
@ -72,8 +72,12 @@ public class JwtAnalysisUtil {
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Long userId = null;
|
||||
if (body.get("userId")!=null) {
|
||||
userId= (Long) body.get("userId");
|
||||
}
|
||||
return new JwtInfo(StringUtil.a(body.get("name")),
|
||||
StringUtil.a(body.get("userId")),
|
||||
userId,
|
||||
StringUtil.a(body.get("roleId")),
|
||||
body.getSubject(),
|
||||
StringUtil.a(body.get("phone")),
|
||||
|
@ -71,11 +71,7 @@ public class JwtTokenUtil {
|
||||
public static JwtInfo getWorker() {
|
||||
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||||
HttpServletRequest request = servletRequestAttributes.getRequest();
|
||||
String token = getToken(request);
|
||||
return parsingToken(token);
|
||||
}
|
||||
|
||||
public static String getToken(HttpServletRequest request) {
|
||||
String token = request.getHeader("token");
|
||||
if (StringUtils.isEmpty(token)) {
|
||||
if (request.getCookies() != null) {
|
||||
@ -84,8 +80,13 @@ public class JwtTokenUtil {
|
||||
token = cookie.getValue();
|
||||
}
|
||||
}
|
||||
if(StringUtils.isEmpty(token)){
|
||||
throw new CheckTokenException("用户未登录或登录状态已过期");
|
||||
}
|
||||
}else {
|
||||
throw new CheckTokenException("用户未登录或登录状态已过期");
|
||||
}
|
||||
}
|
||||
return token;
|
||||
return parsingToken(token);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user