From eec7e789a87863c25d92c10ad5dfc22ad80c448d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 14 七月 2020 12:36:48 +0800
Subject: [PATCH] 系统区分BUG修复

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserCloudControllerV2.java |  334 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 204 insertions(+), 130 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserCloudControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserCloudControllerV2.java
index fd96609..8c6a765 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserCloudControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserCloudControllerV2.java
@@ -5,12 +5,9 @@
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -27,19 +24,21 @@
 import com.yeshi.fanli.dto.aitaoker.QrcodeLoginDTO;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.cloud.CloudOrderMenuEnum;
 import com.yeshi.fanli.entity.bus.user.cloud.UserCloud;
 import com.yeshi.fanli.entity.bus.user.cloud.UserCloudGoods;
 import com.yeshi.fanli.entity.bus.user.cloud.UserCloudGroup;
 import com.yeshi.fanli.entity.bus.user.cloud.UserCloudManage;
 import com.yeshi.fanli.entity.bus.user.cloud.UserCloudOrder;
+import com.yeshi.fanli.entity.dynamic.GoodsEvaluate;
 import com.yeshi.fanli.entity.goods.CommonGoods;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
-import com.yeshi.fanli.exception.taobao.TaoKeApiException;
-import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
 import com.yeshi.fanli.exception.user.cloud.UserCloudException;
-import com.yeshi.fanli.exception.user.cloud.UserCloudGoodsException;
 import com.yeshi.fanli.exception.user.cloud.UserCloudGroupException;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
+import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
 import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.cloud.UserCloudGoodsService;
@@ -49,12 +48,17 @@
 import com.yeshi.fanli.service.inter.user.cloud.UserCloudService;
 import com.yeshi.fanli.service.manger.alipay.UserCloudAlipayManager;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.RedisKeyEnum;
+import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.aitaoker.AitaokerApiUtil;
+import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
-import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.util.suning.SuningUtil;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+import com.yeshi.fanli.vo.homemodule.BannerVO;
+import com.yeshi.fanli.vo.user.cloud.CloudOrderMenuVO;
 import com.yeshi.fanli.vo.user.cloud.UserCloudInfoVO;
 
 import net.sf.json.JSONArray;
@@ -87,6 +91,18 @@
 
 	@Resource
 	private UserCloudAlipayManager userCloudAlipayManager;
+	
+	@Resource
+	private GoodsEvaluateService goodsEvaluateService;
+	
+	@Resource
+	private ConfigService configService;
+	
+	@Resource
+	private RedisManager redisManager;
+	
+	@Resource
+	private SwiperPictureService swiperPictureService;
 
 	/**
 	 * 鏌ヨ寮�閫氳褰�
@@ -165,11 +181,24 @@
 			return;
 		}
 
+		List<CloudOrderMenuVO> listMenu = new ArrayList<>();
+		CloudOrderMenuEnum[] menus = CloudOrderMenuEnum.values();
+		for (CloudOrderMenuEnum menuEnum: menus) {
+			CloudOrderMenuVO menuVO = new CloudOrderMenuVO();
+			menuVO.setMoney(BigDecimal.valueOf(menuEnum.getMoney()) );
+			menuVO.setType(menuEnum.name());
+			menuVO.setDesc(menuEnum.getDescShow());
+			listMenu.add(menuVO);
+		}
+		
+		
 		UserCloudInfoVO cloudInfoVO = new UserCloudInfoVO();
 		cloudInfoVO.setNickName(userInfo.getNickName());
 		cloudInfoVO.setPortrait(userInfo.getPortrait());
 		cloudInfoVO.setOpenState(0); // 鏈紑閫�
-
+		cloudInfoVO.setListMenu(listMenu);
+		
+		
 		// 鏄惁寮�閫�
 		UserCloud userCloud = userCloudService.getLastByUid(uid);
 		if (userCloud == null) {
@@ -213,7 +242,15 @@
 				}
 			}
 		}
-		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(cloudInfoVO));
+		
+		// 鏁欑▼
+		List<BannerVO> listBanner = swiperPictureService.getByBannerCard("cloud_course",acceptData.getSystem());
+		if (listBanner != null && listBanner.size() > 0) {
+			cloudInfoVO.setCourse(listBanner.get(0));
+		}
+		GsonBuilder gsonBuilder = new GsonBuilder();
+		
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(gsonBuilder.create().toJson(cloudInfoVO)));
 	}
 
 	/**
@@ -224,6 +261,7 @@
 	 * @param uid
 	 * @param out
 	 */
+	@RequestSerializableByKey(key = "'getQrcodeMaclogin-'+#uid")
 	@RequestMapping(value = "getQrcodeMaclogin")
 	public void getQrcodeMaclogin(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
 		if (uid == null) {
@@ -290,6 +328,7 @@
 		JSONObject data = new JSONObject();
 		QrcodeLoginDTO dto = AitaokerApiUtil.getQrcodeMacloginCheck(robotId, wId);
 		if (dto != null) {
+			LogHelper.cloudInfo("鏂规硶macloginCheck: [uid=" + uid + "][wxID=" + dto.getWcId() + "][ NickName=" + dto.getNickName() + "]" );
 			try {
 				// 鏇存柊寰俊淇℃伅
 				userCloudService.updateWXInfo(uid, dto.getWcId(), dto.getNickName(), dto.getHeadUrl());
@@ -367,7 +406,7 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "switchCircleState")
-	public void switchCircleState(String callback, AcceptData acceptData, Long uid, Boolean state, PrintWriter out) {
+	public void switchCircleState(String callback, AcceptData acceptData, Long uid, Integer state, PrintWriter out) {
 		if (uid == null) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
 			return;
@@ -376,8 +415,14 @@
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐘舵�佷笉鑳戒负绌�"));
 			return;
 		}
+		
+		boolean reslut = false;
+		if (state == 1) {
+			reslut = true;
+		}
+		
 		try {
-			userCloudGroupService.switchCircleState(uid, state);
+			userCloudGroupService.switchCircleState(uid, reslut);
 		} catch (UserCloudGroupException e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
 		}
@@ -400,6 +445,12 @@
 			return;
 		}
 
+		UserCloud userCloud = userCloudService.getValidByUid(uid);
+		if (userCloud == null) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "璇峰厛寮�閫氫簯鍙戝崟"));
+			return;
+		}
+		
 		try {
 			// 閲嶆柊鑾峰彇缇ゅ垪琛�
 			userCloudService.searchGroup(uid);
@@ -426,7 +477,7 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "switchGroupState")
-	public void switchGroupState(String callback, AcceptData acceptData, Long uid, Long id, Boolean state,
+	public void switchGroupState(String callback, AcceptData acceptData, Long uid, Long id, Integer state,
 			PrintWriter out) {
 		if (uid == null) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
@@ -436,12 +487,68 @@
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鍙傛暟涓嶈兘涓虹┖"));
 			return;
 		}
+		
+		UserCloud userCloud = userCloudService.getValidByUid(uid);
+		if (userCloud == null) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "璇峰厛寮�閫氫簯鍙戝崟"));
+			return;
+		}
+		
+		boolean reslut = false;
+		if (state == 1) {
+			reslut = true;
+		}
+		
 		try {
-			userCloudGroupService.switchGroupState(uid, id, state);
+			
+			
+			userCloudGroupService.switchGroupState(uid, id, reslut);
+			// 鑾峰彇鏈�鏂扮兢
+			List<UserCloudGroup> list = userCloudGroupService.listGroupByUid(uid);
+			if (list == null)
+				list = new ArrayList<>();
+			
+			JSONObject data = new JSONObject();
+			data.put("listGroup", list);
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
 		} catch (UserCloudGroupException e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
 		}
-		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛"));
+	}
+	
+	
+	
+	/**
+	 * 璁剧疆鐘舵��
+	 * 
+	 * @param callback
+	 * @param acceptData
+	 * @param uid
+	 * @param type
+	 * @param out
+	 */
+	@RequestMapping(value = "deleteGroup")
+	public void switchGroupState(String callback, AcceptData acceptData, Long uid, Long id, 
+			PrintWriter out) {
+		if (uid == null || id == null) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鍙傛暟涓嶅畬鏁�"));
+			return;
+		}
+		
+		try {
+			userCloudGroupService.deleteGroup(uid, id);
+			
+			// 鑾峰彇鏈�鏂扮兢
+			List<UserCloudGroup> list = userCloudGroupService.listGroupByUid(uid);
+			if (list == null)
+				list = new ArrayList<>();
+			
+			JSONObject data = new JSONObject();
+			data.put("listGroup", list);
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+		} catch (UserCloudGroupException e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
+		}
 	}
 
 	/**
@@ -471,52 +578,15 @@
 		JSONArray array = new JSONArray();
 		JSONObject data = new JSONObject();
 		if (list.size() > 0) {
-			List<Long> listGid = new ArrayList<Long>();
-			for (UserCloudGoods cloudGoods : list) {
-				CommonGoods commonGoods = cloudGoods.getCommonGoods();
-				if (commonGoods == null) {
-					continue;
-				}
-				listGid.add(commonGoods.getGoodsId());
-			}
-
-			// API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭
-			List<TaoBaoGoodsBrief> listTaoKeGoods = null;
-			try {
-				listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
-			} catch (TaoKeApiException e) {
-				e.printStackTrace();
-			} catch (TaobaoGoodsDownException e) {
-				e.printStackTrace();
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-
 			Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 					.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 			ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
-					acceptData.getVersion());
+					acceptData.getVersion(),acceptData.getSystem());
 
 			for (UserCloudGoods cloudGoods : list) {
 				CommonGoods commonGoods = cloudGoods.getCommonGoods();
 				if (commonGoods == null) {
 					continue;
-				}
-
-				// 娣樺疂鍟嗗搧楠岃瘉鍦ㄥ敭
-				if (commonGoods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
-					if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
-						int state = 1; // 榛樿鍋滃敭
-						Long goodsId = commonGoods.getGoodsId();
-						for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
-							Long auctionId = taoKeGoods.getAuctionId();
-							if (goodsId == auctionId || goodsId.equals(auctionId)) {
-								state = 0; // 鍦ㄥ敭
-								break;
-							}
-						}
-						commonGoods.setState(state);
-					}
 				}
 
 				// 鍒ゆ柇鏄惁宸插垎浜紝 宸插垎浜樉绀哄凡涓嬫灦
@@ -527,7 +597,11 @@
 						commonGoods.setState(2);
 					}
 				}
-
+				 
+				if (state != null && state == UserCloudGoods.STATE_INVALID) {
+					commonGoods.setState(1);
+				}
+				
 				GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO);
 				detailVO.setId(commonGoods.getId());
 
@@ -557,61 +631,15 @@
 		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
 	}
 
+
+
 	/**
-	 * 娣诲姞銆佸彇娑堝彂鍗曞簱
+	 *  鍒犻櫎浜戝彂鍗曞閫夊簱
 	 * 
 	 * @param callback
 	 * @param acceptData
 	 * @param uid
-	 * @param goodsId
-	 * @param goodsType
-	 * @param out
-	 */
-	@RequestMapping(value = "accordGoods")
-	public void accordGoods(String callback, AcceptData acceptData, Long uid, Long goodsId, Integer goodsType,
-			PrintWriter out) {
-		if (uid == null) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
-			return;
-		}
-
-		if (goodsType == null || goodsId == null) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鍙傛暟涓嶅畬鏁�"));
-			return;
-		}
-
-		try {
-			boolean state = false;
-			UserCloudGoods cloudGoods = userCloudGoodsService.getByUidAndGoods(uid, goodsId, goodsType);
-			if (cloudGoods != null) { // 鍙栨秷鍔犲叆閫夊搧搴�
-				userCloudGoodsService.deleteByPrimaryKeyAndUid(cloudGoods.getId(), uid);
-			} else { // 鍔犲叆閫夊搧搴�
-				Set<Long> set = new HashSet<Long>();
-				set.add(goodsId);
-				userCloudGoodsService.addGoods(uid, set, goodsType);
-				state = true;
-			}
-
-			JSONObject data = new JSONObject();
-			data.put("state", state);
-			out.print(JsonUtil.loadTrueResult(data));
-		} catch (UserCloudGoodsException e) {
-			out.print(JsonUtil.loadFalseResult(e.getMsg()));
-		} catch (Exception e) {
-			out.print(JsonUtil.loadFalseResult("鎿嶄綔澶辫触"));
-			LogHelper.errorDetailInfo(e);
-			;
-		}
-	}
-
-	/**
-	 * 娣诲姞銆佸彇娑堝彂鍗曞簱
-	 * 
-	 * @param callback
-	 * @param acceptData
-	 * @param uid
-	 * @param goodsId
-	 * @param goodsType
+	 * @param id
 	 * @param out
 	 */
 	@RequestMapping(value = "deleteGoods")
@@ -639,18 +667,26 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "switchState")
-	public void switchState(String callback, AcceptData acceptData, Long uid, Integer type, Boolean state,
+	public void switchState(String callback, AcceptData acceptData, Long uid, Integer type, Integer state,
 			PrintWriter out) {
-		if (uid == null) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+		if (uid == null || type == null || state == null) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鍙傛暟涓嶅畬鏁�"));
 			return;
 		}
-		if (type == 1) {
-			userCloudManageService.save(uid, state, null);
-		} else {
-			userCloudManageService.save(uid, null, state);
+		
+		boolean reslut = false;
+		if (state == 1) {
+			reslut = true;
 		}
-		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛"));
+		
+		if (type == 1) {
+			userCloudManageService.save(uid, reslut, null);
+		} else {
+			userCloudManageService.save(uid, null, reslut);
+		}
+		JSONObject data = new JSONObject();
+		data.put("state", reslut);
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
 	}
 
 	/**
@@ -664,8 +700,7 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "pay")
-	public void pay(String callback, AcceptData acceptData, Long uid, String type, HttpServletResponse response,
-			PrintWriter out) {
+	public void pay(String callback, AcceptData acceptData, Long uid, String type, PrintWriter out) {
 		try {
 			if (uid == null) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
@@ -680,38 +715,50 @@
 			// 鍒涘缓鏀粯淇℃伅
 			String alipayForm = userCloudAlipayManager.getAlipayForm(uid, type);
 
-			// 杩斿洖淇℃伅
-			response.setContentType("text/html;charset=utf-8");
-			PrintWriter print = response.getWriter();
+			// 杩斿洖淇℃伅 - 缂撳瓨鍒皊ession
 			StringBuilder builder = new StringBuilder();
 			builder.append("<html><head><title>alipay</title></head>");
 			builder.append("<body>" + alipayForm + "</body></html>");
-			JsonUtil.printMode(print, callback, builder.toString());
-			print.close();
+			
+			// 缂撳瓨鍒皉edis- 涓�鍒嗛挓
+			String key = RedisKeyEnum.cloudAlipayLink.getKey() + uid + "_" + type;
+			key = StringUtil.Md5(key);
+			redisManager.cacheCommonString(key , builder.toString() , 60*10);
+			
+			String link = configService.getValue(ConfigKeyEnum.cloudAlipayJumpLink.getKey(),acceptData.getSystem()) +"?key=%s";
+			JSONObject dataObject = new JSONObject();
+			dataObject.put("link", String.format(link, key));
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(dataObject));
 		} catch (Exception e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鍒涘缓鏀粯淇℃伅澶辫触"));
 			LogHelper.errorDetailInfo(e);
 		}
 	}
 
+	
 	/**
 	 * 鏀粯瀹屾垚
 	 * 
-	 * @param callback
-	 * @param acceptData
 	 * @param id
 	 * @param out
 	 */
 	@RequestMapping(value = "payEnd")
-	public void payEnd(String callback, AcceptData acceptData, Long id, PrintWriter out) {
-		if (id == null) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鍙傛暟淇℃伅缂哄け"));
+	public void payEnd(String callback, AcceptData acceptData, Long uid, Long id, PrintWriter out) {
+		if (uid == null || id == null) {
+			out.print(JsonUtil.loadFalseResult(1, "鍙傛暟淇℃伅缂哄け"));
 			return;
 		}
+		
 		try {
+			// 妫�娴嬫槸鍚︽敮浠樺畬鎴�
 			userCloudAlipayManager.tradeQueryByOrderId(id);
+			
+			UserCloudOrder cloudOrder = userCloudOrderService.selectByPrimaryKey(id);
+			JSONObject dataObject = new JSONObject();
+			dataObject.put("money", cloudOrder.getMoney());
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(dataObject));
 		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "妫�娴嬪け璐�"));
+			out.print(JsonUtil.loadFalseResult(1, "鍥炶皟淇℃伅澶辫触"));
 			LogHelper.errorDetailInfo(e);
 		}
 	}
@@ -735,7 +782,13 @@
 			userCloudService.sendByDynamic(uid, id);
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("涓�閿彂鍗曟垚鍔�"));
 		} catch (UserCloudException e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg()));
+			if (e.getCode() > 1000 && e.getCode() < 1100) {
+				JSONObject data = new JSONObject();
+				data.put("link",  configService.getValue(ConfigKeyEnum.robotCloudLink.getKey(),acceptData.getSystem()));
+				JsonUtil.printMode(out, callback, JsonUtil.loadTrue(e.getCode(), data, e.getMsg()).toString());
+			} else {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg()));
+			}
 		}
 	}
 	
@@ -750,17 +803,38 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "sendGoods")
-	public void sendCircle(String callback, AcceptData acceptData, Long uid, Long goodsId, Integer goodsType, PrintWriter out) {
+	public void sendGoods(String callback, AcceptData acceptData, Long uid, String goodsId, Integer goodsType, PrintWriter out) {
 		if (uid == null || goodsId == null || goodsType == null) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖"));
 			return;
 		}
 		
 		try {
-			userCloudService.sendCustomGoods(uid, goodsId, goodsType);
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("涓�閿彂鍗曟垚鍔�"));
+			GoodsEvaluate evaluate = goodsEvaluateService.queryExistSingle(goodsId, goodsType,acceptData.getSystem());
+			if (evaluate != null) {
+				userCloudService.sendByDynamic(uid, evaluate.getId());
+			} else {
+				
+				Long gid = null;
+				Long sellerId = null;
+				if (goodsType == Constant.SOURCE_TYPE_SUNING) { // 鑻忓畞
+					String[] ids = SuningUtil.getGoodsIdDetail(goodsId);
+					gid = Long.parseLong(ids[1]);
+					sellerId = Long.parseLong(ids[0]);
+				} else {
+					gid = Long.parseLong(goodsId);
+				}
+				userCloudService.sendCustomGoods(uid, gid, goodsType, sellerId);
+			}
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鍔犲叆鍙戝崟搴撴垚鍔�"));
 		} catch (UserCloudException e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg()));
+			if (e.getCode() > 1000 && e.getCode() < 1100) {
+				JSONObject data = new JSONObject();
+				data.put("link",  configService.getValue(ConfigKeyEnum.robotCloudLink.getKey(),acceptData.getSystem()));
+				JsonUtil.printMode(out, callback, JsonUtil.loadTrue(e.getCode(), data, e.getMsg()).toString());
+			} else {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg()));
+			}
 		}
 	}
 }

--
Gitblit v1.8.0