From 4531e111d680e0c2b8e2559c7b41aee31deace82 Mon Sep 17 00:00:00 2001 From: "bei.wu" <5306546@qq.com> Date: Mon, 21 Sep 2020 23:31:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/ajax/SyncDataController.java | 44 ++++- .../business/domain/BizMemberAddress.java | 12 ++ .../com/ruoyi/business/sync/OrderData.java | 158 ++++++++++++++++++ .../business/sync/OrderDataListener.java | 70 ++++++++ .../ruoyi/business/sync/UserAddressData.java | 122 ++++++++++++++ .../sync/UserAddressDataListener.java | 56 +++++++ 6 files changed, 454 insertions(+), 8 deletions(-) create mode 100644 ruoyi-business/src/main/java/com/ruoyi/business/sync/OrderData.java create mode 100644 ruoyi-business/src/main/java/com/ruoyi/business/sync/OrderDataListener.java create mode 100644 ruoyi-business/src/main/java/com/ruoyi/business/sync/UserAddressData.java create mode 100644 ruoyi-business/src/main/java/com/ruoyi/business/sync/UserAddressDataListener.java diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/ajax/SyncDataController.java b/ruoyi-business/src/main/java/com/ruoyi/business/ajax/SyncDataController.java index 8ab119032..660bb23e9 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/ajax/SyncDataController.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/ajax/SyncDataController.java @@ -3,15 +3,9 @@ package com.ruoyi.business.ajax; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelReader; import com.ruoyi.business.domain.BizAccount; -import com.ruoyi.business.mapper.BizAccountMapper; -import com.ruoyi.business.mapper.BizMemberMapper; -import com.ruoyi.business.mapper.BizProductMapper; -import com.ruoyi.business.mapper.BizProductTypeMapper; +import com.ruoyi.business.mapper.*; import com.ruoyi.business.service.IBizMemberService; -import com.ruoyi.business.sync.GoodsData; -import com.ruoyi.business.sync.GoodsDataListener; -import com.ruoyi.business.sync.UserData; -import com.ruoyi.business.sync.UserDataListener; +import com.ruoyi.business.sync.*; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import org.springframework.web.bind.annotation.PostMapping; @@ -35,6 +29,10 @@ public class SyncDataController extends BaseController { private BizProductMapper productMapper; @Resource private BizProductTypeMapper productTypeMapper; + @Resource + private BizMemberAddressMapper memberAddressMapper; + @Resource + private BizOrderMapper orderMapper; @PostMapping("/user") public AjaxResult user(@RequestParam("file") MultipartFile file) { @@ -66,6 +64,36 @@ public class SyncDataController extends BaseController { return AjaxResult.success(); } + @PostMapping("/memberAddress") + public AjaxResult memberAddress(@RequestParam("file") MultipartFile file) { + ExcelReader reader = null; + try { + reader = EasyExcel.read(file.getInputStream(), UserAddressData.class, new UserAddressDataListener(memberAddressMapper, memberMapper)).build(); + reader.readAll(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + assert reader != null; + reader.finish(); + } + return AjaxResult.success(); + } + + @PostMapping("/order") + public AjaxResult order(@RequestParam("file") MultipartFile file) { + ExcelReader reader = null; + try { + reader = EasyExcel.read(file.getInputStream(), OrderData.class, new OrderDataListener(orderMapper, memberMapper)).build(); + reader.readAll(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + assert reader != null; + reader.finish(); + } + return AjaxResult.success(); + } + @PostMapping("/initUserTree") public AjaxResult initUserTree() { return AjaxResult.success(); diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizMemberAddress.java b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizMemberAddress.java index 9850e7418..29e72018c 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizMemberAddress.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizMemberAddress.java @@ -62,6 +62,9 @@ public class BizMemberAddress extends BaseEntity @Excel(name = "是否删除:0-否,1-是") private Integer isDelete; + /** 是否默认:0-否,1-是 */ + private Integer isDefault; + public void setId(Long id) { this.id = id; @@ -170,6 +173,14 @@ public class BizMemberAddress extends BaseEntity return isDelete; } + public Integer getIsDefault() { + return isDefault; + } + + public void setIsDefault(Integer isDefault) { + this.isDefault = isDefault; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -184,6 +195,7 @@ public class BizMemberAddress extends BaseEntity .append("areaCode", getAreaCode()) .append("areaName", getAreaName()) .append("isDelete", getIsDelete()) + .append("isDefault", getIsDefault()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/sync/OrderData.java b/ruoyi-business/src/main/java/com/ruoyi/business/sync/OrderData.java new file mode 100644 index 000000000..8401c13a7 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/sync/OrderData.java @@ -0,0 +1,158 @@ +package com.ruoyi.business.sync; + +public class OrderData { + + private String id; + private String orderNumber; + private String userId; + private String goodsId; + private String addressId; + private String goodsUnitPrice; + private String buyGoodsNums; + private String payCount; + private String orderStatus; + private String usePorintsType; + private String payMethod; + private String goodsFreight; + private String orderRemark; + private String addtime; + private String detailsAddress; + private String addID; + private String mobile; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getOrderNumber() { + return orderNumber; + } + + public void setOrderNumber(String orderNumber) { + this.orderNumber = orderNumber; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getGoodsId() { + return goodsId; + } + + public void setGoodsId(String goodsId) { + this.goodsId = goodsId; + } + + public String getAddressId() { + return addressId; + } + + public void setAddressId(String addressId) { + this.addressId = addressId; + } + + public String getGoodsUnitPrice() { + return goodsUnitPrice; + } + + public void setGoodsUnitPrice(String goodsUnitPrice) { + this.goodsUnitPrice = goodsUnitPrice; + } + + public String getBuyGoodsNums() { + return buyGoodsNums; + } + + public void setBuyGoodsNums(String buyGoodsNums) { + this.buyGoodsNums = buyGoodsNums; + } + + public String getPayCount() { + return payCount; + } + + public void setPayCount(String payCount) { + this.payCount = payCount; + } + + public String getOrderStatus() { + return orderStatus; + } + + public void setOrderStatus(String orderStatus) { + this.orderStatus = orderStatus; + } + + public String getUsePorintsType() { + return usePorintsType; + } + + public void setUsePorintsType(String usePorintsType) { + this.usePorintsType = usePorintsType; + } + + public String getPayMethod() { + return payMethod; + } + + public void setPayMethod(String payMethod) { + this.payMethod = payMethod; + } + + public String getGoodsFreight() { + return goodsFreight; + } + + public void setGoodsFreight(String goodsFreight) { + this.goodsFreight = goodsFreight; + } + + public String getOrderRemark() { + return orderRemark; + } + + public void setOrderRemark(String orderRemark) { + this.orderRemark = orderRemark; + } + + public String getAddtime() { + return addtime; + } + + public void setAddtime(String addtime) { + this.addtime = addtime; + } + + public String getDetailsAddress() { + return detailsAddress; + } + + public void setDetailsAddress(String detailsAddress) { + this.detailsAddress = detailsAddress; + } + + public String getAddID() { + return addID; + } + + public void setAddID(String addID) { + this.addID = addID; + } + + public String getMobile() { + return mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile; + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/sync/OrderDataListener.java b/ruoyi-business/src/main/java/com/ruoyi/business/sync/OrderDataListener.java new file mode 100644 index 000000000..d0fc81267 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/sync/OrderDataListener.java @@ -0,0 +1,70 @@ +package com.ruoyi.business.sync; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.google.common.collect.Lists; +import com.ruoyi.business.domain.*; +import com.ruoyi.business.mapper.BizMemberMapper; +import com.ruoyi.business.mapper.BizOrderMapper; +import com.ruoyi.business.mapper.BizProductMapper; +import com.ruoyi.business.mapper.BizProductTypeMapper; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import org.apache.commons.collections.CollectionUtils; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Objects; + +public class OrderDataListener extends AnalysisEventListener { + + private BizOrderMapper orderMapper; + + private BizMemberMapper memberMapper; + + public OrderDataListener(BizOrderMapper orderMapper, BizMemberMapper memberMapper) { + this.orderMapper = orderMapper; + this.memberMapper = memberMapper; + } + + @Override + public void invoke(OrderData orderData, AnalysisContext analysisContext) { + BizOrder order = new BizOrder(); + order.setId(Long.valueOf(orderData.getId())); + order.setOrderSn(orderData.getOrderNumber()); + order.setMobile(orderData.getMobile()); + order.setOrderAmount(new BigDecimal(orderData.getPayCount())); + order.setOrderStatus(Integer.parseInt(orderData.getOrderStatus())); + order.setCreateBy("admin"); + order.setCreateTime(DateUtils.parseDate(orderData.getAddtime())); + order.setAddressId(StringUtils.isBlank(orderData.getAddID()) ? 0L : Long.parseLong(orderData.getAddID())); + order.setAddressDetail(orderData.getDetailsAddress()); + order.setRemark(orderData.getOrderRemark()); + + BizMember member = memberMapper.selectBizMemberByMobile(order.getMobile()); + if (Objects.isNull(member)) { + order.setMemberId(0L); + order.setMemberName(""); + } else { + order.setMemberId(member.getId()); + order.setMemberName(member.getMemberName()); + } + orderMapper.insertBizOrder(order); + + BizOrderDetail orderDetail = new BizOrderDetail(); + orderDetail.setOrderId(order.getId()); + orderDetail.setOrderSn(order.getOrderSn()); + orderDetail.setProductAmount(new BigDecimal(orderData.getGoodsUnitPrice())); + orderDetail.setProductCode(orderData.getGoodsId()); + orderDetail.setProductCount(Integer.parseInt(orderData.getBuyGoodsNums())); + orderDetail.setCreateBy("admin"); + orderDetail.setCreateTime(order.getCreateTime()); + orderDetail.setProductId(0L); + orderMapper.insertBizOrderDetail(orderDetail); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/sync/UserAddressData.java b/ruoyi-business/src/main/java/com/ruoyi/business/sync/UserAddressData.java new file mode 100644 index 000000000..8005a26af --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/sync/UserAddressData.java @@ -0,0 +1,122 @@ +package com.ruoyi.business.sync; + +public class UserAddressData { + + private String id; + private String addressId; + private String userId; + private String receiveUser; + private String receiveTelephone; + private String receiveAreaCode; + private String receiveAreaName; + private String receiveCityName; + private String receiveCityCode; + private String receiveProvinceName; + private String receiveProvinceCode; + private String detailsAddress; + private String isDefalut; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getAddressId() { + return addressId; + } + + public void setAddressId(String addressId) { + this.addressId = addressId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getReceiveUser() { + return receiveUser; + } + + public void setReceiveUser(String receiveUser) { + this.receiveUser = receiveUser; + } + + public String getReceiveTelephone() { + return receiveTelephone; + } + + public void setReceiveTelephone(String receiveTelephone) { + this.receiveTelephone = receiveTelephone; + } + + public String getReceiveAreaCode() { + return receiveAreaCode; + } + + public void setReceiveAreaCode(String receiveAreaCode) { + this.receiveAreaCode = receiveAreaCode; + } + + public String getReceiveAreaName() { + return receiveAreaName; + } + + public void setReceiveAreaName(String receiveAreaName) { + this.receiveAreaName = receiveAreaName; + } + + public String getReceiveCityName() { + return receiveCityName; + } + + public void setReceiveCityName(String receiveCityName) { + this.receiveCityName = receiveCityName; + } + + public String getReceiveCityCode() { + return receiveCityCode; + } + + public void setReceiveCityCode(String receiveCityCode) { + this.receiveCityCode = receiveCityCode; + } + + public String getReceiveProvinceName() { + return receiveProvinceName; + } + + public void setReceiveProvinceName(String receiveProvinceName) { + this.receiveProvinceName = receiveProvinceName; + } + + public String getReceiveProvinceCode() { + return receiveProvinceCode; + } + + public void setReceiveProvinceCode(String receiveProvinceCode) { + this.receiveProvinceCode = receiveProvinceCode; + } + + public String getDetailsAddress() { + return detailsAddress; + } + + public void setDetailsAddress(String detailsAddress) { + this.detailsAddress = detailsAddress; + } + + public String getIsDefalut() { + return isDefalut; + } + + public void setIsDefalut(String isDefalut) { + this.isDefalut = isDefalut; + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/sync/UserAddressDataListener.java b/ruoyi-business/src/main/java/com/ruoyi/business/sync/UserAddressDataListener.java new file mode 100644 index 000000000..3e9af5755 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/sync/UserAddressDataListener.java @@ -0,0 +1,56 @@ +package com.ruoyi.business.sync; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.ruoyi.business.domain.BizMember; +import com.ruoyi.business.domain.BizMemberAddress; +import com.ruoyi.business.mapper.BizMemberAddressMapper; +import com.ruoyi.business.mapper.BizMemberMapper; +import com.ruoyi.common.utils.DateUtils; + +import java.util.Objects; + +public class UserAddressDataListener extends AnalysisEventListener { + + private BizMemberAddressMapper memberAddressMapper; + + private BizMemberMapper memberMapper; + + public UserAddressDataListener(BizMemberAddressMapper memberAddressMapper, BizMemberMapper memberMapper) { + this.memberAddressMapper = memberAddressMapper; + this.memberMapper = memberMapper; + } + + @Override + public void invoke(UserAddressData userAddressData, AnalysisContext analysisContext) { + BizMemberAddress memberAddress = new BizMemberAddress(); + memberAddress.setId(Long.valueOf(userAddressData.getId())); + memberAddress.setAddress(userAddressData.getDetailsAddress()); + memberAddress.setProvinceCode(userAddressData.getReceiveProvinceCode()); + memberAddress.setProvinceName(userAddressData.getReceiveProvinceName()); + memberAddress.setCityCode(userAddressData.getReceiveCityCode()); + memberAddress.setCityName(userAddressData.getReceiveCityName()); + memberAddress.setAreaCode(userAddressData.getReceiveAreaCode()); + memberAddress.setAreaName(userAddressData.getReceiveAreaName()); + memberAddress.setIsDefault("Y".equals(userAddressData.getIsDefalut()) ? 1 : 0); + memberAddress.setIsDelete(0); + memberAddress.setMobile(userAddressData.getReceiveTelephone()); + memberAddress.setMemberName(userAddressData.getReceiveUser()); + memberAddress.setCreateBy("admin"); + memberAddress.setCreateTime(DateUtils.getNowDate()); + + BizMember member = memberMapper.selectBizMemberByMobile(userAddressData.getReceiveTelephone()); + if (!Objects.isNull(member)) { + memberAddress.setMemberID(member.getId()); + } else { + memberAddress.setMemberID(0L); + } + memberAddressMapper.insertBizMemberAddress(memberAddress); + + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } +}