diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/common/persistence/dao/StoreCouponMapper.java b/ruoyi-api/src/main/java/com/ruoyi/app/common/persistence/dao/StoreCouponMapper.java index 7b7a7c4..05385c5 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/common/persistence/dao/StoreCouponMapper.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/common/persistence/dao/StoreCouponMapper.java @@ -26,7 +26,7 @@ public interface StoreCouponMapper extends BaseMapper { @Update("update store_coupon set use_num=use_num+1 where id=#{id}") void incUserNum(int id); - @Select("") diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/common/persistence/model/StoreOrderGoods.java b/ruoyi-api/src/main/java/com/ruoyi/app/common/persistence/model/StoreOrderGoods.java index beba5e3..95f1b2f 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/common/persistence/model/StoreOrderGoods.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/common/persistence/model/StoreOrderGoods.java @@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.ruoyi.app.modular.shop.service.dto.CartAttrDTO; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

@@ -127,6 +129,9 @@ public class StoreOrderGoods extends Model { */ private String sku; + @TableField(exist = false) + private List specList; + } diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/member/controller/UserController.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/member/controller/UserController.java index 661fd93..ca5bbb3 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/modular/member/controller/UserController.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/member/controller/UserController.java @@ -121,7 +121,7 @@ public class UserController { @ApiOperation(value = "订单列表",notes = "订单列表") public R orderList(@RequestParam(value = "status",defaultValue = "0") int status, @RequestParam(value = "page",defaultValue = "1") int page, - @RequestParam(value = "limit",defaultValue = "10") int limit){ + @RequestParam(value = "page_num",defaultValue = "10") int limit){ int userId = userOperator.getUser().getId(); return R.success(orderService.orderList(status,userId,page,limit)); @@ -137,9 +137,10 @@ public class UserController { @PostMapping(value = "/shop/user-order-handle") @ApiOperation(value = "订单操作",notes = "订单操作") - public R handleOrder(@RequestParam(value = "order_id",defaultValue = "0") int orderId, - @RequestParam(value = "type",defaultValue = "1") int type){ + public R handleOrder(@Validated @RequestBody String jsonStr){ int userId = userOperator.getUser().getId(); + int orderId = Integer.valueOf(JSON.parseObject(jsonStr).get("order_id").toString()); + int type = Integer.valueOf(JSON.parseObject(jsonStr).get("type").toString()); orderService.orderHandle(orderId,type,userId); return R.success("操作成功"); } diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/MallController.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/MallController.java index 9bbffae..720c0ca 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/MallController.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/MallController.java @@ -65,7 +65,7 @@ public class MallController { @GetMapping("/shop/mall-goods-list") @ApiOperation(value = "获取商品列表",notes = "获取商品列表") public R goodsList(@RequestParam(value = "page",defaultValue = "0") int page, - @RequestParam(value = "limit",defaultValue = "10") int limit, + @RequestParam(value = "page_num",defaultValue = "10") int limit, @RequestParam(value = "cat_id",defaultValue = "0") int catId, @RequestParam(value = "keywords",defaultValue = "") String keywords){ diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/dto/CouponDTO.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/dto/CouponDTO.java index 8f30826..2f8db3f 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/dto/CouponDTO.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/dto/CouponDTO.java @@ -1,6 +1,8 @@ package com.ruoyi.app.modular.shop.service.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; @@ -17,5 +19,6 @@ public class CouponDTO implements Serializable { private String name; private Double money; private Double condition; + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8") private Date useEndTime; } diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/OrderServiceImpl.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/OrderServiceImpl.java index 6cfcb82..beb1579 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/OrderServiceImpl.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/OrderServiceImpl.java @@ -21,6 +21,7 @@ import com.ruoyi.app.modular.shop.service.dto.CouponDTO; import com.ruoyi.app.modular.shop.service.dto.GoodsDTO; import com.ruoyi.app.modular.shop.service.dto.OrderDTO; import com.ruoyi.app.modular.shop.service.mapper.GoodsMapper; +import com.ruoyi.app.modular.shop.service.mapper.OrderGoodsMapper; import com.ruoyi.app.modular.shop.service.mapper.OrderMapper; import com.ruoyi.app.modular.shop.service.vo.CartAttrVO; import com.ruoyi.app.modular.shop.service.vo.CartVO; @@ -49,6 +50,8 @@ public class OrderServiceImpl extends ServiceImpl private final StoreOrderGoodsMapper storeOrderGoodsMapper; private final OrderMapper orderMapper; private final StorePointsMoneyLogMapper storePointsMoneyLogMapper; + private final OrderGoodsMapper orderGoodsMapper; + /** * 购物车提交 @@ -305,10 +308,17 @@ public class OrderServiceImpl extends ServiceImpl List orderDTOList = new ArrayList<>(); for (StoreOrder storeOrder : list) { QueryWrapper wrapperGoods = new QueryWrapper<>(); - wrapperGoods.eq("order_id",storeOrder.getOrderId()); + wrapperGoods.eq("order_id",storeOrder.getOrderId()).groupBy("goods_id"); List storeGoods = storeOrderGoodsMapper.selectList(wrapperGoods); + List newStoreGoods = new ArrayList<>(); + for (StoreOrderGoods storeGood : storeGoods) { + QueryWrapper wrapper2 = new QueryWrapper<>(); + wrapper2.eq("order_id",storeOrder.getOrderId()).eq("goods_id",storeGood.getGoodsId()); + storeGood.setSpecList(orderGoodsMapper.toDto(storeOrderGoodsMapper.selectList(wrapper2))); + newStoreGoods.add(storeGood); + } OrderDTO orderDTO = orderMapper.toDto(storeOrder); - orderDTO.setGoodsList(storeGoods); + orderDTO.setGoodsList(newStoreGoods); //处理订单状态 orderDTO.setStatus(OrderUtil.orderStatus(storeOrder.getPayStatus(), storeOrder.getShippingStatus(),storeOrder.getOrderStatus())); @@ -335,11 +345,18 @@ public class OrderServiceImpl extends ServiceImpl StoreOrder storeOrder = baseMapper.selectOne(wrapper); QueryWrapper wrapperGoods = new QueryWrapper<>(); - wrapperGoods.eq("order_id",storeOrder.getOrderId()); + wrapperGoods.eq("order_id",storeOrder.getOrderId()).groupBy("goods_id"); List orderGoodsList = storeOrderGoodsMapper .selectList(wrapperGoods); OrderDTO orderDTO = orderMapper.toDto(storeOrder); - orderDTO.setGoodsList(orderGoodsList); + List newStoreGoods = new ArrayList<>(); + for (StoreOrderGoods storeGood : orderGoodsList) { + QueryWrapper wrapper2 = new QueryWrapper<>(); + wrapper2.eq("order_id",storeOrder.getOrderId()).eq("goods_id",storeGood.getGoodsId()); + storeGood.setSpecList(orderGoodsMapper.toDto(storeOrderGoodsMapper.selectList(wrapper2))); + newStoreGoods.add(storeGood); + } + orderDTO.setGoodsList(newStoreGoods); //处理订单状态 orderDTO.setStatus(OrderUtil.orderStatus(storeOrder.getPayStatus(), storeOrder.getShippingStatus(),storeOrder.getOrderStatus())); diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/mapper/OrderGoodsMapper.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/mapper/OrderGoodsMapper.java new file mode 100644 index 0000000..15f92ae --- /dev/null +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/mapper/OrderGoodsMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.app.modular.shop.service.mapper; + + + +import com.ruoyi.app.common.persistence.model.StoreOrderGoods; +import com.ruoyi.app.modular.mapper.EntityMapper; +import com.ruoyi.app.modular.shop.service.dto.CartAttrDTO; +import org.mapstruct.Mapper; +import org.mapstruct.ReportingPolicy; + +/** +* @author hupeng +* @date 2019-09-10 +*/ +@Mapper(componentModel = "spring",uses = {},unmappedTargetPolicy = ReportingPolicy.IGNORE) +public interface OrderGoodsMapper extends EntityMapper { + +} \ No newline at end of file