Browse Source

修改orderId字段,避免字段名歧义

feature-1.1
wuxicheng 3 years ago
parent
commit
aaeec20300
  1. 4
      bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/QueryVipOrderDto.java
  2. 4
      bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/vo/VipOrderVo.java
  3. 8
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PayInfo.java
  4. 11
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/UserVipRecord.java
  5. 8
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/VipOrder.java
  6. 4
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/AddUserVipRecordDto.java
  7. 4
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/OrderUtil.java
  8. 4
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/UserVipRecordMapper.xml
  9. 4
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/controller/VipOrderController.java
  10. 4
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/dto/QueryVipOrderDto.java
  11. 6
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/listener/vip/VipOrderCancelConsumer.java
  12. 8
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/listener/vip/VipOrderPayNotifyConsumer.java
  13. 8
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/mapper/VipOrderMapper.java
  14. 4
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/VipOrderService.java
  15. 22
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/VipOrderServiceImpl.java
  16. 4
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/vo/VipOrderVo.java
  17. 16
      bnyer-services/bnyer-order/src/main/resources/com/bnyer/order/mapper/VipOrderMapper.xml
  18. 2
      bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/dto/AddPayInfoDto.java
  19. 10
      bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/service/impl/PayInfoServiceImpl.java

4
bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/QueryVipOrderDto.java

@ -17,7 +17,7 @@ import java.io.Serializable;
@NoArgsConstructor
public class QueryVipOrderDto implements Serializable {
@ApiModelProperty(value="订单id")
private String orderId;
@ApiModelProperty(value="订单")
private String orderNo;
}

4
bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/vo/VipOrderVo.java

@ -23,8 +23,8 @@ public class VipOrderVo {
@ApiModelProperty(value="主键")
private Long id;
@ApiModelProperty(value="订单id")
private String orderId;
@ApiModelProperty(value="订单")
private String orderNo;
@ApiModelProperty(value="手机号")
private String phone;

8
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PayInfo.java

@ -38,11 +38,11 @@ public class PayInfo extends BaseDomain {
private String payId;
/**
* 业务主订单id关联内部业务订单表
* 业务主订单关联内部业务订单表
*/
@TableField(value = "order_id")
@ApiModelProperty(value="业务主订单id:关联内部业务订单表")
private String orderId;
@TableField(value = "order_no")
@ApiModelProperty(value="业务主订单:关联内部业务订单表")
private String orderNo;
/**
* 支付状态1000未支付;1001支付成功 ;1002支付失败

11
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/UserVipRecord.java

@ -1,15 +1,12 @@
package com.bnyer.common.core.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
import java.util.Date;
@ApiModel(value="com-bnyer-common-core-domain-UserVipRecord")
@ -22,11 +19,11 @@ import java.util.Date;
public class UserVipRecord extends BaseDomain {
/**
* 订单id
* 订单
*/
@TableField(value = "order_id")
@ApiModelProperty(value="订单id")
private String orderId;
@TableField(value = "order_no")
@ApiModelProperty(value="订单")
private String orderNo;
/**
* 用户id

8
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/VipOrder.java

@ -32,11 +32,11 @@ import lombok.ToString;
public class VipOrder extends BaseDomain {
/**
* 订单id
* 订单
*/
@TableField(value = "order_id")
@ApiModelProperty(value="订单id")
private String orderId;
@TableField(value = "order_no")
@ApiModelProperty(value="订单")
private String orderNo;
/**
* 用户手机号

4
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/AddUserVipRecordDto.java

@ -13,8 +13,8 @@ import java.util.Date;
@NoArgsConstructor
public class AddUserVipRecordDto {
@ApiModelProperty(value="订单id")
private String orderId;
@ApiModelProperty(value="订单")
private String orderNo;
@ApiModelProperty(value="用户id")
private Long userId;

4
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/OrderUtil.java

@ -12,7 +12,7 @@ public class OrderUtil {
* @frontStr 费用类型 RV=充值会员
* @return 2费用类型+14时间+2客户端类型+11userId+3随机位
*/
public static String getOrderId(String frontStr, Date curTime, String userClientType, String userId) {
public static String getOrderNo(String frontStr, Date curTime, String userClientType, String userId) {
SimpleDateFormat simple = new SimpleDateFormat("yyyyMMddHHmmss");
String ms = simple.format(curTime);
@ -25,6 +25,6 @@ public class OrderUtil {
}
public static void main(String[] args) {
System.out.println(getOrderId("RV",new Date(),"DU","12345678910"));
System.out.println(getOrderNo("RV",new Date(),"DU","12345678910"));
}
}

4
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/UserVipRecordMapper.xml

@ -5,7 +5,7 @@
<!--@mbg.generated-->
<!--@Table img_user_vip_record-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="order_id" jdbcType="VARCHAR" property="orderId" />
<result column="order_no" jdbcType="VARCHAR" property="orderNo" />
<result column="user_id" jdbcType="BIGINT" property="userId" />
<result column="phone" jdbcType="VARCHAR" property="phone" />
<result column="vip_id" jdbcType="BIGINT" property="vipId" />
@ -22,7 +22,7 @@
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id,order_id,user_id , phone,vip_name,vip_type_name,user_client_type,status, vip_id, start_time, end_time, is_show, create_time, update_time,
id,order_no,user_id , phone,vip_name,vip_type_name,user_client_type,status, vip_id, start_time, end_time, is_show, create_time, update_time,
sort
</sql>
</mapper>

4
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/controller/VipOrderController.java

@ -37,8 +37,8 @@ public class VipOrderController extends BaseController {
@PostMapping("/addVipOrder")
@Operation(summary = "生成会员订单,返回订单号" , description = "生成会员订单,返回订单号,通过订单号调用支付接口")
public R<String> addVipOrder(@Valid @RequestBody AddVipOrderDto addVipOrderDto) {
String orderId = vipOrderService.addVipOrder(addVipOrderDto);
return R.ok(orderId);
String orderNo = vipOrderService.addVipOrder(addVipOrderDto);
return R.ok(orderNo);
}
/**

4
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/dto/QueryVipOrderDto.java

@ -17,7 +17,7 @@ import java.io.Serializable;
@NoArgsConstructor
public class QueryVipOrderDto implements Serializable {
@ApiModelProperty(value="订单id")
private String orderId;
@ApiModelProperty(value="订单")
private String orderNo;
}

6
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/listener/vip/VipOrderCancelConsumer.java

@ -23,9 +23,9 @@ public class VipOrderCancelConsumer implements RocketMQListener<String> {
private VipOrderService vipOrderService;
@Override
public void onMessage(String orderId) {
log.info("收到消息:{}", orderId);
public void onMessage(String orderNo) {
log.info("收到消息:{}", orderNo);
// 如果订单未支付的话,将订单设为取消状态
vipOrderService.cancelVipOrder(Lists.newArrayList(orderId),0);
vipOrderService.cancelVipOrder(Lists.newArrayList(orderNo),0);
}
}

8
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/listener/vip/VipOrderPayNotifyConsumer.java

@ -43,10 +43,10 @@ public class VipOrderPayNotifyConsumer implements RocketMQListener<String> {
//修改订单并添加会员记录
VipOrderService vipOrderService = SpringUtils.getBean(VipOrderService.class);
JSONObject orderObj = JSON.parseObject(message);
String orderId = orderObj.getString("orderId");
VipOrder vipOrder = vipOrderMapper.selectOne(new LambdaQueryWrapper<VipOrder>().eq(VipOrder::getOrderId, orderId));
String orderNo = orderObj.getString("orderNo");
VipOrder vipOrder = vipOrderMapper.selectOne(new LambdaQueryWrapper<VipOrder>().eq(VipOrder::getOrderNo, orderNo));
if (Objects.isNull(vipOrder)){
log.error("订单不存在,订单id:{}",orderId);
log.error("订单不存在,订单号:{}",orderNo);
return;
}
//修改订单表状态为已支付
@ -67,7 +67,7 @@ public class VipOrderPayNotifyConsumer implements RocketMQListener<String> {
*/
private String buildVipRecordMsg(VipOrder vipOrder) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("orderId",vipOrder.getOrderId());
jsonObject.put("orderNo",vipOrder.getOrderNo());
jsonObject.put("startTime",vipOrder.getStartTime());
jsonObject.put("endTime",vipOrder.getEndTime());
jsonObject.put("vipId",vipOrder.getVipId());

8
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/mapper/VipOrderMapper.java

@ -24,13 +24,13 @@ public interface VipOrderMapper extends BaseMapper<VipOrder> {
/**
* 取消订单
* @param orderIds
* @param orderNos
*/
void cancelVipOrder(@Param("orderIds") List<String> orderIds, @Param("closeType") Integer closeType);
void cancelVipOrder(@Param("orderNos") List<String> orderNos, @Param("closeType") Integer closeType);
/**
* 修改订单表状态为已支付
* @param orderId
* @param orderNo
*/
void updateByToPaySuccess(@Param("orderId") String orderId);
void updateByToPaySuccess(@Param("orderNo") String orderNo);
}

4
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/VipOrderService.java

@ -25,10 +25,10 @@ public interface VipOrderService extends IService<VipOrder> {
/**
* 取消订单
* @param orderIds 订单号
* @param orderNos 订单号
* @param closeType 订单关闭原因类型
*/
void cancelVipOrder(List<String> orderIds,Integer closeType);
void cancelVipOrder(List<String> orderNos,Integer closeType);
/**
* 查询会员订单列表信息

22
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/VipOrderServiceImpl.java

@ -79,16 +79,16 @@ public class VipOrderServiceImpl extends ServiceImpl<VipOrderMapper, VipOrder> i
//构建订单
VipOrder vipOrder = buildVipOrder(addVipOrderDto);
vipOrderMapper.insert(vipOrder);
String orderId = vipOrder.getOrderId();
String orderNo = vipOrder.getOrderNo();
//发送消息,如果三十分钟后没有支付,则取消订单
SendStatus sendStatus = orderCancelMqTemplate.syncSend(RocketMqConstant.VIP_ORDER_CANCEL_TOPIC, new GenericMessage<>(orderId), RocketMqConstant.TIMEOUT, RocketMqConstant.CANCEL_ORDER_DELAY_LEVEL).getSendStatus();
SendStatus sendStatus = orderCancelMqTemplate.syncSend(RocketMqConstant.VIP_ORDER_CANCEL_TOPIC, new GenericMessage<>(orderNo), RocketMqConstant.TIMEOUT, RocketMqConstant.CANCEL_ORDER_DELAY_LEVEL).getSendStatus();
if (!Objects.equals(sendStatus,SendStatus.SEND_OK)) {
// 消息发不出去就抛异常,发的出去无所谓
throw new ServiceException(ResponseEnum.SERVER_ERROR);
}else {
log.info("消息发送成功,topic:{}",RocketMqConstant.VIP_ORDER_CANCEL_TOPIC);
}
return orderId;
return orderNo;
}
/**
@ -151,7 +151,7 @@ public class VipOrderServiceImpl extends ServiceImpl<VipOrderMapper, VipOrder> i
//开通的天数
vipOrder.setDays((int) DateUtil.betweenDay(vipOrder.getStartTime(), vipOrder.getEndTime(), true));
vipOrder.setUserClientType(addVipOrderDto.getUserClientType());
vipOrder.setOrderId(OrderUtil.getOrderId("RV",nowDate, EnumUserClientType.getCodeByType(addVipOrderDto.getUserClientType()),String.valueOf(userId)));
vipOrder.setOrderNo(OrderUtil.getOrderNo("RV",nowDate, EnumUserClientType.getCodeByType(addVipOrderDto.getUserClientType()),String.valueOf(userId)));
vipOrder.setCreateTime(nowDate);
return vipOrder;
}
@ -159,22 +159,22 @@ public class VipOrderServiceImpl extends ServiceImpl<VipOrderMapper, VipOrder> i
/**
* 取消订单
* @param orderIds 订单id
* @param orderNos 订单id
* @param closeType 订单关闭原因类型
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void cancelVipOrder(List<String> orderIds,Integer closeType) {
List<VipOrder> vipOrderList = vipOrderMapper.selectList(new LambdaQueryWrapper<VipOrder>().in(VipOrder::getOrderId, orderIds));
public void cancelVipOrder(List<String> orderNos,Integer closeType) {
List<VipOrder> vipOrderList = vipOrderMapper.selectList(new LambdaQueryWrapper<VipOrder>().in(VipOrder::getOrderNo, orderNos));
if (CollUtil.isEmpty(vipOrderList)){
return;
}
List<String> cancelOrderIds = vipOrderList.stream().filter(vipOrder -> Objects.nonNull(vipOrder.getOrderStatus()) && EnumVipOrderStatus.FAILS.getStatus()
!= vipOrder.getOrderStatus()).map(VipOrder::getOrderId).collect(Collectors.toList());
if (CollUtil.isEmpty(cancelOrderIds)){
List<String> cancelOrderNos = vipOrderList.stream().filter(vipOrder -> Objects.nonNull(vipOrder.getOrderStatus()) && EnumVipOrderStatus.FAILS.getStatus()
!= vipOrder.getOrderStatus()).map(VipOrder::getOrderNo).collect(Collectors.toList());
if (CollUtil.isEmpty(cancelOrderNos)){
return;
}
vipOrderMapper.cancelVipOrder(cancelOrderIds,closeType);
vipOrderMapper.cancelVipOrder(cancelOrderNos,closeType);
}

4
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/vo/VipOrderVo.java

@ -24,8 +24,8 @@ public class VipOrderVo {
@ApiModelProperty(value="主键")
private Long id;
@ApiModelProperty(value="订单id")
private String orderId;
@ApiModelProperty(value="订单")
private String orderNo;
@ApiModelProperty(value="手机号")
private String phone;

16
bnyer-services/bnyer-order/src/main/resources/com/bnyer/order/mapper/VipOrderMapper.xml

@ -5,7 +5,7 @@
<!--@mbg.generated-->
<!--@Table order_vip_order-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="order_id" jdbcType="VARCHAR" property="orderId" />
<result column="order_no" jdbcType="VARCHAR" property="orderNo" />
<result column="phone" jdbcType="VARCHAR" property="phone" />
<result column="user_id" jdbcType="BIGINT" property="userId" />
<result column="vip_id" jdbcType="BIGINT" property="vipId" />
@ -32,7 +32,7 @@
<sql id="Base_Column_List">
<!--@mbg.generated-->
o.id,
o.order_id,
o.order_no,
o.phone,
o.user_id,
o.vip_id,
@ -64,8 +64,8 @@
from order_vip_order o
where
o.is_show = '1'
<if test="orderId != null and orderId != ''">
and o.order_id = #{orderId,jdbcType=VARCHAR}
<if test="orderNo != null and orderNo != ''">
and o.order_no = #{orderNo,jdbcType=VARCHAR}
</if>
</select>
@ -77,9 +77,9 @@
close_type = #{closeType,jdbcType=VARCHAR},
cancel_time = now(),
update_time=now()
where pay_status = 1000 and order_id in
<foreach collection="orderIds" item="orderId" open="(" close=")" separator=",">
#{orderId}
where pay_status = 1000 and order_no in
<foreach collection="orderNos" item="orderNo" open="(" close=")" separator=",">
#{orderNo}
</foreach>
</update>
<update id="updateByToPaySuccess">
@ -89,6 +89,6 @@
pay_status = 1001,
pay_time = now(),
update_time = now()
where order_id = #{orderId}
where order_no = #{orderNo}
</update>
</mapper>

2
bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/dto/AddPayInfoDto.java

@ -20,7 +20,7 @@ public class AddPayInfoDto {
@NotBlank(message = "业务主订单号不能为空")
@ApiModelProperty(value="业务主订单号:关联内部业务订单表",required = true)
private String orderId;
private String orderNo;
@NotBlank(message = "支付场景不能为空")
@ApiModelProperty(value="支付场景:1.会员充值",required = true)

10
bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/service/impl/PayInfoServiceImpl.java

@ -80,7 +80,7 @@ public class PayInfoServiceImpl extends ServiceImpl<PayInfoMapper, PayInfo> impl
//会员充值场景
case VIP_RECHARGE:
QueryVipOrderDto queryVipOrderDto = new QueryVipOrderDto();
queryVipOrderDto.setOrderId(dto.getOrderId());
queryVipOrderDto.setOrderNo(dto.getOrderNo());
//查询会员业务订单信息
R<List<VipOrderVo>> vipOrderVoListR = remoteVipOrderService.getVipOrderList(queryVipOrderDto);
if (!vipOrderVoListR.isSuccess()){
@ -89,7 +89,7 @@ public class PayInfoServiceImpl extends ServiceImpl<PayInfoMapper, PayInfo> impl
VipOrderVo vipOrderVo = vipOrderVoListR.getData().get(0);
payAmount = vipOrderVo.getPayAmount().toString();
goodsType = KSPayConstants.GOODS_TYPE_VIP;
payId = OrderUtil.getOrderId("RV",new Date(), EnumUserClientType.getCodeByType(vipOrderVo.getUserClientType())
payId = OrderUtil.getOrderNo("RV",new Date(), EnumUserClientType.getCodeByType(vipOrderVo.getUserClientType())
,String.valueOf(vipOrderVo.getUserId()));
break;
default:
@ -119,7 +119,7 @@ public class PayInfoServiceImpl extends ServiceImpl<PayInfoMapper, PayInfo> impl
*/
private PayInfo buildPayInfo(PayInOrderVo payInOrderVo, UnifiedOrderDto unifiedOrderDto, AddPayInfoDto dto) {
PayInfo payInfo = new PayInfo();
payInfo.setOrderId(dto.getOrderId());
payInfo.setOrderNo(dto.getOrderNo());
payInfo.setSceneCode(dto.getSceneCode());
payInfo.setRemark(dto.getRemark());
payInfo.setPayType(dto.getPayType());
@ -183,14 +183,14 @@ public class PayInfoServiceImpl extends ServiceImpl<PayInfoMapper, PayInfo> impl
//支付场景
Integer sceneCode = payInfo.getSceneCode();
//关联的订单表id
String orderId = payInfo.getOrderId();
String orderNo = payInfo.getOrderNo();
EnumSceneCode enumSceneCode = EnumSceneCode.getSceneCodeByCode(sceneCode);
switch (enumSceneCode){
//会员充值场景
case VIP_RECHARGE:
// 发送消息,订单支付成功
JSONObject vipRechargeMsgObj = new JSONObject();
vipRechargeMsgObj.put("orderId",orderId);
vipRechargeMsgObj.put("orderNo",orderNo);
String vipRechargeMsgStr = JSON.toJSONString(vipRechargeMsgObj);
// TODO: 2023/04/23可优化为:添加一张消息日志表,字段:topicName,消息内容,消息状态(发送中、成功、失败),错误信息
// vipOrderPayNotifyMqTemplate.asyncSend(RocketMqConstant.VIP_ORDER_PAY_NOTIFY_TOPIC,vipRechargeMsgStr,new SendCallback() {

Loading…
Cancel
Save