From cdcbed9af813b2a02cdc01eefa24db8bec6b51a9 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期三, 27 三月 2019 12:17:33 +0800
Subject: [PATCH] 主分类 + 子分类 DAO改造

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java |  366 ++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 269 insertions(+), 97 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java
index 83c6462..6f34566 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java
@@ -10,15 +10,18 @@
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.encrypt.DESUtil;
 
 import com.alipay.api.AlipayApiException;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.BindingAccount;
+import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode;
+import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
 import com.yeshi.fanli.entity.bus.user.LoginResult;
 import com.yeshi.fanli.entity.bus.user.SMSHistory;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.bus.user.WeiXinUser;
-import com.yeshi.fanli.entity.system.System;
+import com.yeshi.fanli.entity.system.BusinessSystem;
 import com.yeshi.fanli.entity.taobao.ClientTBPid;
 import com.yeshi.fanli.entity.taobao.PidUser;
 import com.yeshi.fanli.entity.taobao.TBPid;
@@ -27,31 +30,31 @@
 import com.yeshi.fanli.exception.AlipayTransferException;
 import com.yeshi.fanli.exception.UserAccountException;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.config.BusinessSystemService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.config.InviteGetMoneyService;
-import com.yeshi.fanli.service.inter.config.SystemService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoMessageService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
+import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
 import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
 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.push.DeviceTokenHWService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-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.ExtractService;
-import com.yeshi.fanli.service.inter.user.MoneyRecordService;
-import com.yeshi.fanli.service.inter.user.PassWordErrorRecordService;
+import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
 import com.yeshi.fanli.service.inter.user.ShamUserService;
+import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
 import com.yeshi.fanli.service.inter.user.TBPidService;
 import com.yeshi.fanli.service.inter.user.UserAccountService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.UserMoneyService;
+import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
+import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
+import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.GsonUtil;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.ThreadUtil;
 import com.yeshi.fanli.util.account.UserUtil;
 import com.yeshi.fanli.util.wx.WXLoginUtil;
 
@@ -74,10 +77,7 @@
 	private OrderService orderService;
 
 	@Resource
-	private HongBaoService hongBaoService;
-
-	@Resource
-	private MoneyRecordService moneyRecordService;
+	private HongBaoV2Service hongBaoV2Service;
 
 	@Resource
 	private BindingAccountService bindingAccountService;
@@ -86,16 +86,10 @@
 	private ExtractService extractService;
 
 	@Resource
-	private PassWordErrorRecordService passWordErrorRecordService;
-
-	@Resource
 	private ConfigService configService;
 
 	@Resource
-	private SystemService systemService;
-
-	@Resource
-	private HongBaoMessageService hongBaoMessageService;
+	private BusinessSystemService businessSystemService;
 
 	@Resource
 	private ShamUserService shamUserService;
@@ -107,15 +101,6 @@
 	private LostOrderService lostOrderService;
 
 	@Resource
-	private OrderItemServcie orderItemServcie;
-
-	@Resource
-	private AccountDetailsService accountDetailsService;
-
-	@Resource
-	private AccountMessageService accountMessageService;
-
-	@Resource
 	private HongBaoManageService hongBaoManageService;
 
 	@Resource
@@ -125,9 +110,6 @@
 	private RedisManager redisManager;
 
 	@Resource
-	private InviteGetMoneyService inviteGetMoneyService;
-
-	@Resource
 	private TBPidService tbPidService;
 
 	@Resource
@@ -135,6 +117,21 @@
 
 	@Resource
 	private TaoBaoUnionConfigService taoBaoUnionConfigService;
+
+	@Resource
+	private SpreadUserImgService spreadUserImgService;
+
+	@Resource
+	private UserShareGoodsRecordService userShareGoodsRecordService;
+
+	@Resource
+	private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService;
+
+	@Resource
+	private UserSystemCouponService userSystemCouponService;
+
+	@Resource
+	private UserMoneyService userMoneyService;
 
 	private static final String PASSWORD_MAX_ERROR = "password_max_error";
 	private static final String EXTRACT_MIN_MONEY = "extract_min_money";
@@ -150,35 +147,58 @@
 	 * @param tbOpenid
 	 * @param tbNickName
 	 * @param tbPortrait
+	 * @param tbSession(娣樺疂session鏁版嵁,鍔犲瘑)
 	 * @param out
 	 */
 	@RequestMapping(value = "login")
 	public void login(AcceptData acceptData, String code, String vcode, String phone, boolean wxinstall,
-			String tbOpenid, String tbNickName, String tbPortrait, int loginType, Boolean first, HttpSession session,
-			PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+			String tbOpenid, String tbNickName, String tbPortrait, String tbSession, int loginType, Boolean first,
+			HttpSession session, HttpServletRequest request, PrintWriter out) {
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
 		}
 
-		if (loginType == 3)// 楠岃瘉鐭俊楠岃瘉鐮�
+		if (loginType == 3 && !Constant.IS_TEST)// 楠岃瘉鐭俊楠岃瘉鐮�
 		{
-			String oldVcode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_LOGIN);
-			if (StringUtil.isNullOrEmpty(oldVcode) || !oldVcode.equalsIgnoreCase(vcode)) {
-				out.print(JsonUtil.loadFalseResult(90001, "楠岃瘉鐮侀敊璇�"));
-				return;
+			// 鑻规灉搴旂敤鍟嗗簵涓婄嚎娴嬭瘯鍙风爜
+			if ("17316780233".equalsIgnoreCase(phone) && "258168".equalsIgnoreCase(vcode)) {
+				;
+			} else {
+				String oldVcode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_LOGIN);
+				if (StringUtil.isNullOrEmpty(oldVcode) || !oldVcode.equalsIgnoreCase(vcode)) {
+					out.print(JsonUtil.loadFalseResult(90001, "楠岃瘉鐮侀敊璇�"));
+					return;
+				}
 			}
 
 			redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_LOGIN);
 		}
 
 		UserInfo tbUserInfo = new UserInfo();
+		if (!StringUtil.isNullOrEmpty(tbSession)) {
+			try {
+				tbSession = DESUtil.decode(tbSession.replace("\n", ""), StringUtil.getBase64String("YeShiFANLI889*+"),
+						StringUtil.getBase64String("*M#34f?,"));
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+			JSONObject tbs = JSONObject.fromObject(tbSession);
+			tbOpenid = tbs.optString("openId");
+			tbNickName = tbs.optString("nick");
+			tbPortrait = tbs.optString("avatarUrl");
+			// 娣樺疂ID
+			tbUserInfo.setTaoBaoUid(tbs.optString("taobao_user_id"));
+		}
+
 		tbUserInfo.setOpenid(tbOpenid);
 		tbUserInfo.setTbName(tbNickName);
 		tbUserInfo.setTbPic(tbPortrait);
+
 		try {
-			LoginResult result = userAccountService.login(session, first, system.getAppid(), code, phone, tbUserInfo,
+			LoginResult result = userAccountService.login(request, first, system.getAppid(), code, phone, tbUserInfo,
 					wxinstall, loginType);
 			if (result == null)
 				LogHelper.error("login-result涓虹┖鍊�");
@@ -196,9 +216,34 @@
 			root.put("type", result.getType());
 			root.put("data", data);
 			out.print(JsonUtil.loadTrueResult(root));
+
+			final UserInfo uuser = result.getUser();
+			ThreadUtil.run(new Runnable() {
+				public void run() {
+					try {
+						int platformType = 0;
+						String platform = acceptData.getPlatform();
+						if ("android".equals(platform)) {
+							platformType = 1;
+						} else if ("ios".equals(platform)) {
+							platformType = 2;
+						}
+						userSystemCouponService.copyLotteryPrize(uuser.getId(), platformType, acceptData.getDevice());
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				}
+			});
+
 		} catch (UserAccountException e) {
+			try {
+				LogHelper.cookieLog("鐧诲綍鍑洪敊:" + e.getCode() + "-" + e.getMessage());
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
 			out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
 		}
+
 	}
 
 	/**
@@ -216,7 +261,8 @@
 	@RequestMapping(value = "register")
 	public void register(AcceptData acceptData, String tbOpenid, String tbNickName, String tbPortrait, String vcode,
 			String phone, HttpServletRequest request, HttpSession session, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -276,7 +322,8 @@
 	 */
 	@RequestMapping(value = "connect")
 	public void connect(AcceptData acceptData, long mainUid, long lessUid, HttpSession session, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -309,7 +356,8 @@
 	 */
 	@RequestMapping(value = "getuid")
 	public void getUid(AcceptData acceptData, String code, String tbOpenid, String phone, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -321,11 +369,35 @@
 				out.print(JsonUtil.loadFalseResult(1, "鑾峰彇寰俊鐢ㄦ埛淇℃伅澶辫触"));
 				return;
 			}
-			user = userAccountService.getUserInfoByWXUnionId(system.getAppid(), weiXinUser.getUnionid());
+			try {
+				user = userAccountService.getUserInfoByWXUnionId(system.getAppid(), weiXinUser.getUnionid());
+			} catch (UserAccountException e) {
+				try {
+					LogHelper.errorDetailInfo(e, null, "鑾峰彇鐢ㄦ埛淇℃伅鍑洪敊");
+				} catch (Exception e1) {
+					e1.printStackTrace();
+				}
+			}
 		} else if (!StringUtil.isNullOrEmpty(tbOpenid)) {
-			user = userAccountService.getUserInfoByTaoBaoOpenId(system.getAppid(), tbOpenid);
+			try {
+				user = userAccountService.getUserInfoByTaoBaoOpenId(system.getAppid(), tbOpenid);
+			} catch (UserAccountException e) {
+				try {
+					LogHelper.errorDetailInfo(e);
+				} catch (Exception e1) {
+					e1.printStackTrace();
+				}
+			}
 		} else if (!StringUtil.isNullOrEmpty(phone)) {
-			user = userAccountService.getUserInfoByPhone(system.getAppid(), phone);
+			try {
+				user = userAccountService.getUserInfoByPhone(system.getAppid(), phone);
+			} catch (UserAccountException e) {
+				try {
+					LogHelper.errorDetailInfo(e);
+				} catch (Exception e1) {
+					e1.printStackTrace();
+				}
+			}
 		}
 
 		if (user == null) {
@@ -349,7 +421,8 @@
 	 */
 	@RequestMapping(value = "bindPhone")
 	public void bindPhone(AcceptData acceptData, Long uid, String vcode, String phone, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -367,15 +440,32 @@
 
 		String oldVCode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_LOGIN);
 
-		if (!vcode.equalsIgnoreCase(oldVCode)) {
-			out.print(JsonUtil.loadFalseResult(90001, "楠岃瘉鐮侀敊璇�"));
-			return;
+		if (Constant.IS_OUTNET) {
+			if (!vcode.equalsIgnoreCase(oldVCode)) {
+				out.print(JsonUtil.loadFalseResult(90001, "楠岃瘉鐮侀敊璇�"));
+				return;
+			}
+			redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_LOGIN);
 		}
-		redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_LOGIN);
-
 		try {
 			userAccountService.bindPhone(uid, phone);
 			UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+			// 鍒ゆ柇鐢佃瘽鍙风爜鏄惁宸茬粡灏佺
+			ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService
+					.listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, phone);
+			if (ic != null && ic.getEffective() != null && ic.getEffective()) {
+				out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+				// 灏佺鐢ㄦ埛
+				// 灏佺缁戝畾鐨勬甯哥敤鎴�
+				if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
+					UserInfo update = new UserInfo(uid);
+					update.setState(UserInfo.STATE_FORBIDDEN);
+					update.setStateDesc("缁戝畾琚皝绂佺殑鐢佃瘽鍙风爜琚皝绂�");
+					userInfoService.updateByPrimaryKeySelective(update);
+				}
+				return;
+			}
+
 			JSONObject data = new JSONObject();
 			data.put("user", UserUtil.filterForClientUser(user));
 			out.print(JsonUtil.loadTrueResult(data));
@@ -395,7 +485,8 @@
 	 */
 	@RequestMapping(value = "unBindPhone")
 	public void unBindPhone(AcceptData acceptData, Long uid, String phone, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -423,21 +514,60 @@
 	 * @param tbOpenid
 	 * @param tbNickName
 	 * @param tbPortrait
+	 * @param tbSession
+	 *            -娣樺疂鎺堟潈session
 	 * @param out
 	 */
 
 	@RequestMapping(value = "bindTaoBao")
 	public void bindTaoBao(AcceptData acceptData, Long uid, String tbOpenid, String tbNickName, String tbPortrait,
-			PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+			String tbSession, PrintWriter out) {
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
 		}
 
+		String taoBaoUid = "";
+
+		if (!StringUtil.isNullOrEmpty(tbSession)) {
+			try {
+				tbSession = DESUtil.decode(tbSession.replace("\n", ""), StringUtil.getBase64String("YeShiFANLI889*+"),
+						StringUtil.getBase64String("*M#34f?,"));
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+			JSONObject session = JSONObject.fromObject(tbSession);
+			tbOpenid = session.optString("openId");
+			tbNickName = session.optString("nick");
+			tbPortrait = session.optString("avatarUrl");
+			taoBaoUid = session.optString("taobao_user_id");
+		}
+
 		try {
 			userAccountService.bindTaoBao(uid, tbOpenid, tbNickName, tbPortrait);
 			UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+
+			// 鍒ゆ柇taoBaoUid鏄惁宸茬粡灏佺
+			if (!StringUtil.isNullOrEmpty(taoBaoUid)) {
+				ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService
+						.listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.taobaoUid, taoBaoUid);
+				if (ic != null && ic.getEffective() != null && ic.getEffective()) {
+					out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER,
+							Constant.FORBIDDEN_USER_REASON_DESC));
+					// 灏佺鐢ㄦ埛
+					// 灏佺缁戝畾鐨勬甯哥敤鎴�
+					if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
+						UserInfo update = new UserInfo(uid);
+						update.setState(UserInfo.STATE_FORBIDDEN);
+						update.setStateDesc("缁戝畾琚皝绂佺殑娣樺疂鍙疯灏佺");
+						userInfoService.updateByPrimaryKeySelective(update);
+					}
+					return;
+				}
+			}
+
 			JSONObject data = new JSONObject();
 			data.put("user", UserUtil.filterForClientUser(user));
 			out.print(JsonUtil.loadTrueResult(data));
@@ -455,7 +585,8 @@
 	 */
 	@RequestMapping(value = "unBindTaoBao")
 	public void unBindTaoBao(AcceptData acceptData, Long uid, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -479,7 +610,8 @@
 	 */
 	@RequestMapping(value = "changeWX")
 	public void changeWX(AcceptData acceptData, Long uid, String code, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -493,6 +625,22 @@
 		try {
 			userAccountService.changeWXBind(uid, code);
 			UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+			// 鍒ゆ柇taoBaoUid鏄惁宸茬粡灏佺
+			ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService
+					.listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.wxUnionId, user.getWxUnionId());
+			if (ic != null && ic.getEffective() != null && ic.getEffective()) {
+				out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+				// 灏佺鐢ㄦ埛
+				// 灏佺缁戝畾鐨勬甯哥敤鎴�
+				if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
+					UserInfo update = new UserInfo(uid);
+					update.setState(UserInfo.STATE_FORBIDDEN);
+					update.setStateDesc("缁戝畾琚皝绂佺殑寰俊鍙疯灏佺");
+					userInfoService.updateByPrimaryKeySelective(update);
+				}
+				return;
+			}
+
 			JSONObject data = new JSONObject();
 			data.put("user", UserUtil.filterForClientUser(user));
 			out.print(JsonUtil.loadTrueResult(data));
@@ -510,7 +658,8 @@
 	 */
 	@RequestMapping(value = "getphone")
 	public void getPhone(AcceptData acceptData, Long uid, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -530,7 +679,8 @@
 
 	@RequestMapping(value = "verifyvcodeforbind")
 	public void verifyVcodeForbind(AcceptData acceptData, Long uid, String vcode, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -575,7 +725,8 @@
 	 */
 	@RequestMapping(value = "bindalipay")
 	public void bindAlipay(AcceptData acceptData, Long uid, String name, String account, PrintWriter out) {
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -630,7 +781,8 @@
 	@RequestMapping(value = "bindalipaywithverify")
 	public void bindAlipayWithVerify(AcceptData acceptData, Long uid, String name, String account, PrintWriter out) {
 
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -716,13 +868,12 @@
 			redisManager.removeCommonString(key);
 		}
 	}
-	
-	
-	
+
 	@RequestMapping(value = "bindalipaywithverifynew")
 	public void bindAlipayWithVerifyNew(AcceptData acceptData, Long uid, String name, String account, PrintWriter out) {
 
-		System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
 		if (system == null) {
 			out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
 			return;
@@ -758,13 +909,31 @@
 			return;
 		}
 		redisManager.cacheCommonString(key, "1", 120);
+
+		// 鏀粯瀹濈粦瀹�
+		ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService
+				.listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.alipayAccount, account);
+		if (ic != null && ic.getEffective() != null && ic.getEffective()) {
+			out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+			// 灏佺鐢ㄦ埛
+			// 灏佺缁戝畾鐨勬甯哥敤鎴�
+			if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) {
+				UserInfo update = new UserInfo(uid);
+				update.setState(UserInfo.STATE_FORBIDDEN);
+				update.setStateDesc("缁戝畾琚皝绂佺殑鏀粯瀹濊灏佺");
+				userInfoService.updateByPrimaryKeySelective(update);
+			}
+			return;
+		}
+
 		// 鍙互灞曠ず缁欑敤鎴风湅鐨勯敊璇爜
 		String[] ALIPAY_CODES = new String[] { "SYSTEM_ERROR", "PERMIT_CHECK_PERM_LIMITED", "PERM_AML_NOT_REALNAME_REV",
 				"PERM_AML_NOT_REALNAME_REV", "PAYEE_USER_INFO_ERROR", "PAYEE_ACC_OCUPIED",
 				"PERMIT_CHECK_PERM_IDENTITY_THEFT", "PERMIT_NON_BANK_LIMIT_PAYEE", "EXCEED_LIMIT_UNRN_DM_AMOUNT" };
 		try {
 			BindingAccount bindingAccount = bindingAccountService.changeAlipayBindingWithVerify(uid, name, account);
-			out.print(JsonUtil.loadTrue(0, JsonUtil.getGson().toJson(bindingAccount), "绯荤粺宸叉垚鍔熻浆璐�0.1鍏冨埌鎻愮幇璐﹀彿涓紝鎻愮幇璐﹀彿楠岃瘉閫氳繃锛屾伃鍠滀綘锛佸彲浠ユ彁鐜颁簡銆�"));
+			out.print(JsonUtil.loadTrue(0, JsonUtil.getGson().toJson(bindingAccount),
+					"绯荤粺宸叉垚鍔熻浆璐�0.1鍏冨埌鎻愮幇璐﹀彿涓紝鎻愮幇璐﹀彿楠岃瘉閫氳繃锛屾伃鍠滀綘锛佸彲浠ユ彁鐜颁簡銆�"));
 		} catch (AlipayTransferException e1) {
 			if (e1.getSubCode().equalsIgnoreCase("PAYEE_NOT_EXIST")) {
 				String msg = "绯荤粺鏈兘鎴愬姛杞处0.1鍏冿紝鎻愮幇璐﹀彿淇℃伅鏈夎锛岃鏍稿鍚庨噸鏂板~鍐欍��";
@@ -808,7 +977,6 @@
 			redisManager.removeCommonString(key);
 		}
 	}
-	
 
 	/**
 	 * 鑾峰彇鐢ㄦ埛璧勯噾璇︽儏
@@ -819,47 +987,58 @@
 	 */
 	@RequestMapping(value = "getusermoney")
 	public void getMoneyDetail(AcceptData acceptData, Long uid, PrintWriter out) {
+
 		UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
 		if (user == null) {
 			out.print(JsonUtil.loadFalseResult(2, "鐢ㄦ埛涓嶅瓨鍦�"));
 			return;
 		}
-		BigDecimal moneyToday = inviteGetMoneyService.getMoneyToday(uid + "");
+		BigDecimal moneyToday = userMoneyService.getMoneyToday(uid);
 		if (moneyToday == null) {
 			moneyToday = new BigDecimal(0);
 		}
-		BigDecimal moneyMonth = inviteGetMoneyService.getMoneyMonth(uid + "");
+		BigDecimal moneyMonth = userMoneyService.getMoneyMonth(uid);
 		if (moneyMonth == null) {
 			moneyMonth = new BigDecimal(0);
 		}
 
-		BigDecimal moneyLastMonth = inviteGetMoneyService.getMoneyLastMonth(uid + "");
-		BigDecimal unOpenmoney = hongBaoService.getUnOpenHongBaoByUid(uid);
-		BigDecimal totalFanMoney = hongBaoService.getMyTotalHongBaoByUid(user.getId());
+		BigDecimal moneyLastMonth = userMoneyService.getMoneyLastMonth(uid);
+		BigDecimal unOpenmoney = hongBaoV2Service.getUnRecievedFanLiMoney(uid);
+		BigDecimal totalFanMoney = hongBaoV2Service.getTotalFanLiMoney(uid);
 		JSONObject data = new JSONObject();
+		int spreadImgCount = spreadUserImgService.countUserSpreadImg(uid);
+		long shareCount = userShareGoodsRecordService.countShareRecordByUid(uid);
+
 		// IOS绔暟瀛楁寜鐓у瓧绗︿覆澶勭悊
 		if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && Integer.parseInt(acceptData.getVersion()) > 33) {
 			data.put("moneyToday", moneyToday.setScale(2, BigDecimal.ROUND_DOWN).toString());
 			data.put("moneyMonth", moneyMonth.setScale(2, BigDecimal.ROUND_DOWN).toString());
-			data.put("moneyLastMonth", moneyLastMonth.toString());
-			data.put("money", user.getMyHongBao().toString());
-			data.put("unGetMoney", unOpenmoney.toString());
-			data.put("totalFanLiMoney", totalFanMoney.toString());// 绱杩斿埄
-			data.put("totalTiChengMoney", hongBaoService.getTotalTiChengMoney(uid).toString());// 绱鎻愭垚
-			data.put("totalUnGetTiChengMoney", hongBaoService.getUnGetTiChengMoney(uid).toString()); // 鏈埌璐︽彁鎴�
+			data.put("moneyLastMonth", moneyLastMonth.setScale(2, BigDecimal.ROUND_DOWN).toString());
+			data.put("money", user.getMyHongBao().setScale(2, BigDecimal.ROUND_DOWN).toString());
+			data.put("unGetMoney", unOpenmoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
+			data.put("totalFanLiMoney", totalFanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());// 绱杩斿埄
+			data.put("totalTiChengMoney",
+					hongBaoV2Service.getTotalTiChengMoney(uid).setScale(2, BigDecimal.ROUND_DOWN).toString());// 绱鎻愭垚
+			data.put("totalUnGetTiChengMoney",
+					hongBaoV2Service.getUnGetTiChengMoney(uid).setScale(2, BigDecimal.ROUND_DOWN).toString()); // 鏈埌璐︽彁鎴�
 			// 灞曠ず鎻愭垚鏁版嵁
-			data.put("showTiCheng", hongBaoService.getTotalTiChengCount(uid) > 0);
+			if (configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
+				data.put("showTiCheng", false);
+			else
+				data.put("showTiCheng", spreadImgCount + shareCount > 0);
 		} else {
 			data.put("moneyToday", moneyToday.setScale(2, BigDecimal.ROUND_DOWN));
 			data.put("moneyMonth", moneyMonth.setScale(2, BigDecimal.ROUND_DOWN));
-			data.put("moneyLastMonth", moneyLastMonth);
-			data.put("money", user.getMyHongBao());
-			data.put("unGetMoney", unOpenmoney);
-			data.put("totalFanLiMoney", totalFanMoney);// 绱杩斿埄
-			data.put("totalTiChengMoney", hongBaoService.getTotalTiChengMoney(uid));// 绱鎻愭垚
-			data.put("totalUnGetTiChengMoney", hongBaoService.getUnGetTiChengMoney(uid)); // 鏈埌璐︽彁鎴�
+			data.put("moneyLastMonth", moneyLastMonth.setScale(2, BigDecimal.ROUND_DOWN));
+			data.put("money", user.getMyHongBao().setScale(2, BigDecimal.ROUND_DOWN));
+			data.put("unGetMoney", unOpenmoney.setScale(2, BigDecimal.ROUND_DOWN));
+			data.put("totalFanLiMoney", totalFanMoney.setScale(2, BigDecimal.ROUND_DOWN));// 绱杩斿埄
+			data.put("totalTiChengMoney",
+					hongBaoV2Service.getTotalTiChengMoney(uid).setScale(2, BigDecimal.ROUND_DOWN));// 绱鎻愭垚
+			data.put("totalUnGetTiChengMoney",
+					hongBaoV2Service.getUnGetTiChengMoney(uid).setScale(2, BigDecimal.ROUND_DOWN)); // 鏈埌璐︽彁鎴�
 			// 灞曠ず鎻愭垚鏁版嵁
-			data.put("showTiCheng", hongBaoService.getTotalTiChengCount(uid) > 0);
+			data.put("showTiCheng", spreadImgCount + shareCount > 0);
 		}
 
 		user.setNoOpenHongBao(unOpenmoney);
@@ -892,15 +1071,8 @@
 
 			} else {
 
-				tbPid = tbPidService.getTBPid(Long.parseLong(uid), PidUser.TYPE_FANLI_IOS);
-				if (tbPid != null) {
-					String siteId = tbPid.getPid().split("_")[2];
-					String adzoneId = tbPid.getPid().split("_")[3];
-					TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppIdCache(siteId);
-					clientTBPid = new ClientTBPid(config.getAppKey(), tbPid.getPid(), siteId, adzoneId);
-				} else {
-					clientTBPid = tbPidService.getIOSDefault();
-				}
+				clientTBPid = tbPidService.getIOSDefault();
+
 			}
 
 		} else {

--
Gitblit v1.8.0