Commit f38b989a by 田超

Merge branch 'feature/1003922' into 'master'

feat: [1003922] 购书申请导出

See merge request rays/pcloud-book!1094
parents 95e97504 7dc603b1
......@@ -54,4 +54,13 @@ public interface BuyBookRequestBiz {
* @param topCount
*/
BuyBookRequetUserDTO getUserCount(Integer topCount);
/**
* 导出购书申请
* @param agentId
* @param currentPage
* @param numPerPage
* @param partyId
*/
void exportRequestList(Long agentId, Integer currentPage, Integer numPerPage, Long partyId);
}
\ No newline at end of file
package com.pcloud.book.applet.biz.impl;
import com.alibaba.fastjson.JSONObject;
import com.pcloud.book.applet.biz.BuyBookRequestBiz;
import com.pcloud.book.applet.dao.BuyBookRequestDao;
import com.pcloud.book.applet.dto.BuyBookRequestDTO;
......@@ -7,24 +8,31 @@ import com.pcloud.book.applet.dto.BuyBookRequetUserDTO;
import com.pcloud.book.applet.entity.BuyBookRequest;
import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.consumer.common.ExportConsr;
import com.pcloud.book.consumer.message.MessageConsr;
import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.consumer.user.AdviserConsr;
import com.pcloud.book.consumer.user.AgentConsr;
import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.SystemCode;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.NumberUtil;
import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.readercenter.wechat.entity.WechatUser;
import org.apache.commons.collections.MapUtils;
import org.apache.regexp.RE;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -51,6 +59,10 @@ public class BuyBookRequestBizImpl implements BuyBookRequestBiz {
private AgentConsr agentConsr;
@Autowired
private AdviserConsr adviserConsr;
@Autowired
private ExportConsr exportConsr;
@Autowired
private MessageConsr messageConsr;
@Override
@ParamLog("通过ID查询单条数据")
......@@ -156,6 +168,44 @@ public class BuyBookRequestBizImpl implements BuyBookRequestBiz {
return buyBookRequetUserDTO;
}
@Override
public void exportRequestList(Long agentId, Integer currentPage, Integer numPerPage, Long partyId) {
ThreadPoolUtils.EXPORT_THREAD_POOL.execute(() -> {
PageBeanNew pageBeanNew = this.getList(currentPage, numPerPage, agentId);
List<BuyBookRequestDTO> recordList = pageBeanNew.getRecordList();
if (ListUtils.isEmpty(recordList)) {
return ;
}
// 字段名
String[] rowsName = {"书籍id", "书籍名称", "编辑名称", "出版社名称", "用户姓名", "手机号码", "收货地址", "申请时间"};
List<Object[]> dataList = new ArrayList<>();
Object[] objs;
for (int i = 0; i < recordList.size(); i++) {
BuyBookRequestDTO buyBookRequestDTO = recordList.get(i);
objs = new Object[rowsName.length];
objs[0] = buyBookRequestDTO.getBookId();
objs[1] = buyBookRequestDTO.getBookName();
objs[2] = buyBookRequestDTO.getAdviserName();
objs[3] = buyBookRequestDTO.getAgentName();
objs[4] = buyBookRequestDTO.getUserName();
objs[5] = buyBookRequestDTO.getPhone();
objs[6] = buyBookRequestDTO.getAddress();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
objs[7] = null == buyBookRequestDTO.getCreateTime() ? "": simpleDateFormat.format(buyBookRequestDTO.getCreateTime());
dataList.add(objs);
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String fileName ="研发-购书申请表导出-" + simpleDateFormat.format(new Date());
String fileUrl = exportConsr.exportExcel(fileName, rowsName, dataList);
if (!StringUtil.isEmpty(fileUrl)) {
JSONObject content = new JSONObject();
content.put("commitTime", DateUtils.formatDate(new Date()));
content.put("type", "购书申请表导出");
messageConsr.sendLetter(partyId, partyId, content.toJSONString(), SystemCode.pcloud.code, "book_download", fileUrl, fileName);
}
});
}
}
\ No newline at end of file
......@@ -9,6 +9,7 @@ import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.SessionUtil;
import com.pcloud.common.utils.cookie.Cookie;
import com.pcloud.wechatgroup.message.enums.IsSystem;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CookieValue;
......@@ -20,6 +21,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* (BuyBookRequest)表控制层
*
......@@ -87,4 +90,21 @@ public class BuyBookRequestFacade {
return new ResponseDto<BuyBookRequetUserDTO>(buyBookRequestBiz.getUserCount(topCount));
}
@ApiOperation("导出购书申请")
@GetMapping("exportRequestList")
public ResponseDto<?> exportRequestList(@RequestHeader("token") String token,
@RequestParam(value = "currentPage", required = false, defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", required = false, defaultValue = "100000") Integer numPerPage,
@RequestParam(value = "agentId", required = false) Long agentId)
throws BizException, PermissionException {
Map<String, Object> map = SessionUtil.getToken4Redis(token);
String isSystem = (String) map.get(SessionUtil.IS_SYSTEM);
Long partyId = (Long) map.get(SessionUtil.PARTY_ID);
if (IsSystem.NOT_SYSTEM.code.equals(isSystem)) {
partyId = (Long) map.get(SessionUtil.MEMBER_ID);
}
buyBookRequestBiz.exportRequestList(agentId, currentPage, numPerPage, partyId);
return new ResponseDto<>();
}
}
\ 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