package com.yeshi.fanli.controller.client.v1;
|
|
import java.io.PrintWriter;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.yeshi.utils.IPUtil;
|
import org.yeshi.utils.JsonUtil;
|
import org.yeshi.utils.NumberUtil;
|
|
import com.google.gson.Gson;
|
import com.yeshi.fanli.entity.accept.AcceptData;
|
import com.yeshi.fanli.entity.bus.user.LostOrder;
|
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
|
import com.yeshi.fanli.service.inter.config.ConfigService;
|
import com.yeshi.fanli.service.inter.order.LostOrderService;
|
import com.yeshi.fanli.util.Constant;
|
import org.yeshi.utils.TimeUtil;
|
import com.yeshi.fanli.util.Utils;
|
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
/**
|
* 动态
|
*
|
* @author Administrator
|
*
|
*/
|
@Controller
|
@RequestMapping("api/v1/lostOrder")
|
public class LostOrderController {
|
|
@Resource
|
private LostOrderService lostOrderService;
|
|
@Resource
|
private ConfigService configService;
|
|
/**
|
* 获取动态推荐
|
*
|
* @param acceptData
|
* @param page
|
* -页码
|
* @param out
|
*/
|
@RequestMapping(value = "getLostOrderList", method = RequestMethod.POST)
|
public void getLostOrderList(AcceptData acceptData, Long uid, Integer page, PrintWriter out) {
|
if (uid == null || uid <= 0) {
|
out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
|
return;
|
}
|
|
if (page == null || page <= 0) {
|
out.print(JsonUtil.loadFalseResult(1, "page格式错误"));
|
return;
|
}
|
|
if (page < 1) {
|
out.print(JsonUtil.loadFalseResult(2, "页码必须大于0"));
|
return;
|
}
|
|
long count = lostOrderService.getLostOrderCountByUid(uid);
|
|
List<LostOrder> list = lostOrderService.getLostOrderListByUid(uid, page, Constant.PAGE_SIZE);
|
JSONArray data = new JSONArray();
|
Gson gson = new Gson();
|
if (list != null)
|
for (LostOrder order : list) {
|
order.setOrder(null);
|
order.setUserInfo(null);
|
JSONObject json = JSONObject.fromObject(gson.toJson(order));
|
json.remove("resultCode");
|
json.remove("remake");
|
json.remove("judge");
|
|
json.put("createTime", TimeUtil.getGernalTime(order.getCreateTime(), "yyyy.MM.dd HH:mm"));
|
if (order.getState() == 1 && order.getResultCode() != null
|
&& order.getResultCode() == LostOrder.RESULT_CODE_SUCCESS) {
|
// 申诉成功
|
json.put("state", 1);
|
json.put("stateDesc", "订单找回成功,请到我的-订单中查看");
|
} else if (order.getState() == 2 || (order.getState() == 1 && order.getResultCode() != null
|
&& order.getResultCode() == LostOrder.RESULT_CODE_FAIL)) {
|
// 申诉失败
|
json.put("state", 2);
|
json.put("stateDesc", "订单找回失败");
|
} else {
|
// 处理中
|
json.put("state", 0);
|
json.put("stateDesc", "订单找回中");
|
}
|
data.add(json);
|
}
|
|
JSONObject root = new JSONObject();
|
root.put("data", data);
|
root.put("count", count);
|
out.print(JsonUtil.loadTrueResult(root));
|
}
|
|
@RequestMapping(value = "deleteLostOrder", method = RequestMethod.POST)
|
public void deleteLostOrder(AcceptData acceptData, Long uid, Long id, PrintWriter out) {
|
|
if (id == null || id <= 0) {
|
out.print(JsonUtil.loadFalseResult(1, "请选择删除项"));
|
return;
|
}
|
|
if (uid == null || uid <= 0) {
|
out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
|
return;
|
}
|
LostOrder lostOrder = lostOrderService.getOne(id);
|
if (lostOrder != null && lostOrder.getUserInfo().getId() == uid.longValue()) {
|
lostOrderService.deleteLostOrder(id);
|
out.print(JsonUtil.loadTrueResult(""));
|
} else {
|
out.print(JsonUtil.loadFalseResult(1, "删除失败"));
|
}
|
}
|
|
@RequestMapping(value = "deleteAllLostOrder", method = RequestMethod.POST)
|
public void deleteAllLostOrder(AcceptData acceptData, Long uid, PrintWriter out) {
|
if (uid == null || uid <= 0) {
|
out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
|
return;
|
}
|
lostOrderService.deleteLostOrderByUid(uid);
|
out.print(JsonUtil.loadTrueResult(""));
|
}
|
|
@RequestMapping("findLostOrder")
|
public void findLostOrder(AcceptData acceptData, LostOrder lostOrder, HttpServletRequest request, PrintWriter out) {
|
Integer type = lostOrder.getType();
|
if (type == null) {
|
type = Constant.SOURCE_TYPE_TAOBAO;
|
}
|
|
boolean orderNum = true;
|
String orderId = lostOrder.getOrderId();
|
if (type == Constant.SOURCE_TYPE_TAOBAO) {
|
if (!NumberUtil.isNumeric(orderId) || (orderId.length() < 12 || orderId.length() > 20)) {
|
orderNum = false;
|
} else {
|
orderNum = Utils.isOrderNum(orderId);
|
}
|
} else if (type == Constant.SOURCE_TYPE_JD) {
|
if (!NumberUtil.isNumeric(orderId) || (orderId.length() < 6 || orderId.length() > 20)) {
|
orderNum = false;
|
}
|
} else if (type == Constant.SOURCE_TYPE_PDD) {
|
if (!orderId.contains("-")) {
|
orderNum = false;
|
} else {
|
String[] split = orderId.split("-");
|
if (split == null || split.length != 2) {
|
orderNum = false;
|
} else {
|
if (!NumberUtil.isNumeric(split[0]) || !NumberUtil.isNumeric(split[1])) {
|
orderNum = false;
|
}
|
}
|
}
|
} else if (type == Constant.SOURCE_TYPE_VIP) {
|
if (!NumberUtil.isNumeric(orderId) || (orderId.length() < 10 || orderId.length() > 18)) {
|
orderNum = false;
|
}
|
} else if (type == Constant.SOURCE_TYPE_SUNING) {
|
if (!NumberUtil.isNumeric(orderId) || (orderId.length() < 10 || orderId.length() > 15)) {
|
orderNum = false;
|
}
|
}
|
|
if (lostOrder.getUserInfo() == null || lostOrder.getUserInfo().getId() == null
|
|| lostOrder.getUserInfo().getId() <= 0) {
|
out.print(JsonUtil.loadFalseResult(1,
|
String.format("请登录%s账号", Constant.getAppName(acceptData.getPlatform(), acceptData.getVersion()))));
|
return;
|
}
|
lostOrder.setIpInfo(IPUtil.getRemotIP(request) + ":" + request.getRemotePort());
|
int state;
|
String stateInfo = "提交成功,请等待审核结果";
|
if (!orderNum) {
|
state = -4;
|
stateInfo = "请提交准确的订单号";
|
} else {
|
lostOrder.setResultCode(LostOrder.RESULT_CODE_VERFING);
|
state = lostOrderService.addLostOrder(lostOrder);
|
if (state == -3) {
|
stateInfo = "该订单已被统计,无需申诉";
|
} else if (state == -2) {
|
stateInfo = "请勿重复提交,该订单正在审核中";
|
} else if (state == -1) {
|
stateInfo = "该订单申诉已通过,请在订单列表中查看";
|
} else if (state == -5) {
|
stateInfo = "分享奖金订单无需申诉";
|
} else if (state == -6) {
|
stateInfo = "该订单申诉已失败,请在订单列表中查看";
|
} else if (state == -7) {
|
stateInfo = "今日申诉次数已达上限";
|
} else if (state == -1001) {
|
stateInfo = "订单违规";
|
}
|
}
|
JSONObject data = new JSONObject();
|
data.put("state", state);
|
data.put("info", stateInfo);
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
@RequestMapping("getConfig")
|
public void getConfig(AcceptData acceptData, PrintWriter out) {
|
JSONObject data = new JSONObject();
|
data.put("what", configService.getValue(ConfigKeyEnum.lostOrderHelpWhat.getKey(),acceptData.getSystem()));
|
data.put("reason", configService.getValue(ConfigKeyEnum.lostOrderHelpReason.getKey(),acceptData.getSystem()));
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
}
|