添加订单接口
This commit is contained in:
@@ -16,6 +16,7 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode ORDER_ITEM_NOT_FOUND = new ErrorCode(1_011_000_010, "交易订单项不存在");
|
||||
ErrorCode ORDER_NOT_FOUND = new ErrorCode(1_011_000_011, "交易订单不存在");
|
||||
ErrorCode ORDER_ITEM_UPDATE_AFTER_SALE_STATUS_FAIL = new ErrorCode(1_011_000_012, "交易订单项更新售后状态失败,请重试");
|
||||
ErrorCode ORDER_UPDATE_UNWAITACCEPT_FAIL = new ErrorCode(1_011_000_012, "交易订单更新状态失败,当前订单不处于待验收状态");
|
||||
ErrorCode ORDER_UPDATE_PAID_STATUS_NOT_UNPAID = new ErrorCode(1_011_000_013, "交易订单更新支付状态失败,订单不是【未支付】状态");
|
||||
ErrorCode ORDER_UPDATE_PAID_FAIL_PAY_ORDER_ID_ERROR = new ErrorCode(1_011_000_014, "交易订单更新支付状态失败,支付单编号不匹配");
|
||||
ErrorCode ORDER_UPDATE_PAID_FAIL_PAY_ORDER_STATUS_NOT_SUCCESS = new ErrorCode(1_011_000_015, "交易订单更新支付状态失败,支付单状态不是【支付成功】状态");
|
||||
|
||||
@@ -55,6 +55,15 @@ public enum TradeOrderStatusEnum implements ArrayValuable<Integer> {
|
||||
public static boolean isUnpaid(Integer status) {
|
||||
return ObjectUtil.equal(WAITPAID.getStatus(), status);
|
||||
}
|
||||
/**
|
||||
* 判断指定状态,是否正处于【待验收】状态
|
||||
*
|
||||
* @param status 指定状态
|
||||
* @return 是否
|
||||
*/
|
||||
public static boolean isWaitAccept(Integer status) {
|
||||
return ObjectUtil.equal(WAITACCEPT.getStatus(), status);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断指定状态,是否正处于【待发货】状态
|
||||
|
||||
@@ -195,6 +195,11 @@ public class AiDialogServiceImpl extends ServiceImpl<AiDialogMapper, AiDialogDO>
|
||||
//解析翻译结果
|
||||
JSONObject intentResult = translateResult.getJSONObject("intent_result");
|
||||
|
||||
//宠物档案 todo
|
||||
messageDO.setPetId(1l);
|
||||
messageDO.setPetName(petName.get(speciesLabels));
|
||||
messageDO.setPetAvatar(petAvatars.get(speciesLabels));
|
||||
messageDO.setPetType(speciesLabels);
|
||||
//识别物种,无法翻译音频
|
||||
if (intentResult.getDouble("confidence")<0.7){
|
||||
messageDO.setTransStatus(0);
|
||||
@@ -205,7 +210,6 @@ public class AiDialogServiceImpl extends ServiceImpl<AiDialogMapper, AiDialogDO>
|
||||
messageDO.setTransResult(petFailResult.get(RandomUtil.randomInt(petFailResult.size())));
|
||||
return messageDO;
|
||||
}
|
||||
|
||||
//都识别成功后 也有不同的翻译结果
|
||||
JSONObject probabilities = intentResult.getJSONObject("probabilities");
|
||||
String resultKey = probabilities.entrySet().stream()
|
||||
@@ -217,11 +221,7 @@ public class AiDialogServiceImpl extends ServiceImpl<AiDialogMapper, AiDialogDO>
|
||||
List<String> emoList = successMap.get(emo);
|
||||
messageDO.setTransStatus(1);
|
||||
messageDO.setTransResult(emoList.get(RandomUtil.randomInt(emoList.size())));
|
||||
//宠物档案 todo
|
||||
messageDO.setPetId(1l);
|
||||
messageDO.setPetName(petName.get(speciesLabels));
|
||||
messageDO.setPetAvatar(petAvatars.get(speciesLabels));
|
||||
messageDO.setPetType(speciesLabels);
|
||||
|
||||
return messageDO;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.tashow.cloud.trade.convert.order.TradeOrderConvert;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderItemDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderLogDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderSubLogDO;
|
||||
import com.tashow.cloud.trade.service.order.TradeOrderLogService;
|
||||
import com.tashow.cloud.trade.service.order.TradeOrderQueryService;
|
||||
import com.tashow.cloud.trade.service.order.TradeOrderUpdateService;
|
||||
@@ -116,6 +117,32 @@ public class TradeOrderController {
|
||||
return success(tradeOrderUpdateService.cancelOrderByAdmin(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 接单确认
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@PutMapping("/acceptConfirm")
|
||||
@PermitAll
|
||||
// @PreAuthorize("@ss.hasPermission('trade:order:query')")
|
||||
public CommonResult<Boolean> acceptConfirm(@RequestParam("id") Long id) {
|
||||
tradeOrderUpdateService.acceptConfirmOrderByAdmin(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 服务上报
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@PutMapping("/reportServe")
|
||||
@PermitAll
|
||||
// @PreAuthorize("@ss.hasPermission('trade:order:query')")
|
||||
public CommonResult<Boolean> reportServe(@RequestParam("id") Long id) {
|
||||
tradeOrderUpdateService.reportServeOrderByAdmin(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
// 订单备注
|
||||
@PutMapping("/update-remark")
|
||||
@PermitAll
|
||||
@@ -127,7 +154,6 @@ public class TradeOrderController {
|
||||
|
||||
/**
|
||||
* 交易快照
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/fastPhoto")
|
||||
@@ -146,15 +172,13 @@ public class TradeOrderController {
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/subTimeLog")
|
||||
@GetMapping("/subTimeLog/{id}")
|
||||
@PermitAll
|
||||
// @PreAuthorize("@ss.hasPermission('trade:order:query')")
|
||||
public CommonResult<TradeOrderFastPhotoRespVo> subTimeLog(TradeOrderFastPhotoReqVo reqVo) {
|
||||
//获取交易订单详情
|
||||
TradeOrderItemDO orderItem = tradeOrderQueryService.getOrderItem(reqVo.getItemId());
|
||||
//获取产品详情
|
||||
|
||||
return success(TradeOrderConvert.INSTANCE.convert(orderItem,null));
|
||||
public CommonResult<TradeOrderSubTimeListRespVo> subTimeLog(@PathVariable("id") Long id) {
|
||||
//获取订单预约时间修改列表
|
||||
List<TradeOrderSubLogDO> subLogDO = tradeOrderQueryService.getSubTimeLogList(id);
|
||||
return success(TradeOrderConvert.INSTANCE.convertToSubTimeList(subLogDO));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.tashow.cloud.trade.controller.admin.order.vo;
|
||||
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderSubLogDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class TradeOrderSubTimeListRespVo {
|
||||
|
||||
private List<TradeOrderSubLogDO> subTimeList;
|
||||
}
|
||||
@@ -26,6 +26,7 @@ import com.tashow.cloud.trade.dal.dataobject.delivery.DeliveryExpressDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderItemDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderLogDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderSubLogDO;
|
||||
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
|
||||
import com.tashow.cloud.trade.framework.order.config.TradeOrderProperties;
|
||||
import com.tashow.cloud.trade.service.brokerage.bo.BrokerageAddReqBO;
|
||||
@@ -119,6 +120,11 @@ public interface TradeOrderConvert {
|
||||
TradeOrderFastPhotoRespVo convert(TradeOrderItemDO itemDO, ProdDO prodDO);
|
||||
//endregion
|
||||
|
||||
//region 订单预约时间修改列表
|
||||
TradeOrderSubTimeListRespVo convertToSubTimeList(List<TradeOrderSubLogDO> subTimeList);
|
||||
//endregion
|
||||
|
||||
|
||||
@Mappings({
|
||||
@Mapping(target = "id", ignore = true),
|
||||
@Mapping(source = "userId", target = "userId"),
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.time.LocalDateTime;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TradeSubLogDO extends BaseDO {
|
||||
public class TradeOrderSubLogDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 编号
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.tashow.cloud.trade.dal.mysql.order;
|
||||
|
||||
import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeSubLogDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderSubLogDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
@@ -10,6 +10,6 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Mapper
|
||||
public interface TradeSubLogMapper extends BaseMapperX<TradeSubLogDO> {
|
||||
public interface TradeOrderSubLogMapper extends BaseMapperX<TradeOrderSubLogDO> {
|
||||
|
||||
}
|
||||
@@ -2,12 +2,12 @@ package com.tashow.cloud.trade.service.order;
|
||||
|
||||
|
||||
import com.tashow.cloud.common.pojo.PageResult;
|
||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderFastPhotoReqVo;
|
||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageReqVO;
|
||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderSummaryRespVO;
|
||||
import com.tashow.cloud.trade.controller.app.order.vo.AppTradeOrderPageReqVO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderItemDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderSubLogDO;
|
||||
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
|
||||
import com.tashow.cloud.tradeapi.enums.order.TradeOrderTypeEnum;
|
||||
|
||||
@@ -159,9 +159,9 @@ public interface TradeOrderQueryService {
|
||||
List<TradeOrderItemDO> getOrderItemListByOrderId(Collection<Long> orderIds);
|
||||
|
||||
/**
|
||||
* 获取订单交易快照
|
||||
* @param reqVo
|
||||
* 获取订单预约时间修改列表
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
TradeOrderItemDO getFastPhoto(TradeOrderFastPhotoReqVo reqVo);
|
||||
List<TradeOrderSubLogDO> getSubTimeLogList(Long id);
|
||||
}
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
package com.tashow.cloud.trade.service.order;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.tashow.cloud.common.pojo.PageResult;
|
||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderFastPhotoReqVo;
|
||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageReqVO;
|
||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderSummaryRespVO;
|
||||
import com.tashow.cloud.trade.controller.app.order.vo.AppTradeOrderPageReqVO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.delivery.DeliveryExpressDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderItemDO;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderSubLogDO;
|
||||
import com.tashow.cloud.trade.dal.mysql.order.TradeOrderItemMapper;
|
||||
import com.tashow.cloud.trade.dal.mysql.order.TradeOrderMapper;
|
||||
import com.tashow.cloud.trade.dal.mysql.order.TradeOrderSubLogMapper;
|
||||
import com.tashow.cloud.trade.dal.redis.RedisKeyConstants;
|
||||
import com.tashow.cloud.trade.framework.delivery.core.client.ExpressClientFactory;
|
||||
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackQueryReqDTO;
|
||||
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
|
||||
import com.tashow.cloud.trade.service.delivery.DeliveryExpressService;
|
||||
import com.tashow.cloud.tradeapi.enums.order.TradeOrderRefundStatusEnum;
|
||||
import com.tashow.cloud.tradeapi.enums.order.TradeOrderStatusEnum;
|
||||
import com.tashow.cloud.tradeapi.enums.order.TradeOrderTypeEnum;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -49,6 +49,8 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
|
||||
private TradeOrderMapper tradeOrderMapper;
|
||||
@Resource
|
||||
private TradeOrderItemMapper tradeOrderItemMapper;
|
||||
@Resource
|
||||
private TradeOrderSubLogMapper tradeOrderSubLogMapper;
|
||||
|
||||
@Resource
|
||||
private DeliveryExpressService deliveryExpressService;
|
||||
@@ -242,9 +244,7 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public TradeOrderItemDO getFastPhoto(TradeOrderFastPhotoReqVo reqVo) {
|
||||
|
||||
|
||||
return null;
|
||||
public List<TradeOrderSubLogDO> getSubTimeLogList(Long id) {
|
||||
return tradeOrderSubLogMapper.selectList(new LambdaQueryWrapper<TradeOrderSubLogDO>().eq(TradeOrderSubLogDO::getOrderId,id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.tashow.cloud.trade.service.order;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderSubLogDO;
|
||||
|
||||
/**
|
||||
* 订单预约时间修改记录 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface TradeOrderSubLogService extends IService<TradeOrderSubLogDO> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.tashow.cloud.trade.service.order;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderSubLogDO;
|
||||
import com.tashow.cloud.trade.dal.mysql.order.TradeOrderSubLogMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
/**
|
||||
* 订单预约时间修改记录 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class TradeOrderSubLogServiceImpl extends ServiceImpl<TradeOrderSubLogMapper, TradeOrderSubLogDO> implements TradeOrderSubLogService {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -41,6 +41,19 @@ public interface TradeOrderUpdateService {
|
||||
*/
|
||||
TradeOrderDO createOrder(Long userId, AppTradeOrderCreateReqVO createReqVO);
|
||||
|
||||
|
||||
/**
|
||||
* 确认接单
|
||||
* @param id
|
||||
*/
|
||||
void acceptConfirmOrderByAdmin(Long id);
|
||||
|
||||
/**
|
||||
* 服务上报
|
||||
* @param id
|
||||
*/
|
||||
void reportServeOrderByAdmin(Long id);
|
||||
|
||||
/**
|
||||
* 更新交易订单已支付
|
||||
*
|
||||
@@ -224,4 +237,5 @@ public interface TradeOrderUpdateService {
|
||||
*/
|
||||
void updateOrderGiveCouponIds(Long userId, Long orderId, List<Long> giveCouponIds);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -246,6 +246,26 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
||||
order.setPayOrderId(payOrderId);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void acceptConfirmOrderByAdmin(Long id) {
|
||||
// 1.1 校验订单是否存在
|
||||
TradeOrderDO order = validateOrderExists(id);
|
||||
order.setOrderStatus(TradeOrderStatusEnum.WAITSERVE.getStatus());
|
||||
tradeOrderMapper.updateById(order);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reportServeOrderByAdmin(Long id) {
|
||||
// 1.1 校验订单是否存在
|
||||
TradeOrderDO order = validateOrderExists(id);
|
||||
if (!TradeOrderStatusEnum.isWaitAccept(order.getOrderStatus())){
|
||||
throw exception(ORDER_UPDATE_UNWAITACCEPT_FAIL);
|
||||
}
|
||||
order.setFinishTime(LocalDateTime.now());
|
||||
tradeOrderMapper.updateById(order);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@TradeOrderLog(operateType = TradeOrderOperateTypeEnum.MEMBER_PAY)
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
package com.tashow.cloud.trade.service.order;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeSubLogDO;
|
||||
|
||||
/**
|
||||
* 订单预约时间修改记录 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface TradeSubLogService extends IService<TradeSubLogDO> {
|
||||
|
||||
|
||||
/**
|
||||
* 删除订单预约时间修改记录
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteTradeSubLog(Long id);
|
||||
|
||||
/**
|
||||
* 获得订单预约时间修改记录
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 订单预约时间修改记录
|
||||
*/
|
||||
TradeSubLogDO getTradeSubLog(Long id);
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
package com.tashow.cloud.trade.service.order;
|
||||
|
||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeSubLogDO;
|
||||
import com.tashow.cloud.trade.dal.mysql.order.TradeSubLogMapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
/**
|
||||
* 订单预约时间修改记录 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class TradeSubLogServiceImpl implements TradeSubLogService {
|
||||
|
||||
@Resource
|
||||
private TradeSubLogMapper tradeSubLogMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public void deleteTradeSubLog(Long id) {
|
||||
// 校验存在
|
||||
validateTradeSubLogExists(id);
|
||||
// 删除
|
||||
tradeSubLogMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateTradeSubLogExists(Long id) {
|
||||
if (tradeSubLogMapper.selectById(id) == null) {
|
||||
// throw exception(TRADE_SUB_LOG_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public TradeSubLogDO getTradeSubLog(Long id) {
|
||||
return tradeSubLogMapper.selectById(id);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user