|
|
@@ -1,21 +1,27 @@
|
|
|
package com.mokamrp.privates.service.impl;
|
|
|
|
|
|
+import com.aliyun.oss.OSS;
|
|
|
+import com.aliyun.oss.model.PutObjectRequest;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.mokamrp.privates.config.OSSConfiguration;
|
|
|
import com.mokamrp.privates.entity.SetUserTagHandle;
|
|
|
+import com.mokamrp.privates.mapper.DownfileMapper;
|
|
|
import com.mokamrp.privates.mapper.WorkContactEmployeeMapper;
|
|
|
+import com.mokamrp.privates.mapper.pojo.Downfile;
|
|
|
import com.mokamrp.privates.mapper.pojo.SetUserTag;
|
|
|
import com.mokamrp.privates.mapper.SetUserTagMapper;
|
|
|
import com.mokamrp.privates.mapper.pojo.User;
|
|
|
import com.mokamrp.privates.mapper.vo.WorkContactEmployeeVo;
|
|
|
import com.mokamrp.privates.service.SetUserTagService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.mokamrp.privates.utils.OssFile;
|
|
|
import com.mokamrp.privates.utils.PageUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.io.ByteArrayInputStream;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
|
@@ -31,6 +37,15 @@ public class SetUserTagServiceImpl extends ServiceImpl<SetUserTagMapper, SetUser
|
|
|
@Autowired
|
|
|
private SetUserTagMapper mapperObj;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private OSS ossClient;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DownfileMapper downfileMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OSSConfiguration ossConfiguration;
|
|
|
+
|
|
|
@Override
|
|
|
public Map<String, Object> searchList(SetUserTagHandle handle, User authUser) {
|
|
|
|
|
|
@@ -53,6 +68,57 @@ public class SetUserTagServiceImpl extends ServiceImpl<SetUserTagMapper, SetUser
|
|
|
return resMap;
|
|
|
}
|
|
|
|
|
|
+ public void export(SetUserTagHandle handle, User authUser,Downfile downObj){
|
|
|
+ QueryWrapper<SetUserTag> obj = new QueryWrapper<SetUserTag>();
|
|
|
+ obj.eq("a.auth_id",authUser.getId());
|
|
|
+ obj.eq("a.main_id",handle.getMainId());
|
|
|
+
|
|
|
+ Integer total = mapperObj.getListTotal(obj);
|
|
|
+ List<Map<String,Object>> list = mapperObj.getList(obj,total,0);
|
|
|
+
|
|
|
+ //开始导出
|
|
|
+
|
|
|
+ String title = Downfile.NOVEL;
|
|
|
+ List<Object> tempObj;
|
|
|
+ //实现下载
|
|
|
+ List<List<Object>> resList = new ArrayList<List<Object>>();
|
|
|
+ Object[] head = {"id", "标签名称", "客户id", "状态(0代执行 1正常 2异常 4执行中)", "错误类型","错误原因"};
|
|
|
+ List<Object> headList = Arrays.asList(head);
|
|
|
+ resList.add(headList);
|
|
|
+
|
|
|
+ if (list.size() >= 1) {
|
|
|
+ for (Map<String,Object> o : list) {
|
|
|
+ tempObj = new ArrayList<Object>() {//这个大括号 就相当于我们 new 接口
|
|
|
+ {//这个大括号 就是 构造代码块 会在构造函数前 调用
|
|
|
+ this.add(o.get("id"));
|
|
|
+ this.add(o.get("sourceTagNames"));
|
|
|
+ this.add(o.get("sourceFanId"));
|
|
|
+ this.add(o.get("status"));
|
|
|
+ this.add(o.get("keyword"));
|
|
|
+ this.add(o.get("msg"));
|
|
|
+ }
|
|
|
+ };
|
|
|
+ resList.add(tempObj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ StringBuffer content = OssFile.createCSV(resList);
|
|
|
+
|
|
|
+ /*上传到oss*/
|
|
|
+ Date currentTime = new Date();
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ String bom = new String(new byte[] { (byte) 0xEF, (byte) 0xBB,(byte) 0xBF });
|
|
|
+ String dateString = formatter.format(currentTime);
|
|
|
+ String filePath = OSSConfiguration.DOWN_DIR + dateString + "/" + downObj.getId().toString() + "_" + title;
|
|
|
+ PutObjectRequest putObjectRequest = new PutObjectRequest(ossConfiguration.getBucketName(), filePath, new ByteArrayInputStream((bom+content.toString()).getBytes()));
|
|
|
+ ossClient.putObject(putObjectRequest);
|
|
|
+ downObj.setDownUrl(ossConfiguration.getHost() + filePath);
|
|
|
+ downObj.setStatus(1);
|
|
|
+ downfileMapper.updateById(downObj);
|
|
|
+ //这边开始迭代
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+
|
|
|
public Map<String, Object> get(SetUserTagHandle handle, User authUser) {
|
|
|
|
|
|
Map<String, Object> resMap = new HashMap<String, Object>();
|