From 92c681fabac989d1a9f16fa13202d7f5ccac52d9 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期一, 14 一月 2019 10:22:22 +0800
Subject: [PATCH] 订单优化 + 后台提现曲线图

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java |  128 ++++++++++++++++++++++++++++++------------
 1 files changed, 91 insertions(+), 37 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java
index bf6ba6f..e6f56b8 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java
@@ -16,9 +16,6 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
 import org.apache.commons.beanutils.PropertyUtils;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -27,6 +24,7 @@
 import org.yeshi.utils.IPUtil;
 import org.yeshi.utils.JsonUtil;
 import org.yeshi.utils.NumberUtil;
+import org.yeshi.utils.taobao.TbImgUtil;
 import org.yeshi.utils.tencentcloud.COSManager;
 
 import com.google.gson.Gson;
@@ -35,6 +33,7 @@
 import com.google.gson.JsonPrimitive;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import com.yeshi.fanli.dto.HongBaoDTO;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.AccountDetails;
 import com.yeshi.fanli.entity.bus.user.AccountMessage;
@@ -57,6 +56,8 @@
 import com.yeshi.fanli.entity.common.Config;
 import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
 import com.yeshi.fanli.entity.goods.CommonGoods;
+import com.yeshi.fanli.entity.money.UserMoneyDetail;
+import com.yeshi.fanli.entity.order.HongBaoOrder;
 import com.yeshi.fanli.entity.system.System;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
@@ -72,12 +73,13 @@
 import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
+import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
 import com.yeshi.fanli.service.inter.hongbao.ThreeSaleExtraInfoSerivce;
 import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
 import com.yeshi.fanli.service.inter.order.LostOrderService;
 import com.yeshi.fanli.service.inter.order.OrderItemServcie;
 import com.yeshi.fanli.service.inter.order.OrderService;
-import com.yeshi.fanli.service.inter.user.AccountDetailsService;
 import com.yeshi.fanli.service.inter.user.AccountMessageService;
 import com.yeshi.fanli.service.inter.user.BindingAccountService;
 import com.yeshi.fanli.service.inter.user.ExtractRecordService;
@@ -85,9 +87,12 @@
 import com.yeshi.fanli.service.inter.user.MoneyRecordService;
 import com.yeshi.fanli.service.inter.user.PassWordErrorRecordService;
 import com.yeshi.fanli.service.inter.user.ShamUserService;
+import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
 import com.yeshi.fanli.service.inter.user.UserAccountService;
 import com.yeshi.fanli.service.inter.user.UserActiveLogService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.UserMoneyDetailService;
+import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
 import com.yeshi.fanli.service.inter.user.WxDownService;
 import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
@@ -100,9 +105,15 @@
 import com.yeshi.fanli.util.Utils;
 import com.yeshi.fanli.util.account.UserUtil;
 import com.yeshi.fanli.util.email.MailSenderUtil;
+import com.yeshi.fanli.util.factory.AccountDetailsFactory;
+import com.yeshi.fanli.util.factory.HongBaoFactory;
+import com.yeshi.fanli.util.factory.OrderItemFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.util.wx.WXLoginUtil;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
 
 @Controller
 @RequestMapping("api/v1/customer")
@@ -151,9 +162,6 @@
 	private OrderItemServcie orderItemServcie;
 
 	@Resource
-	private AccountDetailsService accountDetailsService;
-
-	@Resource
 	private AccountMessageService accountMessageService;
 
 	@Resource
@@ -179,6 +187,21 @@
 
 	@Resource
 	private AdminUserService adminUserService;
+
+	@Resource
+	private UserMoneyDetailService userMoneyDetailService;
+
+	@Resource
+	private HongBaoOrderService hongBaoOrderService;
+
+	@Resource
+	private HongBaoV2Service hongBaoV2Service;
+
+	@Resource
+	private SpreadUserImgService spreadUserImgService;
+
+	@Resource
+	private UserShareGoodsRecordService userShareGoodsRecordService;
 
 	private static final String PASSWORD_MAX_ERROR = "password_max_error";
 	private static final String EXTRACT_MIN_MONEY = "extract_min_money";
@@ -474,6 +497,14 @@
 		data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create()
 				.toJson(UserUtil.filterForClientUser(user)));
 		data.put("first", 0);
+		int spreadImgCount = spreadUserImgService.countUserSpreadImg(user.getId());
+		long shareCount = userShareGoodsRecordService.countShareRecordByUid(user.getId());
+		if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+				&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
+			data.put("showTiCheng", false);
+		else
+			data.put("showTiCheng", spreadImgCount + shareCount > 0);
+
 		if ("ios".equalsIgnoreCase(acceptData.getPlatform())
 				&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
 			data.put("inviteList", String.format("http://%s/%s/client/share/friends_new_online.html",
@@ -1363,15 +1394,20 @@
 
 	@RequestMapping("findOrderItemList")
 	public void findOrderItemList(AcceptData acceptData, long uid, int page, PrintWriter out) {
-		List<OrderItem> list = orderItemServcie.findOrderItemList(uid, page);
-		list.parallelStream().forEach(oi -> {
-			oi.setDesc();
-		});
-		int count = orderItemServcie.getCount(uid);
+		List<HongBaoOrder> list = hongBaoOrderService.listFanLiOrder(uid, page, Constant.PAGE_SIZE);
+
+		List<OrderItem> orderList = new ArrayList<>();
+		for (HongBaoOrder oi : list) {
+			OrderItem orderItem = OrderItemFactory.create(oi);
+			orderItem.setDesc();
+			orderItem.setPicture(TbImgUtil.getTBSize220Img(orderItem.getPicture()));
+			orderList.add(orderItem);
+		}
+		long count = hongBaoOrderService.countFanLiOrder(uid);
 		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 				.excludeFieldsWithoutExposeAnnotation().create();
 		JSONObject data = new JSONObject();
-		data.put("list", gson.toJson(list));
+		data.put("list", gson.toJson(orderList));
 		data.put("count", count);
 		out.print(JsonUtil.loadTrueResult(data));
 	}
@@ -1386,8 +1422,13 @@
 	 */
 	@RequestMapping("getTiChengOrderList")
 	public void getTiChengOrderList(AcceptData acceptData, long uid, int page, PrintWriter out) {
-		List<HongBao> list = hongBaoService.getTiChengHongBaoList(uid, page);
-		long count = hongBaoService.getTiChengHongBaoListCount(uid);
+		List<HongBaoDTO> hongBaoDTOList = hongBaoV2Service.listJiangJinByUid(uid, page, Constant.PAGE_SIZE);
+		List<HongBao> list = new ArrayList<>();
+		if (hongBaoDTOList != null)
+			for (HongBaoDTO dto : hongBaoDTOList) {
+				list.add(HongBaoFactory.createHongBao(dto));
+			}
+		long count = hongBaoV2Service.countJiangJinByUid(uid);
 		List<OrderItem> orderItemList = HongBaoUtil.convertToTiChengOrder(list);
 		Gson gson = JsonUtil.getApiCommonGson();
 		JSONObject data = new JSONObject();
@@ -1518,17 +1559,15 @@
 				Constant.PAGE_SIZE);
 
 		List<TaoBaoGoodsBriefExtra> list = new ArrayList<TaoBaoGoodsBriefExtra>();
-		
-		
+
 		long count = collectionGoodsV2Service.getCollectionGoodsCount(uid);
 		JSONObject data = new JSONObject();
-	
-		
+
 		List<TaoBaoGoodsBrief> listTaoKeGoods = new ArrayList<TaoBaoGoodsBrief>();
 		if (collectionGoodsList != null && collectionGoodsList.size() > 0) {
-			
+
 			BigDecimal proportion = hongBaoManageService.getFanLiRate();
-			
+
 			List<Long> listGid = new ArrayList<Long>();
 			for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) {
 				CommonGoods commonGoods = collectionGoodsV2.getCommonGoods();
@@ -1537,7 +1576,7 @@
 				}
 				listGid.add(commonGoods.getGoodsId());
 			}
-			
+
 			try {
 				// API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭
 				listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
@@ -1548,17 +1587,17 @@
 			} catch (Exception e) {
 				e.printStackTrace();
 			}
-			
+
 			for (CollectionGoodsV2 collectionGoodsV2 : collectionGoodsList) {
 				CommonGoods commonGoods = collectionGoodsV2.getCommonGoods();
 				if (commonGoods == null) {
 					continue;
 				}
-				
-				if (listTaoKeGoods != null && listTaoKeGoods.size() > 0 ) {
-					int state = 1;  // 榛樿鍋滃敭
+
+				if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
+					int state = 1; // 榛樿鍋滃敭
 					Long goodsId = commonGoods.getGoodsId();
-					for (TaoBaoGoodsBrief taoKeGoods: listTaoKeGoods) {
+					for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
 						Long auctionId = taoKeGoods.getAuctionId();
 						if (goodsId == auctionId || goodsId.equals(auctionId)) {
 							state = 0; // 鍦ㄥ敭
@@ -1567,18 +1606,18 @@
 					}
 					commonGoods.setState(state);
 				}
-				
+
 				TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
 				goodsBrief.setSalesCount(TaoBaoUtil.getSaleCount(goodsBrief.getBiz30day()));
 				TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief,
 						proportion.toString(), "");
-				taoBaoGoodsBriefExtra.setCreatetime(commonGoods.getCreateTime());
-				
+				taoBaoGoodsBriefExtra.setCreatetime(collectionGoodsV2.getCreateTime());
+
 				list.add(taoBaoGoodsBriefExtra);
 			}
-			
+
 		}
-		
+
 		GsonBuilder builder = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
 			@Override
 			public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
@@ -1640,8 +1679,11 @@
 
 	@RequestMapping("findAccountDetailsList")
 	public void findAccountDetailsList(AcceptData acceptData, long uid, int page, PrintWriter out) {
-		List<AccountDetails> list = accountDetailsService.findAccountDetailsList(uid, page);
-		int count = accountDetailsService.getCount(uid);
+		List<UserMoneyDetail> detailList = userMoneyDetailService.listByUidWithState(uid, page, Constant.PAGE_SIZE);
+		List<AccountDetails> list = new ArrayList<>();
+		for (UserMoneyDetail detail : detailList)
+			list.add(AccountDetailsFactory.create(detail));
+		long count = userMoneyDetailService.countByUidWithState(uid);
 		JSONObject data = new JSONObject();
 		data.put("list", GsonUtil.toJsonExpose(list));
 		data.put("count", count);
@@ -1649,9 +1691,21 @@
 	}
 
 	@RequestMapping("findAccountDetailsListV2")
-	public void findAccountDetailsListNew(AcceptData acceptData, long uid, int page, PrintWriter out) {
-		List<AccountDetails> list = accountDetailsService.findAccountDetailsListWithState(uid, page);
-		long count = accountDetailsService.getCountWithState(uid);
+	public void findAccountDetailsListNew(AcceptData acceptData, Long uid, int page, PrintWriter out) {
+
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult(1, "UID涓虹┖"));
+			return;
+		}
+
+		List<UserMoneyDetail> detailList = userMoneyDetailService.listByUidWithState(uid, page, Constant.PAGE_SIZE);
+
+		List<AccountDetails> list = new ArrayList<>();
+		for (UserMoneyDetail detail : detailList)
+			list.add(AccountDetailsFactory.create(detail));
+
+		long count = userMoneyDetailService.countByUidWithState(uid);
+
 		JSONObject data = new JSONObject();
 		JSONArray array = new JSONArray();
 		for (AccountDetails ad : list) {

--
Gitblit v1.8.0