From 4d21b2ef5525c7b5ffdea77dc0de955958af9d9a Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期五, 12 六月 2020 12:28:32 +0800 Subject: [PATCH] 云发单 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java | 70 ++++++++++++++++++++++------------ 1 files changed, 45 insertions(+), 25 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..441a782 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 @@ -511,7 +511,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 +605,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 +632,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 +688,7 @@ custom = cloudManage.getCustom(); } if (!custom) { - throw new UserCloudException(0, "鎴愬姛鍔犲叆浜戝彂鍗曞簱"); + return; } Integer robotId = userCloud.getRobotId(); @@ -742,27 +743,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); - } + } /** @@ -1102,17 +1119,20 @@ Date lastTime = new Date(time); for (int i = 0; i < 1000; i ++) { - List<Long> list = userCloudMapper.listValidUid((i-1)*1000, 1000); + // 鏌ヨ鍝簺鐢ㄦ埛寮�閫� + List<Long> list = userCloudMapper.listValidUid(i*1000, 1000); if (list == null || list.size() == 0) { break; } for (Long uid: list) { try { + // 鍒ゆ柇鏄惁璇� 鍐呭宸插彂 UserCloudSendRecord record = userCloudSendRecordService.getByUidAndSendId(uid, id); if (record != null) continue; + // 鏄惁鍦ㄤ竴涓皬鏃跺唴宸插彂閫佽繃 UserCloudSendRecord last = userCloudSendRecordService.getLastByUid(uid, lastTime); if (last != null) continue; -- Gitblit v1.8.0