完成数据导入开发。

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.ExcelReader;
import com.ruoyi.business.domain.BizAccount;
import com.ruoyi.business.domain.BizMember;
import com.ruoyi.business.mapper.*;
import com.ruoyi.business.service.IBizMemberService;
import com.ruoyi.business.sync.*;
@ -16,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.List;
@RestController
@RequestMapping("/ajax/data")
@ -83,7 +85,7 @@ public class SyncDataController extends BaseController {
public AjaxResult order(@RequestParam("file") MultipartFile file) {
ExcelReader reader = null;
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();
} catch (IOException e) {
e.printStackTrace();
@ -96,6 +98,42 @@ public class SyncDataController extends BaseController {
@PostMapping("/initUserTree")
public AjaxResult initUserTree() {
List<BizMember> memberList = memberMapper.selectBizMemberAll();
BizMember member = memberMapper.selectBizMemberByMobile("13971055153");
getChild(member, memberList);
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);
/**
* 查询所有会员
* @return 会员集合
*/
public List<BizMember> selectBizMemberAll();
/**
* 会员福豆余额
*

View File

@ -20,6 +20,14 @@ public interface BizProductMapper
*/
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 addtime;
private String detailsAddress;
private String addID;
private String mobile;
private String addId;
private String userTelephone;
public String getId() {
return id;
@ -140,19 +140,19 @@ public class OrderData {
this.detailsAddress = detailsAddress;
}
public String getAddID() {
return addID;
public String getAddId() {
return addId;
}
public void setAddID(String addID) {
this.addID = addID;
public void setAddId(String addId) {
this.addId = addId;
}
public String getMobile() {
return mobile;
public String getUserTelephone() {
return userTelephone;
}
public void setMobile(String mobile) {
this.mobile = mobile;
public void setUserTelephone(String userTelephone) {
this.userTelephone = userTelephone;
}
}

View File

@ -22,9 +22,12 @@ public class OrderDataListener extends AnalysisEventListener<OrderData> {
private BizMemberMapper memberMapper;
public OrderDataListener(BizOrderMapper orderMapper, BizMemberMapper memberMapper) {
private BizProductMapper productMapper;
public OrderDataListener(BizOrderMapper orderMapper, BizMemberMapper memberMapper, BizProductMapper productMapper) {
this.orderMapper = orderMapper;
this.memberMapper = memberMapper;
this.productMapper = productMapper;
}
@Override
@ -32,12 +35,21 @@ public class OrderDataListener extends AnalysisEventListener<OrderData> {
BizOrder order = new BizOrder();
order.setId(Long.valueOf(orderData.getId()));
order.setOrderSn(orderData.getOrderNumber());
order.setMobile(orderData.getMobile());
order.setMobile(orderData.getUserTelephone());
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.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.setRemark(orderData.getOrderRemark());
@ -59,7 +71,14 @@ public class OrderDataListener extends AnalysisEventListener<OrderData> {
orderDetail.setProductCount(Integer.parseInt(orderData.getBuyGoodsNums()));
orderDetail.setCreateBy("admin");
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);
}

View File

@ -31,6 +31,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from biz_member a
</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">
<include refid="selectBizMemberVo"/>
<where>
@ -40,12 +45,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by a.id desc
</select>
<select id="selectBizMemberAll" resultMap="BizMemberResult">
<include refid="selectBizMemberAllVo"/>
</select>
<select id="selectBizMemberById" parameterType="Long" resultMap="BizMemberResult">
<include refid="selectBizMemberVo"/>
where a.id = #{id}
</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>
@ -127,12 +136,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</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}
and exists(select id from biz_order b where b.member_id = a.id and is_team = 1)
</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
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

View File

@ -53,6 +53,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id = #{productId}
</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, product_id, image_type, image_url
from biz_product_image