完成数据导入开发。

This commit is contained in:
bei.wu 2020-09-23 15:10:45 +08:00
parent 6790bf68c6
commit ebd6a507b8
7 changed files with 105 additions and 20 deletions

View File

@ -3,6 +3,7 @@ package com.ruoyi.business.ajax;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelReader; import com.alibaba.excel.ExcelReader;
import com.ruoyi.business.domain.BizAccount; import com.ruoyi.business.domain.BizAccount;
import com.ruoyi.business.domain.BizMember;
import com.ruoyi.business.mapper.*; import com.ruoyi.business.mapper.*;
import com.ruoyi.business.service.IBizMemberService; import com.ruoyi.business.service.IBizMemberService;
import com.ruoyi.business.sync.*; import com.ruoyi.business.sync.*;
@ -16,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.IOException; import java.io.IOException;
import java.util.List;
@RestController @RestController
@RequestMapping("/ajax/data") @RequestMapping("/ajax/data")
@ -83,7 +85,7 @@ public class SyncDataController extends BaseController {
public AjaxResult order(@RequestParam("file") MultipartFile file) { public AjaxResult order(@RequestParam("file") MultipartFile file) {
ExcelReader reader = null; ExcelReader reader = null;
try { try {
reader = EasyExcel.read(file.getInputStream(), OrderData.class, new OrderDataListener(orderMapper, memberMapper)).build(); reader = EasyExcel.read(file.getInputStream(), OrderData.class, new OrderDataListener(orderMapper, memberMapper, productMapper)).build();
reader.readAll(); reader.readAll();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
@ -96,6 +98,42 @@ public class SyncDataController extends BaseController {
@PostMapping("/initUserTree") @PostMapping("/initUserTree")
public AjaxResult initUserTree() { public AjaxResult initUserTree() {
List<BizMember> memberList = memberMapper.selectBizMemberAll();
BizMember member = memberMapper.selectBizMemberByMobile("13971055153");
getChild(member, memberList);
return AjaxResult.success(); return AjaxResult.success();
} }
private void getChild(BizMember member, List<BizMember> memberList) {
for (BizMember m : memberList) {
if (member.getMobile().equals(m.getRecommendMobile())) {
m.setRecommendId(member.getId());
memberMapper.updateBizMember(m);
getChild(m, memberList);
}
}
}
@PostMapping("/initRecommendIds")
public AjaxResult initRecommendIds() {
List<BizMember> memberList = memberMapper.selectBizMemberAll();
for (BizMember member : memberList) {
String id = getChildIds(member, memberList, new StringBuffer());
member.setRecommendAllId(id.substring(0, id.length()));
memberMapper.updateBizMember(member);
}
return AjaxResult.success();
}
private String getChildIds(BizMember member, List<BizMember> memberList, StringBuffer sb) {
for (BizMember m : memberList) {
if (member.getRecommendId().equals(m.getId())) {
String id = m.getId() + ",";
sb.insert(0, id);
getChildIds(m, memberList, sb);
}
}
return sb.toString();
}
} }

View File

@ -45,6 +45,12 @@ public interface BizMemberMapper
*/ */
public List<BizMember> selectBizMemberList(BizMember bizMember); public List<BizMember> selectBizMemberList(BizMember bizMember);
/**
* 查询所有会员
* @return 会员集合
*/
public List<BizMember> selectBizMemberAll();
/** /**
* 会员福豆余额 * 会员福豆余额
* *

View File

@ -20,6 +20,14 @@ public interface BizProductMapper
*/ */
public BizProduct selectBizProductById(Long productId); public BizProduct selectBizProductById(Long productId);
/**
* 查询产品
*
* @param productCode 产品编码
* @return 产品
*/
public BizProduct selectBizProductByCode(String productCode);
/** /**
* 查询产品图片列表 * 查询产品图片列表
* *

View File

@ -17,8 +17,8 @@ public class OrderData {
private String orderRemark; private String orderRemark;
private String addtime; private String addtime;
private String detailsAddress; private String detailsAddress;
private String addID; private String addId;
private String mobile; private String userTelephone;
public String getId() { public String getId() {
return id; return id;
@ -140,19 +140,19 @@ public class OrderData {
this.detailsAddress = detailsAddress; this.detailsAddress = detailsAddress;
} }
public String getAddID() { public String getAddId() {
return addID; return addId;
} }
public void setAddID(String addID) { public void setAddId(String addId) {
this.addID = addID; this.addId = addId;
} }
public String getMobile() { public String getUserTelephone() {
return mobile; return userTelephone;
} }
public void setMobile(String mobile) { public void setUserTelephone(String userTelephone) {
this.mobile = mobile; this.userTelephone = userTelephone;
} }
} }

View File

@ -22,9 +22,12 @@ public class OrderDataListener extends AnalysisEventListener<OrderData> {
private BizMemberMapper memberMapper; private BizMemberMapper memberMapper;
public OrderDataListener(BizOrderMapper orderMapper, BizMemberMapper memberMapper) { private BizProductMapper productMapper;
public OrderDataListener(BizOrderMapper orderMapper, BizMemberMapper memberMapper, BizProductMapper productMapper) {
this.orderMapper = orderMapper; this.orderMapper = orderMapper;
this.memberMapper = memberMapper; this.memberMapper = memberMapper;
this.productMapper = productMapper;
} }
@Override @Override
@ -32,12 +35,21 @@ public class OrderDataListener extends AnalysisEventListener<OrderData> {
BizOrder order = new BizOrder(); BizOrder order = new BizOrder();
order.setId(Long.valueOf(orderData.getId())); order.setId(Long.valueOf(orderData.getId()));
order.setOrderSn(orderData.getOrderNumber()); order.setOrderSn(orderData.getOrderNumber());
order.setMobile(orderData.getMobile()); order.setMobile(orderData.getUserTelephone());
order.setOrderAmount(new BigDecimal(orderData.getPayCount())); order.setOrderAmount(new BigDecimal(orderData.getPayCount()));
order.setOrderStatus(Integer.parseInt(orderData.getOrderStatus()));
int status;
if ("2".equals(orderData.getOrderStatus())) {
status = 3;
} else if ("3".equals(orderData.getOrderStatus())) {
status = 4;
} else {
status = Integer.parseInt(orderData.getOrderStatus());
}
order.setOrderStatus(status);
order.setCreateBy("admin"); order.setCreateBy("admin");
order.setCreateTime(DateUtils.parseDate(orderData.getAddtime())); order.setCreateTime(DateUtils.parseDate(orderData.getAddtime()));
order.setAddressId(StringUtils.isBlank(orderData.getAddID()) ? 0L : Long.parseLong(orderData.getAddID())); order.setAddressId(StringUtils.isBlank(orderData.getAddId()) ? 0L : Long.parseLong(orderData.getAddId()));
order.setAddressDetail(orderData.getDetailsAddress()); order.setAddressDetail(orderData.getDetailsAddress());
order.setRemark(orderData.getOrderRemark()); order.setRemark(orderData.getOrderRemark());
@ -59,7 +71,14 @@ public class OrderDataListener extends AnalysisEventListener<OrderData> {
orderDetail.setProductCount(Integer.parseInt(orderData.getBuyGoodsNums())); orderDetail.setProductCount(Integer.parseInt(orderData.getBuyGoodsNums()));
orderDetail.setCreateBy("admin"); orderDetail.setCreateBy("admin");
orderDetail.setCreateTime(order.getCreateTime()); orderDetail.setCreateTime(order.getCreateTime());
orderDetail.setProductId(0L);
BizProduct product = productMapper.selectBizProductByCode(orderData.getGoodsId());
if (Objects.isNull(product)) {
orderDetail.setProductId(0L);
} else {
orderDetail.setProductId(product.getId());
}
orderMapper.insertBizOrderDetail(orderDetail); orderMapper.insertBizOrderDetail(orderDetail);
} }

View File

@ -31,6 +31,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from biz_member a from biz_member a
</sql> </sql>
<sql id="selectBizMemberAllVo">
select id, mobile, member_name, password, recommend_id, recommend_mobile, recommend_name, member_type, is_delete, is_enable, create_by, create_time, update_by, update_time
from biz_member a
</sql>
<select id="selectBizMemberList" parameterType="BizMember" resultMap="BizMemberResult"> <select id="selectBizMemberList" parameterType="BizMember" resultMap="BizMemberResult">
<include refid="selectBizMemberVo"/> <include refid="selectBizMemberVo"/>
<where> <where>
@ -39,13 +44,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
order by a.id desc order by a.id desc
</select> </select>
<select id="selectBizMemberAll" resultMap="BizMemberResult">
<include refid="selectBizMemberAllVo"/>
</select>
<select id="selectBizMemberById" parameterType="Long" resultMap="BizMemberResult"> <select id="selectBizMemberById" parameterType="Long" resultMap="BizMemberResult">
<include refid="selectBizMemberVo"/> <include refid="selectBizMemberVo"/>
where a.id = #{id} where a.id = #{id}
</select> </select>
<select id="selectBizMemberDou" parameterType="java.util.Map" resultType="Long"> <select id="selectBizMemberDou" parameterType="java.util.Map" resultType="java.lang.Long">
select amount from biz_account where member_id = #{memberID} and account_type = #{type} select amount from biz_account where member_id = #{memberID} and account_type = #{type}
</select> </select>
@ -127,12 +136,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach> </foreach>
</delete> </delete>
<select id="getValidChildCount" parameterType="Long" resultType="Integer"> <select id="getValidChildCount" parameterType="Long" resultType="java.lang.Integer">
select count(id) from biz_member a where recommend_id = #{memberID} select count(id) from biz_member a where recommend_id = #{memberID}
and exists(select id from biz_order b where b.member_id = a.id and is_team = 1) and exists(select id from biz_order b where b.member_id = a.id and is_team = 1)
</select> </select>
<select id="selectTeamData" parameterType="Map" resultType="Map"> <select id="selectTeamData" parameterType="Map" resultType="java.util.Map">
select a.id,a.mobile,a.member_name,a.recommend_id, sum(IF(c.product_count IS NULL,0,c.product_count)) as num from biz_member a select a.id,a.mobile,a.member_name,a.recommend_id, sum(IF(c.product_count IS NULL,0,c.product_count)) as num from biz_member a
left join biz_order b on a.id = b.member_id and b.order_status > 0 and b.is_team = 1 left join biz_order b on a.id = b.member_id and b.order_status > 0 and b.is_team = 1
left join biz_order_detail c on c.order_id = b.id left join biz_order_detail c on c.order_id = b.id

View File

@ -53,13 +53,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id = #{productId} where id = #{productId}
</select> </select>
<select id="selectBizProductByCode" parameterType="Long" resultMap="BizProductResult">
<include refid="selectBizProductVo"/>
where product_code = #{productCode} limit 1
</select>
<select id="selectBizProductImageList" parameterType="Long" resultMap="BizProductImageResult"> <select id="selectBizProductImageList" parameterType="Long" resultMap="BizProductImageResult">
select id, product_id, image_type, image_url select id, product_id, image_type, image_url
from biz_product_image from biz_product_image
where product_id = #{productId} where product_id = #{productId}
order by id order by id
</select> </select>
<insert id="insertBizProduct" parameterType="BizProduct" useGeneratedKeys="true" keyProperty="productId"> <insert id="insertBizProduct" parameterType="BizProduct" useGeneratedKeys="true" keyProperty="productId">
insert into biz_product insert into biz_product
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">