package com.yeshi.fanli.controller.admin;
|
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.PrintWriter;
|
import java.util.List;
|
import java.util.UUID;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
|
import net.sf.json.JSONObject;
|
|
import org.springframework.core.task.TaskExecutor;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
import org.yeshi.utils.JsonUtil;
|
import org.yeshi.utils.tencentcloud.COSManager;
|
|
import com.yeshi.fanli.entity.common.AdminUser;
|
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
|
import com.yeshi.fanli.service.AdminUserService;
|
import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
|
import com.yeshi.fanli.service.inter.order.OrderProcessService;
|
import com.yeshi.fanli.service.inter.order.OrderService;
|
import com.yeshi.fanli.util.TimeUtil;
|
import com.yeshi.fanli.util.annotation.RequestNoLogin;
|
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
|
|
@Controller
|
@RequestMapping("admin/new/api/v1/upload")
|
public class UploadController {
|
|
@Resource
|
private HongBaoService hongBaoService;
|
|
@Resource
|
private OrderService orderService;
|
|
@Resource
|
private OrderProcessService orderProcessService;
|
|
@Resource
|
private AdminUserService adminUserService;
|
|
@Resource(name = "taskExecutor")
|
private TaskExecutor executor;
|
|
|
|
// private static final String PAYSUCCESS = "支付成功";
|
// private static final String ORDERCLOSE="订单关闭";
|
// private static final String REFUNDSTETA = "Y";
|
|
// private static final String ORDERSUCCESS = "订单成功";
|
// private static final String ORDERSETTLEMENT = "订单结算";
|
// private static final String ORDERPAYMENT = "订单付款";
|
// private static final String ORDERFAILURE = "订单失效";
|
|
@RequestMapping(value = "uploadImg", method = RequestMethod.POST)
|
public void uploadImg(@RequestParam("file") CommonsMultipartFile file, PrintWriter out) {
|
try {
|
InputStream inputStream = file.getInputStream();
|
String contentType = file.getContentType();
|
String type = contentType.substring(contentType.indexOf("/") + 1);
|
String uploadFilePath = COSManager.getInstance().uploadFile(inputStream,
|
UUID.randomUUID().toString().replace("-", "") + "." + type).getUrl();
|
out.print(JsonUtil.loadTrueResult(uploadFilePath));
|
} catch (IOException e) {
|
e.printStackTrace();
|
out.print(JsonUtil.loadFalseResult(e.getMessage()));
|
}
|
}
|
|
/**
|
*
|
* 方法说明: 上传Apk安装包
|
*
|
* @author mawurui createTime 2018年4月12日 上午11:54:29
|
* @param file
|
* @param out
|
*/
|
@RequestMapping(value = "uploadInstallApk")
|
public void uploadInstallApk(@RequestParam("file") CommonsMultipartFile file, PrintWriter out) {
|
try {
|
InputStream inputStream = file.getInputStream();
|
String contentType = file.getContentType();
|
String type = contentType.substring(contentType.indexOf("/") + 1);
|
String uploadFilePath = COSManager.getInstance().uploadFile(inputStream,
|
UUID.randomUUID().toString().replace("-", "") + "." + type + ".apk").getUrl();
|
out.print(JsonUtil.loadTrueResult(uploadFilePath));
|
} catch (Exception e) {
|
e.printStackTrace();
|
out.print(JsonUtil.loadFalseResult(e.getMessage()));
|
}
|
}
|
|
@RequestMapping(value = "uploadfImg")
|
public void uploadfImg(@RequestParam("file") CommonsMultipartFile file, PrintWriter out) {
|
try {
|
InputStream inputStream = file.getInputStream();
|
long timeMillis = System.currentTimeMillis();
|
String date = TimeUtil.getyyyyMMdd(timeMillis);
|
String contentType = file.getContentType();
|
String type = contentType.substring(contentType.indexOf("/") + 1);
|
String uploadFilePath = COSManager.getInstance().uploadFile(inputStream,
|
"section/" + date + "/" + timeMillis + "." + type).getUrl();
|
JSONObject data = new JSONObject();
|
data.put("original", file.getOriginalFilename());
|
data.put("name", file.getOriginalFilename());
|
data.put("url", uploadFilePath);
|
data.put("size", file.getSize() + "");
|
data.put("type", "." + type);
|
data.put("state", "SUCCESS");
|
out.print(data);
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
out.print(JsonUtil.loadFalseResult(e.getMessage()));
|
}
|
}
|
|
@RequestMapping(value = "uploadOrder", method = RequestMethod.POST)
|
public void uploadOrder(@RequestParam("file") CommonsMultipartFile file, PrintWriter out) {
|
|
if (file != null) {
|
try {
|
List<TaoBaoOrder> orderList = TaoBaoOrderUtil.parseOrder(file.getInputStream());
|
orderProcessService.processOrder(TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList));
|
} catch (IOException e) {
|
e.printStackTrace();
|
out.print(JsonUtil.loadFalseResult(e.getMessage()));
|
return;
|
}
|
out.print(JsonUtil.loadTrueResult(""));
|
return;
|
}
|
out.print(JsonUtil.loadFalseResult("文件不能为空!"));
|
|
}
|
|
|
/**
|
* 新后台端 上传订单文件
|
* @param file excel文件
|
* @param uid 当前用户id
|
* @param request
|
* @param response
|
* @param out
|
*/
|
@RequestNoLogin()
|
@RequestMapping(value = "uploadOrderFile")
|
public void uploadOrderFile(@RequestParam("file") CommonsMultipartFile file, Long uid,
|
HttpServletRequest request, HttpServletResponse response, PrintWriter out) {
|
|
response.setHeader("Access-Control-Allow-Origin", "*");
|
response.setHeader("Access-Control-Allow-Methods", "*");
|
|
AdminUser admin = adminUserService.selectByPrimaryKey(uid);
|
if (admin == null) {
|
out.print(JsonUtil.loadFalseResult("用户验证未通过"));
|
return;
|
}
|
|
if (file == null) {
|
out.print(JsonUtil.loadFalseResult("上传文件不能为空"));
|
return;
|
}
|
|
List<TaoBaoOrder> orderList = null ;
|
try {
|
orderList = TaoBaoOrderUtil.parseOrder(file.getInputStream());
|
out.print(JsonUtil.loadTrueResult("上传成功,系统正在处理中..."));
|
} catch (IOException e) {
|
out.print(JsonUtil.loadFalseResult("上传文件失败"));
|
e.printStackTrace();
|
}
|
|
final List<TaoBaoOrder> list = orderList;
|
|
executor.execute(new Runnable() {
|
@Override
|
public void run() {
|
try {
|
|
orderProcessService.processOrder(TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(list));
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
|
}
|
});
|
|
}
|
|
|
/**
|
* 上传图片jsonp
|
* @param file
|
* @param out
|
*/
|
@RequestNoLogin()
|
@RequestMapping(value = "uploadPicture")
|
public void uploadPicture(@RequestParam("file") CommonsMultipartFile file, Long uid,
|
HttpServletResponse response, PrintWriter out) {
|
|
response.setHeader("Access-Control-Allow-Origin", "*");
|
response.setHeader("Access-Control-Allow-Methods", "*");
|
|
AdminUser admin = adminUserService.selectByPrimaryKey(uid);
|
if (admin == null) {
|
out.print(JsonUtil.loadFalseResult("当前账户验证失败"));
|
return;
|
}
|
|
if (file == null) {
|
out.print(JsonUtil.loadFalseResult("上传文件为空"));
|
return;
|
}
|
|
try {
|
InputStream inputStream = file.getInputStream();
|
String contentType = file.getContentType();
|
String type = contentType.substring(contentType.indexOf("/") + 1);
|
// 上传文件相对位置
|
String fileUrl="/img/admin/" + UUID.randomUUID().toString().replace("-", "") + "." + type;
|
|
String uploadPath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
|
|
JSONObject data = new JSONObject();
|
data.put("original", file.getOriginalFilename());
|
data.put("name", file.getOriginalFilename());
|
data.put("url", uploadPath);
|
data.put("size", file.getSize() + "");
|
data.put("type", "." + type);
|
data.put("state", "SUCCESS");
|
out.print(JsonUtil.loadTrueResult(data));
|
|
} catch (IOException e) {
|
out.print(JsonUtil.loadFalseResult("上传图片失败"));
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
*
|
* 方法说明: 上传Apk安装包
|
*
|
* @param file
|
* @param out
|
*/
|
@RequestMapping(value = "installPackage")
|
public void installPackage(@RequestParam("file") CommonsMultipartFile file, Long uid,
|
HttpServletResponse response, PrintWriter out) {
|
|
response.setHeader("Access-Control-Allow-Origin", "*");
|
response.setHeader("Access-Control-Allow-Methods", "*");
|
|
AdminUser admin = adminUserService.selectByPrimaryKey(uid);
|
if (admin == null) {
|
out.print(JsonUtil.loadFalseResult("当前账户验证失败"));
|
return;
|
}
|
|
if (file == null) {
|
out.print(JsonUtil.loadFalseResult("上传文件为空"));
|
return;
|
}
|
|
try {
|
InputStream inputStream = file.getInputStream();
|
String contentType = file.getContentType();
|
String type = contentType.substring(contentType.indexOf("/") + 1);
|
|
// 上传文件相对位置
|
String fileUrl="/img/admin/" + UUID.randomUUID().toString().replace("-", "") + "." + type + ".apk";
|
|
String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl();
|
|
JSONObject data = new JSONObject();
|
data.put("original", file.getOriginalFilename());
|
data.put("name", file.getOriginalFilename());
|
data.put("url", uploadFilePath);
|
data.put("size", file.getSize() + "");
|
data.put("type", "." + type);
|
data.put("state", "SUCCESS");
|
out.print(JsonUtil.loadTrueResult(data));
|
|
} catch (Exception e) {
|
out.print(JsonUtil.loadFalseResult("上传失败"));
|
e.printStackTrace();
|
}
|
}
|
}
|