From a2bd8b3b7b8b8d524e1a5306fd47c39a3f303813 Mon Sep 17 00:00:00 2001 From: HH Date: Thu, 23 Feb 2023 00:19:00 +0800 Subject: [PATCH 1/5] =?UTF-8?q?OrderTemplate=20=E8=AE=A2=E5=8D=95=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ghy/order/domain/OrderTemplate.java | 17 +- .../ghy/order/domain/OrderTemplateGoods.java | 18 ++ .../ghy/order/mapper/OrderTemplateMapper.java | 36 ++++ .../order/service/OrderTemplateService.java | 23 +++ .../impl/OrderTemplateServiceImpl.java | 85 +++++++++ .../mapper/order/OrderTemplateMapper.xml | 171 ++++++++++++++++++ 6 files changed, 343 insertions(+), 7 deletions(-) create mode 100644 ghy-order/src/main/java/com/ghy/order/domain/OrderTemplateGoods.java create mode 100644 ghy-order/src/main/java/com/ghy/order/mapper/OrderTemplateMapper.java create mode 100644 ghy-order/src/main/java/com/ghy/order/service/OrderTemplateService.java create mode 100644 ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java create mode 100644 ghy-order/src/main/resources/mapper/order/OrderTemplateMapper.xml diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderTemplate.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderTemplate.java index 2eadff9f..1cd42c0c 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/OrderTemplate.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderTemplate.java @@ -1,21 +1,23 @@ package com.ghy.order.domain; +import com.ghy.common.core.domain.BaseEntity; +import com.ghy.goods.domain.Goods; import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; /** * 订单模板 */ @Data -public class OrderTemplate { +@EqualsAndHashCode(callSuper = true) +public class OrderTemplate extends BaseEntity { private Long id; private Long userId; // 模板名称 private String templateName; - // 商品ID - private Long goodsId; - // 商品类型ID(第三层) - private Long deptGoodsCategoryId; // 商品品牌 private String goodsBrand; // 商品规格 @@ -44,8 +46,6 @@ public class OrderTemplate { private Integer informationFee; // 奖励金(限制整数) private Integer bonus; - // 备注 - private String remark; // 物流单号 private String logisticsCode; // 是否需要拉货 @@ -54,4 +54,7 @@ public class OrderTemplate { private int needCarry; // 楼层 private Integer floor; + + // 商品 + private List goods; } diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderTemplateGoods.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderTemplateGoods.java new file mode 100644 index 00000000..c5b22ee8 --- /dev/null +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderTemplateGoods.java @@ -0,0 +1,18 @@ +package com.ghy.order.domain; + +import lombok.Data; + +@Data +public class OrderTemplateGoods { + + // 订单模板Id + private Long orderTemplateId; + // 商品ID + private Long goodsId; + // 商品名称 + private String goodsName; + // 商品类型ID(第三层) + private Long deptGoodsCategoryId; + // 商品数量 + private Long number; +} diff --git a/ghy-order/src/main/java/com/ghy/order/mapper/OrderTemplateMapper.java b/ghy-order/src/main/java/com/ghy/order/mapper/OrderTemplateMapper.java new file mode 100644 index 00000000..96cc9885 --- /dev/null +++ b/ghy-order/src/main/java/com/ghy/order/mapper/OrderTemplateMapper.java @@ -0,0 +1,36 @@ +package com.ghy.order.mapper; + +import com.ghy.order.domain.OrderTemplate; +import com.ghy.order.domain.OrderTemplateGoods; + +import java.util.List; +import java.util.Set; + +/** + * 订单模板Mapper + */ +public interface OrderTemplateMapper { + + int insert(OrderTemplate orderTemplate); + + int update(OrderTemplate orderTemplate); + + int delete(Long id); + + int batchDelete(Set ids); + + OrderTemplate selectById(Long id); + + List selectByIds(Set ids); + + List select(OrderTemplate orderTemplate); + + // OrderTemplateGoods 接口 + + int deleteGoods(Long orderTemplateId); + + List selectGoods(Long orderTemplateId); + + int insertGoods(OrderTemplateGoods goods); + +} diff --git a/ghy-order/src/main/java/com/ghy/order/service/OrderTemplateService.java b/ghy-order/src/main/java/com/ghy/order/service/OrderTemplateService.java new file mode 100644 index 00000000..afcb809e --- /dev/null +++ b/ghy-order/src/main/java/com/ghy/order/service/OrderTemplateService.java @@ -0,0 +1,23 @@ +package com.ghy.order.service; + +import com.ghy.order.domain.OrderTemplate; + +import java.util.List; +import java.util.Set; + +public interface OrderTemplateService { + + int insert(OrderTemplate orderTemplate); + + int update(OrderTemplate orderTemplate); + + int delete(Long id); + + int batchDelete(Set ids); + + OrderTemplate selectById(Long id); + + List selectByIds(Set ids); + + List select(OrderTemplate orderTemplate); +} diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java new file mode 100644 index 00000000..e90d0626 --- /dev/null +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java @@ -0,0 +1,85 @@ +package com.ghy.order.service.impl; + +import com.ghy.order.domain.OrderTemplate; +import com.ghy.order.domain.OrderTemplateGoods; +import com.ghy.order.mapper.OrderTemplateMapper; +import com.ghy.order.service.OrderTemplateService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +@Service +public class OrderTemplateServiceImpl implements OrderTemplateService { + + @Resource + private OrderTemplateMapper mapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public int insert(OrderTemplate orderTemplate) { + int count = mapper.insert(orderTemplate); + saveGoods(orderTemplate); + return count; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int update(OrderTemplate orderTemplate) { + int count = mapper.update(orderTemplate); + mapper.deleteGoods(orderTemplate.getId()); + saveGoods(orderTemplate); + return count; + } + + private void saveGoods(OrderTemplate orderTemplate) { + List goods = orderTemplate.getGoods(); + if (!CollectionUtils.isEmpty(goods)) { + for (OrderTemplateGoods x : goods) { + x.setOrderTemplateId(orderTemplate.getId()); + mapper.insertGoods(x); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delete(Long id) { + mapper.deleteGoods(id); + return mapper.delete(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int batchDelete(Set ids) { + if (CollectionUtils.isEmpty(ids)) { + return 0; + } else { + ids.forEach(x -> mapper.deleteGoods(x)); + return mapper.batchDelete(ids); + } + } + + @Override + public OrderTemplate selectById(Long id) { + return mapper.selectById(id); + } + + @Override + public List selectByIds(Set ids) { + if (CollectionUtils.isEmpty(ids)) { + return new ArrayList<>(); + } else { + return mapper.selectByIds(ids); + } + } + + @Override + public List select(OrderTemplate orderTemplate) { + return mapper.select(orderTemplate); + } +} diff --git a/ghy-order/src/main/resources/mapper/order/OrderTemplateMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderTemplateMapper.xml new file mode 100644 index 00000000..0dc89f1e --- /dev/null +++ b/ghy-order/src/main/resources/mapper/order/OrderTemplateMapper.xml @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE order_template + + template_name = #{templateName}, + goods_brand = #{goodsBrand}, + goods_specification = #{goodsSpecification}, + video_url = #{videoUrl}, + image_url = #{imageUrl}, + address_id = #{addressId}, + street_id = #{streetId}, + full_address = #{fullAddress}, + customer_name = #{customerName}, + customer_phone = #{customerPhone}, + order_mode = #{orderMode}, + price = #{price}, + agency_fund = #{agencyFund}, + information_fee = #{informationFee}, + bonus = #{bonus}, + logistics_code = #{logisticsCode}, + need_wagon = #{needWagon}, + need_carry = #{needCarry}, + floor = #{floor}, + update_by = #{updateBy}, + update_time = SYSDATE() + + WHERE id = #{id} + + + + INSERT INTO order_template( + user_id, + template_name, + goods_brand, + goods_specification = #{goodsSpecification}, + video_url, + image_url, + address_id, + street_id, + full_address, + customer_name, + customer_phone, + order_mode, + price, + agency_fund, + information_fee, + bonus, + logistics_code, + need_wagon, + need_carry, + floor, + create_time + )VALUES( + #{userId}, + #{templateName}, + #{goodsBrand}, + goods_specification = #{goodsSpecification}, + #{videoUrl}, + #{imageUrl}, + #{addressId}, + #{streetId}, + #{fullAddress}, + #{customerName}, + #{customerPhone}, + #{orderMode}, + #{price}, + #{agencyFund}, + #{informationFee}, + #{bonus}, + #{logisticsCode}, + #{needWagon}, + #{needCarry}, + #{floor}, + SYSDATE() + ) + + + + + + + + + + DELETE FROM order_template WHERE order_detail_id = #{orderDetailId} + + + + DELETE FROM order_template WHERE id IN + + #{id} + + + + + SELECT id, user_id, template_name,goods_brand, goods_specification, video_url, image_url, + address_id, street_id, full_address, customer_name, customer_phone, order_mode, + price, agency_fund, information_fee, bonus, logistics_code, need_wagon, need_carry, floor, + create_by, create_time, update_by, update_time, remark + FROM order_template + + + + + + INSERT INTO order_template_goods(order_template_id, goods_id, goods_name, dept_goodscategory_id, number) + VALUES(#{orderTemplateId}, #{goodsId}, #{goodsName}, #{deptGoodsCategoryId}, #{number}) + + + + DELETE FROM order_template_goods WHERE order_template_id = #{orderTemplateId} + + + + From 2348cb89c72c8e21b63caf1304ef23546079a5a1 Mon Sep 17 00:00:00 2001 From: HH Date: Thu, 23 Feb 2023 10:28:11 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/order/OrderTemplateMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ghy-order/src/main/resources/mapper/order/OrderTemplateMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderTemplateMapper.xml index 0dc89f1e..4d4af3f1 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderTemplateMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderTemplateMapper.xml @@ -130,7 +130,7 @@ - DELETE FROM order_template WHERE order_detail_id = #{orderDetailId} + DELETE FROM order_template WHERE id = #{id} From 346169a07ef6029ce401f43a0b916416d915d4cb Mon Sep 17 00:00:00 2001 From: HH Date: Thu, 23 Feb 2023 15:53:28 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=9A=84Service=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/OrderTemplateController.java | 19 +++++++++++++++++++ .../impl/OrderTemplateServiceImpl.java | 19 +++++++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 ghy-admin/src/main/java/com/ghy/web/controller/order/OrderTemplateController.java diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderTemplateController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderTemplateController.java new file mode 100644 index 00000000..63a6cf0a --- /dev/null +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderTemplateController.java @@ -0,0 +1,19 @@ +package com.ghy.web.controller.order; + +import com.ghy.order.service.OrderTemplateService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.annotation.Resource; + +@Slf4j +@Controller +@RequestMapping("order/template") +public class OrderTemplateController { + + @Resource + private OrderTemplateService orderTemplateService; + + +} diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java index e90d0626..9439a0c9 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java @@ -23,6 +23,7 @@ public class OrderTemplateServiceImpl implements OrderTemplateService { @Transactional(rollbackFor = Exception.class) public int insert(OrderTemplate orderTemplate) { int count = mapper.insert(orderTemplate); + // 保存选中的商品信息 saveGoods(orderTemplate); return count; } @@ -31,11 +32,15 @@ public class OrderTemplateServiceImpl implements OrderTemplateService { @Transactional(rollbackFor = Exception.class) public int update(OrderTemplate orderTemplate) { int count = mapper.update(orderTemplate); + // 全量替换模板的商品信息 mapper.deleteGoods(orderTemplate.getId()); saveGoods(orderTemplate); return count; } + /** + * 保存订单模板中选中的商品信息 + */ private void saveGoods(OrderTemplate orderTemplate) { List goods = orderTemplate.getGoods(); if (!CollectionUtils.isEmpty(goods)) { @@ -49,7 +54,9 @@ public class OrderTemplateServiceImpl implements OrderTemplateService { @Override @Transactional(rollbackFor = Exception.class) public int delete(Long id) { + // 删除模板关联的商品信息 mapper.deleteGoods(id); + // 删除模板 return mapper.delete(id); } @@ -66,7 +73,10 @@ public class OrderTemplateServiceImpl implements OrderTemplateService { @Override public OrderTemplate selectById(Long id) { - return mapper.selectById(id); + List goods = mapper.selectGoods(id); + OrderTemplate orderTemplate = mapper.selectById(id); + orderTemplate.setGoods(goods); + return orderTemplate; } @Override @@ -74,7 +84,12 @@ public class OrderTemplateServiceImpl implements OrderTemplateService { if (CollectionUtils.isEmpty(ids)) { return new ArrayList<>(); } else { - return mapper.selectByIds(ids); + List orderTemplates = mapper.selectByIds(ids); + for (OrderTemplate item : orderTemplates) { + List goods = mapper.selectGoods(item.getId()); + item.setGoods(goods); + } + return orderTemplates; } } From 29c2d6dab9b50559c2b1e2adbd11e0d91852bd05 Mon Sep 17 00:00:00 2001 From: HH Date: Thu, 23 Feb 2023 15:57:31 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=9A=84Service=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/service/OrderTemplateService.java | 4 ++-- .../impl/OrderTemplateServiceImpl.java | 23 ++++++++----------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/ghy-order/src/main/java/com/ghy/order/service/OrderTemplateService.java b/ghy-order/src/main/java/com/ghy/order/service/OrderTemplateService.java index afcb809e..59e21e86 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/OrderTemplateService.java +++ b/ghy-order/src/main/java/com/ghy/order/service/OrderTemplateService.java @@ -17,7 +17,7 @@ public interface OrderTemplateService { OrderTemplate selectById(Long id); - List selectByIds(Set ids); - List select(OrderTemplate orderTemplate); + + List selectByUserId(Long userId); } diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java index 9439a0c9..bf878b0d 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java @@ -9,7 +9,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; -import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -80,21 +79,19 @@ public class OrderTemplateServiceImpl implements OrderTemplateService { } @Override - public List selectByIds(Set ids) { - if (CollectionUtils.isEmpty(ids)) { - return new ArrayList<>(); - } else { - List orderTemplates = mapper.selectByIds(ids); - for (OrderTemplate item : orderTemplates) { - List goods = mapper.selectGoods(item.getId()); - item.setGoods(goods); - } - return orderTemplates; + public List select(OrderTemplate orderTemplate) { + List list = mapper.select(orderTemplate); + for (OrderTemplate item : list) { + List goods = mapper.selectGoods(item.getId()); + item.setGoods(goods); } + return list; } @Override - public List select(OrderTemplate orderTemplate) { - return mapper.select(orderTemplate); + public List selectByUserId(Long userId) { + OrderTemplate param = new OrderTemplate(); + param.setUserId(userId); + return select(param); } } From 62b5e00e4eeaaa4cbfb92e0b36d248a1e506700c Mon Sep 17 00:00:00 2001 From: HH Date: Thu, 23 Feb 2023 16:18:32 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=9A=84Controller=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/OrderTemplateController.java | 31 +++++++++++++++++-- .../com/ghy/order/domain/OrderTemplate.java | 1 - .../impl/OrderTemplateServiceImpl.java | 1 + 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderTemplateController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderTemplateController.java index 63a6cf0a..cee2e191 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderTemplateController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderTemplateController.java @@ -1,19 +1,46 @@ package com.ghy.web.controller.order; +import com.ghy.common.core.controller.BaseController; +import com.ghy.order.domain.OrderTemplate; import com.ghy.order.service.OrderTemplateService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; @Slf4j @Controller @RequestMapping("order/template") -public class OrderTemplateController { +public class OrderTemplateController extends BaseController { @Resource private OrderTemplateService orderTemplateService; + @PostMapping("insert") + public int insert(OrderTemplate orderTemplate) { + Long userId = getUserId(); + Assert.notNull(userId, "UserId is null !"); + orderTemplate.setUserId(userId); + return orderTemplateService.insert(orderTemplate); + } + @DeleteMapping("delete") + public int delete(Long id) { + return orderTemplateService.delete(id); + } + + @PutMapping("update") + public int update(OrderTemplate orderTemplate) { + return orderTemplateService.update(orderTemplate); + } + + @ResponseBody + @GetMapping("selectByUserId") + public List selectByUserId() { + Long userId = getUserId(); + return orderTemplateService.selectByUserId(userId); + } } diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderTemplate.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderTemplate.java index 1cd42c0c..93546990 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/OrderTemplate.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderTemplate.java @@ -1,7 +1,6 @@ package com.ghy.order.domain; import com.ghy.common.core.domain.BaseEntity; -import com.ghy.goods.domain.Goods; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java index bf878b0d..66f724a6 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderTemplateServiceImpl.java @@ -6,6 +6,7 @@ import com.ghy.order.mapper.OrderTemplateMapper; import com.ghy.order.service.OrderTemplateService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import javax.annotation.Resource;