feat(order): 新增根据人脸ID查询购买记录功能

- 在OrderBiz中增加isBuy方法重载,支持通过人脸ID查询购买记录
- 修改AppPuzzleController中调用参数顺序,适配新方法签名
- 在OrderMapper接口中新增getUserBuyFaceItem方法定义
- 在OrderMapper.xml中实现getUserBuyFaceItem的SQL查询逻辑
- 调整FaceServiceImpl中相关调用逻辑,移除冗余配置获取代码
This commit is contained in:
2025-11-21 19:27:53 +08:00
parent 302b6811c4
commit 4f0d6dc44f
5 changed files with 25 additions and 2 deletions

View File

@@ -160,6 +160,17 @@ public class OrderBiz {
return null;
}
}
public IsBuyRespVO isBuy(Long scenicId, Long memberId, Long faceId, int goodsType, Long goodsId) {
IsBuyRespVO respVO = new IsBuyRespVO();
OrderEntity orderEntity = orderMapper.getUserBuyFaceItem(memberId, faceId, goodsType, goodsId);
if (orderEntity != null) {
respVO.setOrderId(orderEntity.getId());
respVO.setBuy(true);
respVO.setFree(false);
return respVO;
}
return isBuy(memberId, scenicId, goodsType, goodsId);
}
public IsBuyRespVO isBuy(Long userId, Long scenicId, int goodsType, Long goodsId) {
IsBuyRespVO respVO = new IsBuyRespVO();

View File

@@ -205,7 +205,7 @@ public class AppPuzzleController {
// 设置模板ID
vo.setTemplateId(record.getTemplateId());
IsBuyRespVO isBuyRespVO = orderBiz.isBuy(face.getMemberId(), face.getScenicId(), 5, record.getTemplateId());
IsBuyRespVO isBuyRespVO = orderBiz.isBuy(face.getScenicId(), face.getMemberId(), face.getId(), 5, record.getTemplateId());
if (isBuyRespVO.isBuy()) {
vo.setIsBuy(1);
} else {

View File

@@ -59,4 +59,6 @@ public interface OrderMapper {
int updateMemberIdByFaceId(OrderEntity orderEntity);
List<OrderItemEntity> getOrderItems(Long orderId);
OrderEntity getUserBuyFaceItem(Long memberId, Long faceId, int goodsType, Long goodsId);
}

View File

@@ -518,7 +518,6 @@ public class FaceServiceImpl implements FaceService {
sourceImageContent.setLockType(-1);
sourceVideoContent.setGroup("直出原片");
sourceImageContent.setGroup("直出原片");
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(face.getScenicId());
if (!scenicConfigFacade.isDisableSourceImage(face.getScenicId())) {
IsBuyRespVO isBuyRespVO = orderBiz.isBuy(userId, face.getScenicId(), SourceType.IMAGE.getCode(), faceId);
sourceImageContent.setSourceType(isBuyRespVO.getGoodsType());

View File

@@ -519,6 +519,17 @@
<select id="getOrderItems" resultType="com.ycwl.basic.model.pc.order.entity.OrderItemEntity">
select * from order_item where order_id = #{orderId}
</select>
<select id="getUserBuyFaceItem" resultType="com.ycwl.basic.model.pc.order.entity.OrderEntity">
select o.*
from order_item oi
left join `order` o on o.id = oi.order_id
where o.member_id = #{userId}
and o.face_id = #{faceId}
and oi.goods_id = #{goodsId}
and oi.goods_type = #{goodsType}
and o.status = 1
limit 1
</select>
<update id="updateMemberIdByFaceId">
update `order`
set member_id = #{memberId}