目录
新增数据动态SQL
删除数据动态SQL
修改数据动态SQL
查询数据动态SQL
集合中接受的对象
查询数据SQL语句
mapper层的SQL采用xml文件
// 新增订单项(order_item)的方法
// 一个订单可能包含多个订单项,如果循环遍历新增每一个订单项,连库次数多,效率降低
// 我们采用一次连库新增多条订单项的方法,完成这个业务,来提高数据库操作效率
// 也就是进行批量新增,这个方法的参数就是一个List集合了
int insertOrderItemList(List omsOrderItems);
insert into oms_order_item(
id,order_id,sku_id,title,bar_code,
data,main_picture,price,quantity
) values
(
#{ooi.id},
#{ooi.orderId},
#{ooi.skuId},
#{ooi.title},
#{ooi.barCode},
#{ooi.data},
#{ooi.mainPicture},
#{ooi.price},
#{ooi.quantity}
)
新增数据的对象
/**
*
* 订单商品数据表
*
*
* @author
* @since 2022-02-16
*/
@Data
public class OmsOrderItem implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 订单id
*/
private Long orderId;
/**
* SKU id
*/
private Long skuId;
/**
* 商品SKU标题(冗余,历史)
*/
private String title;
/**
* 商品SKU商品条型码(冗余)
*/
private String barCode;
/**
* 商品SKU全部属性,使用JSON格式表示(冗余)
*/
private String data;
/**
* 商品SKU图片URL(第1张)(冗余)
*/
private String mainPicture;
/**
* 商品SKU单价(冗余,历史)
*/
private BigDecimal price;
/**
* 商品SKU购买数量
*/
private Integer quantity;
/**
* 数据创建时间
*/
private LocalDateTime gmtCreate;
/**
* 数据最后修改时间
*/
private LocalDateTime gmtModified;
}
// 根据用户选中的id,删除购物车中的商品(支持一次删除多个商品)
//如果使用的是数组则在xml中的是array,如果使用的是List则在xml中使用的是list
int deleteCartByIds(Long[] ids);
delete
from oms_cart
where id in
#{id}
// 动态修改订单,参数是omsOrder对象
// 参数对象中必须有id,id不可修改,其他属性不为空就修改为当前属性值
int updateOrderById(OmsOrder order);
update oms_order
contact_name=#{contactName},
mobile_phone=#{mobilePhone},
telephone=#{telephone},
street_code=#{streetCode},
street_name=#{streetName},
detailed_address=#{detailedAddress},
tag=#{tag},
payment_type=#{paymentType},
state=#{state},
reward_point=#{rewardPoint},
amount_of_original_price=#{amountOfOriginalPrice},
amount_of_freight=#{amountOfFreight},
amount_of_discount=#{amountOfDiscount},
amount_of_actual_pay=#{amountOfActualPay},
gmt_pay=#{gmtPay},
where
id=#{id}
// 查询当前用户指定时间范围内的所有订单信息(包含订单项)
List selectOrderBetweenTimes(OrderListTimeDTO orderListTimeDTO);
/**
*
* 查询我的订单展示订单数据
* 包括 订单id 编号 用户id,收货人姓名 状态,金额,下单时间
*
*
* @author
* @since 2022-02-16
*/
@Data
@ApiModel(value="")
public class OrderListVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value="订单id")
private Long id;
/**
* 订单编号
*/
@ApiModelProperty(value="订单编号")
private String sn;
/**
* 用户id
*/
@ApiModelProperty(value="用户id")
private Long userId;
/**
* 联系人姓名(冗余,历史)
*/
@ApiModelProperty(value="联系人姓名")
private String contactName;
/**
* 状态,0=未支付,1=已关闭(超时未支付),2=已取消,3=已支付,4=已签收,5=已拒收,6=退款处理中,7=已退款
*/
@ApiModelProperty(value="状态,0=未支付,1=已关闭(超时未支付),2=已取消,3=已支付,4=已签收,5=已拒收,6=退款处理中,7=已退款",example = "0")
private Integer state;
/**
* 实际支付
*/
@ApiModelProperty(value="实际支付")
private BigDecimal amountOfActualPay;
/**
* 下单时间
*/
@ApiModelProperty(value="下单时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime gmtOrder;
/**
* 创建时间
*/
@ApiModelProperty(value="创建订单时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime gmtCreate;
/**
* 支付时间
*/
@ApiModelProperty(value="支付时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime gmtPay;
/**
* 修改时间
*/
@ApiModelProperty(value="修改时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime gmtModified;
/**
* 订单商品列表
*/
private List orderItems;
}
mapper层的抽象方法
/**
* 查询品牌列表
*
* @return 品牌列表,如果没有匹配的数据,将返回长度为0的列表
*/
List list();
xml的sql语句
pms_brand.id,
pms_brand.name,
pms_brand.pinyin,
pms_brand.logo,
pms_brand.description,
pms_brand.keywords,
pms_brand.sort,
pms_brand.sales,
pms_brand.product_count,
pms_brand.comment_count,
pms_brand.positive_comment_count,
pms_brand.enable
关注博主订阅专栏学习Node
不迷路!
如果本篇文章对你有所帮助,还请客官一件三连!❤️