parent
09cda3409b
commit
f9a914bc19
@ -0,0 +1,25 @@
|
||||
package com.itmk.web.order.controller;
|
||||
|
||||
import com.itmk.utils.ResultUtils;
|
||||
import com.itmk.utils.ResultVo;
|
||||
import com.itmk.web.order.entity.OrderParm;
|
||||
import com.itmk.web.order.service.UserOrderService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/wxapi/order")
|
||||
public class UserOrderController {
|
||||
@Autowired
|
||||
private UserOrderService userOrderService;
|
||||
|
||||
//下单
|
||||
@PostMapping("/splaceOrder")
|
||||
public ResultVo splaceOrder(@RequestBody OrderParm parm){
|
||||
userOrderService.splaceOrder(parm);
|
||||
return ResultUtils.success("提交成功!");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.itmk.web.order.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class OrderParm {
|
||||
private String openid;
|
||||
private String userName;
|
||||
private String phone;
|
||||
private String address;
|
||||
private BigDecimal price;
|
||||
private List<com.itmk.web.order.entity.ParmDetail> details = new ArrayList<>();
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package com.itmk.web.order.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class ParmDetail {
|
||||
private Long goodsId;
|
||||
private String goodsImage;
|
||||
private String goodsName;
|
||||
private String goodsUnit;
|
||||
private String specsName;
|
||||
private BigDecimal price;
|
||||
private Integer num;
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package com.itmk.web.order.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@TableName("user_order")
|
||||
public class UserOrder {
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long orderId;
|
||||
private String openid;
|
||||
private String userName;
|
||||
private String phone;
|
||||
private String address;
|
||||
private BigDecimal price;
|
||||
private Date createTime;
|
||||
private String status;
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package com.itmk.web.order.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.itmk.web.order.entity.UserOrder;
|
||||
|
||||
public interface UserOrderMapper extends BaseMapper<UserOrder> {
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package com.itmk.web.order.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.itmk.web.order.entity.OrderParm;
|
||||
import com.itmk.web.order.entity.UserOrder;
|
||||
|
||||
public interface UserOrderService extends IService<UserOrder> {
|
||||
void splaceOrder(OrderParm parm);
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package com.itmk.web.order.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.itmk.web.order.entity.OrderParm;
|
||||
import com.itmk.web.order.entity.ParmDetail;
|
||||
import com.itmk.web.order.entity.UserOrder;
|
||||
import com.itmk.web.order.mapper.UserOrderMapper;
|
||||
import com.itmk.web.order.service.UserOrderService;
|
||||
import com.itmk.web.order_detail.entity.UserOrderDetail;
|
||||
import com.itmk.web.order_detail.service.UserOrderDetailService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class UserOrderServiceImpl extends ServiceImpl<UserOrderMapper, UserOrder> implements UserOrderService {
|
||||
@Autowired
|
||||
private UserOrderDetailService userOrderDetailService;
|
||||
|
||||
@Override
|
||||
public void splaceOrder(OrderParm parm) {
|
||||
//操作订单主表
|
||||
UserOrder order = new UserOrder();
|
||||
BeanUtils.copyProperties(parm, order);
|
||||
order.setCreateTime(new Date());
|
||||
order.setStatus("0");
|
||||
int ls = this.baseMapper.insert(order);
|
||||
//操作子表:订单对应的商品
|
||||
if (ls > 0) {
|
||||
List<ParmDetail> details = parm.getDetails();
|
||||
List<UserOrderDetail> list = new ArrayList<>();
|
||||
if (details.size() > 0) {
|
||||
for (int i = 0; i < details.size(); i++) {
|
||||
UserOrderDetail detail = new UserOrderDetail();
|
||||
BeanUtils.copyProperties(details.get(i), detail);
|
||||
//设置关联的主表
|
||||
detail.setOrderId(order.getOrderId());
|
||||
list.add(detail);
|
||||
}
|
||||
}
|
||||
//批量插入
|
||||
userOrderDetailService.saveBatch(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package com.itmk.web.order_detail.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
@TableName("user_order_detail")
|
||||
public class UserOrderDetail {
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long detailId;
|
||||
private Long orderId;
|
||||
private Long goodsId;
|
||||
private String goodsImage;
|
||||
private String goodsName;
|
||||
private String goodsUnit;
|
||||
private String specsName;
|
||||
private BigDecimal price;
|
||||
private Integer num;
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package com.itmk.web.order_detail.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.itmk.web.order_detail.entity.UserOrderDetail;
|
||||
|
||||
public interface UserOrderDetailMapper extends BaseMapper<UserOrderDetail> {
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package com.itmk.web.order_detail.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.itmk.web.order_detail.entity.UserOrderDetail;
|
||||
|
||||
public interface UserOrderDetailService extends IService<UserOrderDetail> {
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package com.itmk.web.order_detail.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.itmk.web.order_detail.entity.UserOrderDetail;
|
||||
import com.itmk.web.order_detail.mapper.UserOrderDetailMapper;
|
||||
import com.itmk.web.order_detail.service.UserOrderDetailService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class UserOrderDetailServiceImpl extends ServiceImpl<UserOrderDetailMapper, UserOrderDetail> implements UserOrderDetailService {
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.itmk.web.user_order_detail.mapper.UserOrderDetailMapper">
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,7 @@
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.itmk.web.user_order.mapper.UserOrderMapper">
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in new issue