From 2c217c4f9e01bd2e764c7b62da1aaa89018d76d8 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期一, 22 四月 2019 12:19:21 +0800 Subject: [PATCH] Merge branch 'div' --- fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushGoodsServiceImpl.java | 105 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 82 insertions(+), 23 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushGoodsServiceImpl.java index 4dc166d..f2f1def 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushGoodsServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushGoodsServiceImpl.java @@ -1,5 +1,6 @@ package com.yeshi.fanli.service.impl.push; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -78,8 +79,25 @@ @Override @Transactional - public void save(PushGoods record, List<Long> goodsIds) throws Exception { + public void save(PushGoods record, List<Long> goodsIds) throws PushGoodsException, Exception { + // 瀹氭椂鏃堕棿 + Boolean timeTask = record.isTimeTask(); + if (timeTask != null && timeTask) { + String controlTime_str = record.getControlTime_str(); + if (controlTime_str == null || controlTime_str.trim().length() == 0) { + throw new PushGoodsException(1, "棰勮鏃堕棿涓嶈兘涓虹┖"); + } + + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + controlTime_str = controlTime_str.replaceAll("T", " "); + record.setControlTime(format.parse(controlTime_str)); + } else { + record.setControlTime(null); + } + + record.setIsPush(PushGoods.STATE_INIT); + boolean isAdd = false; // 鎺ㄩ�乮d Long pushId = record.getId(); @@ -89,14 +107,20 @@ record.setCreateTime(new Date()); record.setUpdateTime(new Date()); - pushGoodsMapper.insertSelective(record); + pushGoodsMapper.insert(record); pushId = record.getId(); } else { // 淇敼 + PushGoods current = pushGoodsMapper.selectByPrimaryKey(pushId); + if (current == null) { + throw new PushGoodsException(1, "璇ヨ褰曞凡涓嶅瓨鍦�"); + } + + record.setCreateTime(current.getCreateTime()); record.setUpdateTime(new Date()); - pushGoodsMapper.updateByPrimaryKeySelective(record); + pushGoodsMapper.updateByPrimaryKey(record); } // 澶勭悊鍟嗗搧淇℃伅 @@ -214,28 +238,72 @@ return pushGoodsMapper.countHistoryByPushTime(uid, pushTime); } + @Override - public void executePush(Long id) throws Exception, PushGoodsException, PushException { - - PushGoods pushGoods = selectByPrimaryKey(id); - if (pushGoods == null) { - throw new PushException(1, "鎺ㄩ�佷俊鎭凡涓嶅瓨鍦�"); + public List<PushGoods> listTask() { + return pushGoodsMapper.listTask(); + } + + + @Override + public void taskPush(PushGoods record) { + String msg = null; + int state = PushGoods.STATE_FAIL; + try { + // 鎵ц鎺ㄩ�� + executePush(record); + state = PushGoods.STATE_SUCCESS; + } catch (PushGoodsException e) { + msg = e.getMsg(); + } catch (PushException e) { + msg = e.getMsg(); + } catch (Exception e) { + msg = "绯荤粺鎺ㄩ�佸け璐�"; } + record.setIsPush(state); + record.setPushTime(new Date()); + record.setRemark(msg); + record.setUpdateTime(new Date()); + pushGoodsMapper.updateByPrimaryKey(record); + } + + + @Override + public void handPush(Long id) throws Exception, PushGoodsException, PushException { + PushGoods record = selectByPrimaryKey(id); + if (record == null) { + throw new PushGoodsException(1, "鎺ㄩ�佷俊鎭凡涓嶅瓨鍦�"); + } + // 鎵ц鎺ㄩ�� + executePush(record); + + record.setIsPush(PushGoods.STATE_SUCCESS); + record.setPushTime(new Date()); + record.setUpdateTime(new Date()); + pushGoodsMapper.updateByPrimaryKey(record); + } + + + + @Override + public void executePush(PushGoods pushGoods) throws Exception, PushGoodsException, PushException { + + Long id = pushGoods.getId(); String alertTitle = pushGoods.getAlertTitle(); String alertContent = pushGoods.getAlertContent(); if (StringUtil.isNullOrEmpty(alertTitle) || StringUtil.isNullOrEmpty(alertContent)) { - throw new PushException(1, "鎺ㄩ�佹爣棰樺強鍐呭涓嶈兘涓虹┖"); + throw new PushGoodsException(1, "鎺ㄩ�佹爣棰樺強鍐呭涓嶈兘涓虹┖"); } List<PushGoodsGroup> goodsList = pushGoodsGroupService.getAllInfoByPushId(id); if (goodsList == null || goodsList.size() == 0) { - throw new PushException(1, "鎺ㄩ�佹棤鍟嗗搧,璇峰畬鍠勬暟鎹�"); + throw new PushGoodsException(1, "鎺ㄩ�佹棤鍟嗗搧,璇峰畬鍠勬暟鎹�"); } String versions = pushGoods.getVersions(); if (versions == null || versions.trim().length() == 0) { - throw new PushException(1, "鎺ㄩ�佺増鏈笉鑳戒负绌�"); + throw new PushGoodsException(1, "鎺ㄩ�佺増鏈笉鑳戒负绌�"); } List<String> listIOS = new ArrayList<String>(); @@ -264,7 +332,7 @@ PushGoodsGroup pushGoodsGroup = goodsList.get(0); CommonGoods commonGoods = pushGoodsGroup.getCommonGoods(); if (commonGoods == null) { - throw new PushException(1, "鍟嗗搧璇︾粏淇℃伅宸蹭笉瀛樺湪"); + throw new PushGoodsException(1, "鍟嗗搧璇︾粏淇℃伅宸蹭笉瀛樺湪"); } Long goodsId = commonGoods.getGoodsId(); @@ -276,22 +344,13 @@ /* 澶氫釜鍟嗗搧鎺ㄩ�� */ String url = configService.get("push_goods_details"); if (StringUtil.isNullOrEmpty(url)) { - throw new PushException(1, "鎺ㄩ�侀〉闈㈤摼鎺ヤ笉瀛樺湪"); + throw new PushGoodsException(1, "鎺ㄩ�侀〉闈㈤摼鎺ヤ笉瀛樺湪"); } // 鐢熸垚閾炬帴 url = url + "?id=" + id; pushService.pushUrl(pushGoods.getUid(), alertTitle, alertContent, url, listIOS, listAndroid); } - - // 宸叉帹閫� - pushGoods.setPush(true); - // 鎺ㄩ�佹椂闂� - pushGoods.setPushTime(new Date()); - // 鏇存柊鏃堕棿 - pushGoods.setUpdateTime(new Date()); - - updateByPrimaryKeySelective(pushGoods); } - + } -- Gitblit v1.8.0