Commit 9bd06b53 authored by unset's avatar unset

会员分成记录信息

parent db1def8a
package com.github.wxiaoqi.security.admin.biz;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.github.wxiaoqi.security.admin.dto.MemberShareRecordDto;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.MemberShareCountRecord;
import com.github.wxiaoqi.security.admin.entity.MemberShareRecord;
import com.github.wxiaoqi.security.admin.entity.*;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper;
import com.github.wxiaoqi.security.admin.mapper.MemberShareRecordMapper;
import com.github.wxiaoqi.security.admin.util.DateUtils;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.Query;
......@@ -21,7 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -45,6 +48,8 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe
BaseUserMemberBiz baseUserMemberBiz;
@Autowired
BaseUserMemberLevelMapper baseUserMemberLevelMapper;
@Autowired
AppUserDetailBiz appUserDetailBiz;
/**
* 根据订单号查询分成记录
* 每个订单有且只有一条记录
......@@ -253,4 +258,76 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe
}
}
/**
* 会员分成导出信息
* @param httpServletResponse
* @param memberShareRecordDto
* @throws Exception
*/
public void exportRecordList(HttpServletResponse httpServletResponse, MemberShareRecordDto memberShareRecordDto)throws Exception {
AppUserVo appUserDetail = appUserDetailBiz.getUserInfoById(memberShareRecordDto.getUserId());
if (appUserDetail != null) {
ExcelWriter writer = null;
try {
writer = ExcelUtil.getWriter(true);
//封装表头
writer.addHeaderAlias("orderNo", "订单编号");
writer.addHeaderAlias("payUser", "下单用户");
writer.addHeaderAlias("payTime", "支付时间");
writer.addHeaderAlias("orderAmount", "订单金额");
writer.addHeaderAlias("totalAmount", "总分红");
writer.addHeaderAlias("userNum", "分红人数");
writer.addHeaderAlias("realName", "分红人");
writer.addHeaderAlias("levelName", "等级");
writer.addHeaderAlias("amount", "金额");
//处理数据
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
memberShareRecordDto.setLimit(Integer.MAX_VALUE);
Query query = new Query(memberShareRecordDto);
List<MemberShareRecord> memberShareCountRecordList = mapper.selectList(query.getSuper());
if (memberShareCountRecordList != null && memberShareCountRecordList.size() > 0) {
for (MemberShareRecord memberShareRecord : memberShareCountRecordList) {
Map<String, Object> map = new HashMap();
map.put("orderNo", memberShareRecord.getOrderNo());
map.put("payUser", memberShareRecord.getRealName());
map.put("payTime", DateUtil.date(memberShareRecord.getPayTime()).toString());
map.put("orderAmount", memberShareRecord.getOrderAmount());
map.put("totalAmount", memberShareRecord.getTotalAmount());
map.put("userNum", memberShareRecord.getMemberNum());
map.put("realName", appUserDetail.getRealname());
map.put("levelName", memberShareRecord.getLevelName());
map.put("amount", memberShareRecord.getAmount());
list.add(map);
}
}
if (list.size() == 0) {
Map<String, Object> map = new HashMap<String, Object>();
writer.addHeaderAlias("countMonth", "统计月份");
writer.addHeaderAlias("userId", "用户id");
writer.addHeaderAlias("realName", "真实姓名");
writer.addHeaderAlias("amount", "金额");
map.put("userId", "");
map.put("realName", "");
map.put("countMonth", "");
map.put("amount", "");
list.add(map);
}
writer.write(list);
httpServletResponse.setContentType("application/octet-stream;charset=utf-8");
httpServletResponse.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("会员分成明细.xlsx", "utf-8"));
writer.flush(httpServletResponse.getOutputStream());
}catch (Exception ex) {
log.error(ex.getMessage(), ex);
throw ex;
}finally {
if (writer != null) {
writer.close();
}
}
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment