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 | 219 +++++++++++++++++++++++++++++++----------------------- 1 files changed, 126 insertions(+), 93 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 0cfcf16..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); @@ -511,7 +509,7 @@ sendRecord.setWxId(wxId); sendRecord.setRobotId(robotId); sendRecord.setSendTime(new Date()); - sendRecord.setSendOrigin(UserCloudSendRecord.ORIGIN_STORE); + sendRecord.setSendOrigin(UserCloudSendRecord.ORIGIN_EVALUATE); UserCloudSendRecord result = userCloudSendRecordService.save(sendRecord); String pid = result.getId(); @@ -605,7 +603,7 @@ @Override @Transactional(rollbackFor = Exception.class) public void sendCustomGoods(Long uid, Long goodsId, Integer goodsType, Long sellerId) throws UserCloudException{ - sendCircleByGoods(uid, goodsId, goodsType, null, sellerId); + sendCircleByGoods(uid, goodsId, goodsType, null, sellerId, UserCloudSendRecord.SEND_WAY_MANUAL); } @Override @@ -632,13 +630,14 @@ try { // 鍙戦�佸晢鍝� - sendCircleByGoods(uid, cgoods.getGoodsId(), cgoods.getGoodsType(), id, cgoods.getSellerId()); + sendCircleByGoods(uid, cgoods.getGoodsId(), cgoods.getGoodsType(), id, cgoods.getSellerId(), UserCloudSendRecord.SEND_WAY_AUTO); } catch (UserCloudException e) { LogHelper.cloudInfo("autoSendCustomGoods - [uid:" +uid + " 搴搃d:"+ id + "]鍘熷洜锛�"+ e.getMsg()); } } - private void sendCircleByGoods(Long uid, Long goodsId, Integer goodsType, Long storeId, Long sellerId) throws UserCloudException { + private void sendCircleByGoods(Long uid, Long goodsId, Integer goodsType, Long storeId, + Long sellerId, int way) throws UserCloudException { // 楠岃瘉鏄惁鎺堟潈 UserInfo user = userInfoService.getUserByIdWithMybatis(uid); if (user == null) @@ -687,7 +686,7 @@ custom = cloudManage.getCustom(); } if (!custom) { - throw new UserCloudException(0, "鎴愬姛鍔犲叆浜戝彂鍗曞簱"); + return; } Integer robotId = userCloud.getRobotId(); @@ -742,27 +741,43 @@ } UserCloudSendRecord result = userCloudSendRecordService.save(sendRecord); - if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { - sendTaoBaoGoods(user, robotId, wxId, goodsId, relationId, listOpen, result.getId()); - } else if (goodsType == Constant.SOURCE_TYPE_JD) { - sendJDGoods(user, robotId, wxId, goodsId, relationId, listOpen, result.getId()); - } else if (goodsType == Constant.SOURCE_TYPE_PDD) { - sendPDDGoods(user, robotId, wxId, goodsId, relationId, listOpen, result.getId()); - } else if (goodsType == Constant.SOURCE_TYPE_VIP) { - sendVIPGoods(user, robotId, wxId, goodsId, relationId, listOpen, result.getId()); - } else if (goodsType == Constant.SOURCE_TYPE_SUNING) { - sendSuNingGoods(user, robotId, wxId, goodsId, sellerId, relationId, listOpen, result.getId()); + try { + if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { + sendTaoBaoGoods(user, robotId, wxId, goodsId, relationId, listOpen, result.getId()); + } else if (goodsType == Constant.SOURCE_TYPE_JD) { + sendJDGoods(user, robotId, wxId, goodsId, relationId, listOpen, result.getId()); + } else if (goodsType == Constant.SOURCE_TYPE_PDD) { + sendPDDGoods(user, robotId, wxId, goodsId, relationId, listOpen, result.getId()); + } else if (goodsType == Constant.SOURCE_TYPE_VIP) { + sendVIPGoods(user, robotId, wxId, goodsId, relationId, listOpen, result.getId()); + } else if (goodsType == Constant.SOURCE_TYPE_SUNING) { + sendSuNingGoods(user, robotId, wxId, goodsId, sellerId, relationId, listOpen, result.getId()); + } + // 鏇存柊鍙戝崟璁板綍 + if (storeId != null) { + UserCloudGoods record = new UserCloudGoods(); + record.setId(storeId); + record.setState(UserCloudGoods.STATE_SHARED); + record.setSendTime(new Date()); + record.setUpdateTime(new Date()); + userCloudGoodsService.updateByPrimaryKeySelective(record); + } + + } catch (UserCloudException e) { + LogHelper.cloudInfo("autoSendCustomGoods - [uid:" +uid + " 搴搃d:"+ storeId + "]鍘熷洜锛�"+ e.getMsg()); + // 鏇存柊鍙戝崟璁板綍 + if (storeId != null) { + UserCloudGoods record = new UserCloudGoods(); + record.setId(storeId); + record.setState(UserCloudGoods.STATE_INVALID); + record.setSendTime(new Date()); + record.setUpdateTime(new Date()); + userCloudGoodsService.updateByPrimaryKeySelective(record); + } } + - // 鏇存柊鍙戝崟璁板綍 - if (storeId != null) { - UserCloudGoods record = new UserCloudGoods(); - record.setId(storeId); - record.setState(UserCloudGoods.STATE_SHARED); - record.setSendTime(new Date()); - record.setUpdateTime(new Date()); - userCloudGoodsService.updateByPrimaryKeySelective(record); - } + } /** @@ -1092,40 +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-1)*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