From 5f13dcc8eaac7cd26c0ec41bd1b3efbb70a08180 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 16 六月 2020 17:45:09 +0800
Subject: [PATCH] 云发单金额修改,增加获取电话号码接口

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java |  153 +++++++++++++++++++++++++++-----------------------
 1 files changed, 83 insertions(+), 70 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java
index 441a782..50762a2 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java
@@ -15,6 +15,7 @@
 import com.aliyun.openservices.ons.api.Message;
 import com.aliyun.openservices.ons.api.Producer;
 import com.yeshi.fanli.dao.mybatis.user.cloud.UserCloudMapper;
+import com.yeshi.fanli.dto.aitaoker.RobotInfoDTO;
 import com.yeshi.fanli.dto.aitaoker.WeiXinGroupDTO;
 import com.yeshi.fanli.dto.jd.JDCouponInfo;
 import com.yeshi.fanli.dto.jd.JDPingouInfo;
@@ -216,7 +217,6 @@
 	}
 
 	@Override
-	@Transactional(rollbackFor = Exception.class)
 	public void openCloud(Long uid, Long orderId, CloudOrderMenuEnum menuEnum) throws UserCloudException {
 		UserCloud existCloud = userCloudMapper.getByOrderId(orderId);
 		if (existCloud != null) {
@@ -230,62 +230,60 @@
 			if (userCloud.getEndTime().getTime() > java.lang.System.currentTimeMillis())
 				renew = true;
 			// 楠岃瘉濂楅鏄惁鐩稿悓
-			if (renew && userCloud.getRobotType() != menuEnum.getType()) {
+			if (renew && userCloud.getRobotType() != menuEnum.getRobotType()) {
 				LogHelper.cloudInfo("鏂规硶openCloud: [uid=" + uid + "][璁㈠崟ID=" + orderId + "]宸叉湁鍏朵粬浜戝彂鍗曞椁愯繕鏈粨鏉�");
 				throw new UserCloudException(1, "宸叉湁鍏朵粬浜戝彂鍗曞椁愯繕鏈粨鏉�");
 			}
 		}
 
-//		RobotInfoDTO dto = null;
-//		if (renew) { // 缁垂
-//			dto = AitaokerApiUtil.robotRenewals(userCloud.getRobotId(), menuEnum.getMonth());
-//		} else { // 鍒涘缓鏈哄櫒浜�
-//			dto = AitaokerApiUtil.robotCreate(menuEnum.getMonth(), menuEnum.getType(), "wechatrobot", null);
-//		}
-//
-//		if (dto == null) {
-//			LogHelper.cloudInfo("鏂规硶openCloud: [uid=" + uid + "][璁㈠崟ID=" + orderId + "]鏈哄櫒浜哄け璐ワ細 杩斿洖绌哄��");
-//			throw new UserCloudException(1, "鏈哄櫒浜鸿幏鍙栧け璐�");
-//		}
-//
-//		String endTimeStr = dto.getEndTime();
-//		if (StringUtil.isNullOrEmpty(endTimeStr)) {
-//			LogHelper.cloudInfo("鏂规硶openCloud: [uid=" + uid + "][璁㈠崟ID=" + orderId + "]鏈哄櫒浜哄け璐ワ細 杩斿洖鏃堕棿涓虹┖");
-//			throw new UserCloudException(1, "鏈哄櫒浜鸿繑鍥炴椂闂翠负绌�");
-//		}
-//
-//		long endTime = 0;
-//		try {
-//			endTime = Long.parseLong(endTimeStr);
-//		} catch (Exception e) {
-//			LogHelper.cloudInfo("鏂规硶openCloud: [uid=" + uid + "][璁㈠崟ID=" + orderId + "]鏈哄櫒浜哄け璐ワ細 杩斿洖鏃堕棿鏍煎紡涓嶆纭�");
-//			throw new UserCloudException(1, "鏈哄櫒浜鸿繑鍥炴椂闂存牸寮忎笉姝g‘");
-//		}
-//
-//		Integer robotId = dto.getId();
-//		if (robotId == null) {
-//			LogHelper.cloudInfo("鏂规硶openCloud: [uid=" + uid + "][璁㈠崟ID=" + orderId + "]鏈哄櫒浜哄け璐ワ細 鏈哄櫒浜篒D杩斿洖涓虹┖");
-//			throw new UserCloudException(1, "鏈哄櫒浜篒D杩斿洖涓虹┖");
-//		}
-//
-//		Integer groupNum = dto.getGroupNum();
-//		if (groupNum == null) {
-//			LogHelper.cloudInfo("鏂规硶openCloud: [uid=" + uid + "][璁㈠崟ID=" + orderId + "]鏈哄櫒浜哄け璐ワ細 groupNum杩斿洖涓虹┖");
-//			throw new UserCloudException(1, "groupNum杩斿洖涓虹┖");
-//		}
+		RobotInfoDTO dto = null;
+		if (renew) { // 缁垂
+			dto = AitaokerApiUtil.robotRenewals(userCloud.getRobotId(), menuEnum.getMonth());
+		} else { // 鍒涘缓鏈哄櫒浜�
+			dto = AitaokerApiUtil.robotCreate(menuEnum.getMonth(), menuEnum.getRobotType(), "wechatrobot", null);
+		}
+
+		if (dto == null) {
+			LogHelper.cloudInfo("鏂规硶openCloud: [uid=" + uid + "][璁㈠崟ID=" + orderId + "]鏈哄櫒浜哄け璐ワ細 鏈哄櫒浜哄垱寤哄け璐�");
+		}
+
+		Integer robotId = dto.getId();
+		if (robotId == null) {
+			LogHelper.cloudInfo("鏂规硶openCloud: [uid=" + uid + "][璁㈠崟ID=" + orderId + "]鏈哄櫒浜哄け璐ワ細 鏈哄櫒浜篒D杩斿洖涓虹┖");
+		}
+		
+		String endTimeStr = dto.getEndTime();
+		if (StringUtil.isNullOrEmpty(endTimeStr)) {
+			LogHelper.cloudInfo("鏂规硶openCloud: [uid=" + uid + "][璁㈠崟ID=" + orderId + "]鏈哄櫒浜哄け璐ワ細 杩斿洖鏃堕棿涓虹┖");
+		}
+
+		long endTime = 0;
+		try {
+			endTime = Long.parseLong(endTimeStr);
+		} catch (Exception e) {
+			LogHelper.cloudInfo("鏂规硶openCloud: [uid=" + uid + "][璁㈠崟ID=" + orderId + "]鏈哄櫒浜哄け璐ワ細 杩斿洖鏃堕棿鏍煎紡涓嶆纭�");
+		}
+
+		Integer groupNum = dto.getGroupNum();
+		if (groupNum == null) {
+			LogHelper.cloudInfo("鏂规硶openCloud: [uid=" + uid + "][璁㈠崟ID=" + orderId + "]鏈哄櫒浜哄け璐ワ細 groupNum杩斿洖涓虹┖");
+		}
 
 		UserCloud newCloud = new UserCloud();
 		newCloud.setUid(uid);
 		newCloud.setOrderId(orderId);
-//		newCloud.setGroupNum(groupNum);
-//		newCloud.setRobotId(robotId);
-		newCloud.setRobotType(menuEnum.getType());
-//		if (renew) {
-//			newCloud.setStartTime(userCloud.getStartTime());
-//		} else {
-//			newCloud.setStartTime(new Date());
-//		}
-//		newCloud.setEndTime(new Date(endTime * 1000)); // Unix 杞崲 鏅�氭椂闂�
+		newCloud.setGroupNum(groupNum);
+		newCloud.setRobotId(robotId);
+		newCloud.setRobotType(menuEnum.getRobotType());
+		if (renew) {
+			newCloud.setWxId(userCloud.getWxId());
+			newCloud.setWxName(userCloud.getWxName());
+			newCloud.setWxPortrait(userCloud.getPortrait());
+			newCloud.setStartTime(userCloud.getStartTime());
+		} else {
+			newCloud.setStartTime(new Date());
+		}
+		newCloud.setEndTime(new Date(endTime * 1000)); // Unix 杞崲 鏅�氭椂闂�
 		newCloud.setCreateTime(new Date());
 		userCloudMapper.insertSelective(newCloud);
 		
@@ -1109,43 +1107,58 @@
 		}
 	}
 
+	
 	@Override
-	public void fixedTimeSend(String id) {
-		if (StringUtil.isNullOrEmpty(id)) 
+	public void fixedTimeSend(List<GoodsEvaluate> listActivity, List<GoodsEvaluate> listGoods) {
+		if (listGoods == null && listActivity == null) 
 			return;
-		
 		// 涓�涓皬鏃朵箣鍓�
-		long time = java.lang.System.currentTimeMillis() -  1000 * 60 * 60 ;
-		Date lastTime =  new Date(time);
-		
+		Date lastTime = new Date(java.lang.System.currentTimeMillis() - 1000 * 60 * 60);
 		for (int i = 0; i < 1000; i ++) {
 			// 鏌ヨ鍝簺鐢ㄦ埛寮�閫�
-			List<Long> list = userCloudMapper.listValidUid(i*1000, 1000);
-			if (list == null || list.size() == 0) {
+			List<Long> listUser = userCloudMapper.listValidUid(i*1000, 1000);
+			if (listUser == null || listUser.size() == 0) {
 				break;
 			}
 			
-			for (Long uid: list) {
-				try {
-					// 鍒ゆ柇鏄惁璇� 鍐呭宸插彂
-					UserCloudSendRecord record = userCloudSendRecordService.getByUidAndSendId(uid, id);
-					if (record != null) 
+			// 閬嶅巻鐢ㄦ埛
+			for (Long uid: listUser) {
+				try {// 鍒ゆ柇鏄惁寮�閫氬畼鏂归噰闆�
+					UserCloudManage cloudManage = userCloudManageService.selectByPrimaryKey(uid);
+					if (cloudManage == null || cloudManage.getOfficial() == null || !cloudManage.getOfficial()) {
 						continue;
-					
+					}
 					// 鏄惁鍦ㄤ竴涓皬鏃跺唴宸插彂閫佽繃
 					UserCloudSendRecord last = userCloudSendRecordService.getLastByUid(uid, lastTime);
 					if (last != null)
 						continue;
 					
-					boolean official = false;
-					UserCloudManage cloudManage = userCloudManageService.selectByPrimaryKey(uid);
-					if (cloudManage != null) {
-						if (cloudManage.getOfficial() != null)
-							official = cloudManage.getOfficial();
+					String evaluateId = null;
+					// 娲诲姩
+					if (listActivity != null && listActivity.size() > 0) {
+						for (GoodsEvaluate evaluate: listActivity) {
+							UserCloudSendRecord record = userCloudSendRecordService.getByUidAndSendId(uid, evaluate.getId());
+							if (record != null) 
+								continue;
+							
+							evaluateId = evaluate.getId();
+							break;
+						}
 					}
-					
-					if (!Constant.IS_TEST && official) {
-						UserCloudMQMsg msg = new UserCloudMQMsg(uid, id, UserCloudMQMsg.TYPE_EVALUATE);
+					// 鍗曞搧
+					if (StringUtil.isNullOrEmpty(evaluateId) && listGoods != null && listGoods.size() > 0) {
+						for (GoodsEvaluate evaluate: listGoods) {
+							UserCloudSendRecord record = userCloudSendRecordService.getByUidAndSendId(uid, evaluate.getId());
+							if (record != null) 
+								continue;
+							
+							evaluateId = evaluate.getId();
+							break;
+						}
+					}
+				
+					if(!StringUtil.isNullOrEmpty(evaluateId)) {
+						UserCloudMQMsg msg = new UserCloudMQMsg(uid, evaluateId, UserCloudMQMsg.TYPE_EVALUATE);
 						Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userCloud, msg);
 						producer.send(message);
 					}

--
Gitblit v1.8.0