package com.yeshi.fanli.controller.client.v2;
|
|
import java.io.PrintWriter;
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.yeshi.utils.JsonUtil;
|
|
import com.google.gson.Gson;
|
import com.google.gson.reflect.TypeToken;
|
import com.yeshi.fanli.entity.accept.AcceptData;
|
import com.yeshi.fanli.entity.bus.user.Extract;
|
import com.yeshi.fanli.entity.bus.user.PreviewInfo;
|
import com.yeshi.fanli.entity.bus.user.PreviewInfo.PreviewEnum;
|
import com.yeshi.fanli.exception.user.PreviewInfoException;
|
import com.yeshi.fanli.log.LogHelper;
|
import com.yeshi.fanli.service.inter.user.PreviewInfoService;
|
import com.yeshi.fanli.service.inter.user.UserInfoService;
|
import com.yeshi.fanli.util.RedisManager;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.TimeUtil;
|
import com.yeshi.fanli.util.account.UserUtil;
|
import com.yeshi.fanli.vo.money.MoneyStatisticVO;
|
import com.yeshi.fanli.vo.user.MineInfoVO;
|
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
@Controller
|
@RequestMapping("api/v2/preview")
|
public class PreviewInfoControllerV2 {
|
@Resource
|
private PreviewInfoService previewInfoService;
|
|
@Resource
|
private UserInfoService userInfoService;
|
|
@Resource
|
private RedisManager redisManager;
|
|
@Resource
|
private UserMoneyControllerV2 userMoneyControllerV2;
|
|
|
/**
|
* 保存资金信息
|
*
|
* @param callback
|
* @param acceptData
|
* @param uid
|
* @param vo
|
* @param out
|
*/
|
@RequestMapping(value = "saveMoneyInfo")
|
public void saveMoneyInfo(String callback, AcceptData acceptData, Long uid, MoneyStatisticVO vo, PrintWriter out) {
|
if (uid == null) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("用户未登录"));
|
return;
|
}
|
try {
|
previewInfoService.saveMoneyInfo(uid, vo);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
|
} catch (PreviewInfoException e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
|
}
|
}
|
|
|
@RequestMapping(value = "getMoneyInfo")
|
public void getMoneyInfo(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
|
MoneyStatisticVO dto = null;
|
PreviewInfo previewInfo = previewInfoService.get(uid, PreviewEnum.moneyInfo);
|
if (previewInfo != null && !StringUtil.isNullOrEmpty(previewInfo.getContent())) {
|
dto = new Gson().fromJson(previewInfo.getContent(), MoneyStatisticVO.class);
|
} else {
|
dto = userMoneyControllerV2.createMoneyStatistic(uid);
|
}
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(dto));
|
}
|
|
|
/**
|
* 保存提现记录
|
*
|
* @param callback
|
* @param acceptData
|
* @param uid
|
* @param vo
|
* @param out
|
*/
|
@RequestMapping(value = "saveExtractRecord")
|
public void saveExtractRecord(String callback, AcceptData acceptData, Long uid, String time, BigDecimal money,
|
PrintWriter out) {
|
if (uid == null) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("用户未登录"));
|
return;
|
}
|
try {
|
previewInfoService.saveExtractRecord(uid, time, money);
|
} catch (PreviewInfoException e) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
|
}
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
|
}
|
|
@RequestMapping(value = "getExtractRecord")
|
public void getExtractRecord(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
|
List<Extract> list = null;
|
PreviewInfo previewInfo = previewInfoService.get(uid, PreviewEnum.extractRecord);
|
if (previewInfo != null && !StringUtil.isNullOrEmpty(previewInfo.getContent())) {
|
Gson gson = new Gson();
|
list = gson.fromJson(previewInfo.getContent(), new TypeToken<ArrayList<Extract>>() {}.getType());
|
}
|
|
if (list == null)
|
list = new ArrayList<>();
|
|
JSONArray JSONArray = new JSONArray();
|
for (Extract extract : list) {
|
Date receiveTime = extract.getReceiveTime();
|
if (receiveTime == null) {
|
receiveTime = new Date(extract.getExtractTime());
|
}
|
String account = "支付宝:" + UserUtil.filterAlipayAccount(extract.getAccount());
|
account = account + "-姓名:" + UserUtil.filterAlipayName(extract.getName());
|
|
JSONObject object = new JSONObject();
|
object.put("id", extract.getId());
|
object.put("title", "你于" + TimeUtil.formatDate(receiveTime) + "提现成功");
|
object.put("account", account);
|
object.put("money", "¥" + extract.getMoney().setScale(2).toString());
|
JSONArray.add(object);
|
}
|
|
JSONObject json = new JSONObject();
|
json.put("count", JSONArray.size());
|
json.put("list", JSONArray);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json));
|
}
|
|
/**
|
* 删除提现记录
|
*
|
* @param callback
|
* @param acceptData
|
* @param uid
|
* @param vo
|
* @param out
|
*/
|
@RequestMapping(value = "deleteExtractRecord")
|
public void deleteExtractRecord(String callback, AcceptData acceptData, Long uid, Long id, PrintWriter out) {
|
if (uid == null || id == null) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("参数不完整"));
|
return;
|
}
|
previewInfoService.deleteExtractRecord(uid, id);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("删除成功"));
|
}
|
|
/**
|
* 保存我的信息
|
*
|
* @param callback
|
* @param acceptData
|
* @param infoVO
|
* @param file
|
* @param out
|
*/
|
@RequestMapping(value = "saveMineInfo")
|
public void saveMineInfo(String callback, AcceptData acceptData, MineInfoVO infoVO, PrintWriter out) {
|
if (infoVO == null || infoVO.getUid() == null) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("用户未登录"));
|
return;
|
}
|
try {
|
previewInfoService.saveMineInfo(infoVO);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
|
} catch (Exception e) {
|
LogHelper.errorDetailInfo(e);
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
|
}
|
}
|
|
@RequestMapping(value = "getMineInfo")
|
public void getMineInfo(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
|
PreviewInfo previewInfo = previewInfoService.get(uid, PreviewEnum.mineInfo);
|
if (previewInfo == null || StringUtil.isNullOrEmpty(previewInfo.getContent())) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
return;
|
}
|
|
MineInfoVO dto = new Gson().fromJson(previewInfo.getContent(), MineInfoVO.class);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(dto));
|
}
|
|
/**
|
* 到账预览-生产图片
|
*
|
* @param callback
|
* @param acceptData
|
* @param uid
|
* @param money
|
* @param time
|
* @param orderNo
|
* @param out
|
*/
|
@RequestMapping(value = "saveMoneyArrival")
|
public void saveMoneyArrival(String callback, AcceptData acceptData, Long uid, BigDecimal money, String time,
|
String orderNo, PrintWriter out) {
|
if (uid == null) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("用户未登录"));
|
return;
|
}
|
|
try {
|
String link = previewInfoService.saveMoneyArrival(uid, money, time, orderNo);
|
JSONObject object = new JSONObject();
|
object.put("link", link);
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object));
|
} catch (Exception e) {
|
LogHelper.errorDetailInfo(e);
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
|
}
|
}
|
|
|
@RequestMapping(value = "getMoneyArrivalImg")
|
public void getMoneyArrivalImg(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
|
PreviewInfo previewInfo = previewInfoService.get(uid, PreviewEnum.moneyInfo);
|
if (previewInfo == null || StringUtil.isNullOrEmpty(previewInfo.getContent())) {
|
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
return;
|
}
|
JSONObject object = new JSONObject();
|
object.put("link", previewInfo.getContent());
|
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object));
|
}
|
|
}
|