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/service/impl/order/LostOrderServiceImpl.java | 258 +++++++-------------------------------------------- 1 files changed, 35 insertions(+), 223 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java index cbfd979..27f1dae 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java @@ -1,10 +1,6 @@ package com.yeshi.fanli.service.impl.order; -import java.io.Serializable; -import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock; @@ -14,14 +10,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.yeshi.utils.DateUtil; -import org.yeshi.utils.NumberUtil; import com.yeshi.fanli.dao.mybatis.order.LostOrderMapper; -import com.yeshi.fanli.dao.order.LostOrderDao; -import com.yeshi.fanli.dao.order.PidOrderDao; +import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.LostOrder; import com.yeshi.fanli.entity.bus.user.Order; +import com.yeshi.fanli.service.inter.order.HongBaoOrderService; import com.yeshi.fanli.service.inter.order.LostOrderService; import com.yeshi.fanli.service.inter.order.OrderService; import com.yeshi.fanli.util.Constant; @@ -34,14 +28,12 @@ private OrderService orderService; @Resource - private LostOrderDao lostOrderDao; - - @Resource - private PidOrderDao pidOrderDao; + private HongBaoOrderService hongBaoOrderService; @Resource private LostOrderMapper lostOrderMapper; + @Transactional @Override public int addLostOrder(LostOrder lostOrder) { String orderId = lostOrder.getOrderId(); @@ -70,7 +62,7 @@ } // 鏌ヨ鏄惁涓哄垎浜禋璁㈠崟 - if (pidOrderDao.list("from PidOrder p where p.orderId=?", new Serializable[] { orderId }).size() > 0) + if (hongBaoOrderService.countByOrderNoAndHongBaoType(orderId, HongBaoV2.TYPE_SHARE_GOODS) > 0) return -5; WriteLock lostOrderwriteLock = lostOrderLock.writeLock(); @@ -78,9 +70,10 @@ try { try { lostOrderwriteLock.lock(); - List<LostOrder> list = lostOrderDao.list( - "from LostOrder lo where lo.orderId= ? and lo.type = ? and (lo.state = 0 or lo.state = 1)", 0, - 1, new Serializable[] { orderId, type }); + List<Integer> stateList = new ArrayList<>(); + stateList.add(0); + stateList.add(1); + List<LostOrder> list = lostOrderMapper.listByOrderIdAndTypeAndState(orderId, type, stateList); if (list.size() > 0) { LostOrder find = list.get(0); Integer state = find.getState(); @@ -109,7 +102,8 @@ } else { lostOrder.setJudge("涓嶅尮閰�"); } - lostOrderDao.save(lostOrder); + + lostOrderMapper.insertSelective(lostOrder); } finally { lostOrderReadLock.unlock(); } @@ -145,74 +139,29 @@ } lostOrder.setHandleTime(System.currentTimeMillis()); lostOrder.setResultCode(LostOrder.RESULT_CODE_VERFING); - lostOrderDao.update(lostOrder); + lostOrderMapper.updateByPrimaryKeySelective(lostOrder); } public void reject(LostOrder lostOrder) { lostOrder.setHandleTime(System.currentTimeMillis()); lostOrder.setState(2); - lostOrderDao.update(lostOrder); - } - - @Override - public List<LostOrder> findLostOrderList(String key, int page) { - List<LostOrder> list; - if (key == null || "".equals(key.trim())) { - list = lostOrderDao.list("from LostOrder lo order by id desc", (page - 1) * Constant.PAGE_SIZE, - Constant.PAGE_SIZE, new Serializable[] {}); - } else { - if (NumberUtil.isNumeric(key) && key.length() >= 18) { - // long id = Long.parseLong(key); - list = lostOrderDao.list("from LostOrder lo where lo.orderId like ? order by id desc", - (page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, new Serializable[] { "%" + key + "%" }); - - } else { - - list = lostOrderDao.list("from LostOrder lo where lo.userInfo.nickName like ? order by id desc", - (page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, new Serializable[] { "%" + key + "%" }); - } - - } - return list; - } - - @Override - public int getCount(String key) { - int count = 0; - if (key == null || "".equals(key.trim())) { - count = (int) lostOrderDao.getCount("select count(*) from LostOrder"); - } else { - - if (NumberUtil.isNumeric(key) && key.length() >= 18) { - // long id = Long.parseLong(key); - count = (int) lostOrderDao.getCount("select count(*) from LostOrder lo where lo.orderId like ?", - new Serializable[] { "%" + key + "%" }); - } else { - - count = (int) lostOrderDao.getCount( - "select count(*) from LostOrder lo where lo.userInfo.nickName like ?", - new Serializable[] { "%" + key + "%" }); - } - } - return count; + lostOrderMapper.updateByPrimaryKeySelective(lostOrder); } @Override public LostOrder getOne(long id) { - return lostOrderDao.find(LostOrder.class, id); + return lostOrderMapper.selectByPrimaryKey(id); } @Override public List<LostOrder> getLostOrderListByUid(Long uid, int page, int pageSize) { - return lostOrderDao.list("from LostOrder lo where lo.userInfo.id=? order by lo.createTime desc", - (page - 1) * pageSize, pageSize, new Serializable[] { uid }); + return lostOrderMapper.listByUidOrderByCreateTimeDesc(uid, (page - 1) * pageSize, pageSize); } @Override public long getLostOrderCountByUid(Long uid) { - return lostOrderDao.getCount("select count(*) from LostOrder lo where lo.userInfo.id=?", - new Serializable[] { uid }); + return lostOrderMapper.countAllByUid(uid); } @Transactional @@ -235,29 +184,31 @@ @Override public void processFail(String orderId) { - lostOrderDao.update("update LostOrder lo set lo.resultCode=? where lo.orderId=?", - new Serializable[] { LostOrder.RESULT_CODE_FAIL, orderId }); + List<LostOrder> list = lostOrderMapper.selectByOrderId(orderId); + if (list != null) + for (LostOrder order : list) { + LostOrder update = new LostOrder(); + update.setId(order.getId()); + update.setResultCode(LostOrder.RESULT_CODE_FAIL); + lostOrderMapper.updateByPrimaryKeySelective(update); + } } @Override public void processFail() { // 璁㈠崟鐢宠瘔浜哄伐閫氳繃鍚庯紝浣嗘槸闅斾簡3澶╄繕鏈鐞嗘垚鍔熷氨瑙嗕负璇ヨ鍗曠敵璇夊け璐� - lostOrderDao.update( - "update LostOrder lo set lo.resultCode=? where lo.state=1 and lo.resultCode=? and lo.handleTime<?", - new Serializable[] { LostOrder.RESULT_CODE_FAIL, LostOrder.RESULT_CODE_VERFING, - System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 3L }); + lostOrderMapper.processFail(); } @Override public void deleteLostOrder(long id) { - LostOrder lostOrder = new LostOrder(); - lostOrder.setId(id); - lostOrderDao.delete(lostOrder); + lostOrderMapper.deleteByPrimaryKey(id); } @Override public void deleteLostOrderByUid(long uid) { - lostOrderDao.update("delete from LostOrder lo where lo.userInfo.id=?", new Serializable[] { uid }); + + lostOrderMapper.deleteByUid(uid); } @Override @@ -282,156 +233,17 @@ public long countQuery(String key, Integer state, Integer handleType) { return lostOrderMapper.countQuery(key, state, handleType); } - - + @Override - public List<Map<String, Object>> countLostNum( Integer dateType, Integer resultCode, - String year, String startTime, String endTime) throws Exception { - - List<Map<String, Object>> list = lostOrderMapper.countLostNum(dateType, resultCode, year, startTime, endTime); - - if (list == null || list.size() == 0) { - return null; - } - - switch (dateType){ - case 1: // 鎸夊ぉ澶勭悊 - return dayFactory(startTime, endTime, list); - case 2: // 鎸夋湀澶勭悊 - return monthFactory(list); - case 3: - return yearFactory(list); - default: - return null; - } - } - - - @Override - public List<Map<String, Object>> countAppealMoney( Integer dateType, String year, String startTime, + public List<Map<String, Object>> countLostNum(Integer dateType, Integer resultCode, String year, String startTime, String endTime) throws Exception { - - List<Map<String, Object>> list = lostOrderMapper.countAppealMoney(dateType, year, startTime, endTime); - - if (list == null || list.size() == 0) { - return null; - } - - switch (dateType){ - case 1: // 鎸夊ぉ澶勭悊 - return dayFactory(startTime, endTime, list); - case 2: // 鎸夋湀澶勭悊 - return monthFactory(list); - case 3: - return yearFactory(list); - default: - return null; - } - } - - public List<Map<String, Object>> dayFactory(String startTime, String endTime, List<Map<String, Object>> list) throws Exception { - - List<Map<String, Object>> listObject = new ArrayList<Map<String, Object>>(); - - if (startTime.equals(endTime)) { - - Map<String, Object> map = list.get(0); - Object total = map.get("showValue"); - if (total == null) { - map.put("showValue", 0); - } - listObject.add(map); - return listObject; - } - - String plusDay = ""; - for (int i = 0; i < 1000; i++) { - if (i == 0) { - plusDay = startTime; - } else { - plusDay = DateUtil.plusDay(i, startTime); - } - - Map<String, Object> mapObject = new HashMap<String, Object>(); - Object total = null; - - for (int j = 0; j < list.size(); j++) { - Map<String, Object> map = list.get(j); - Object createDate = map.get("showDate"); - String month = createDate.toString(); - if (plusDay.equalsIgnoreCase(month)) { - total = map.get("showValue"); - break; - } - } - - if (total == null) { - total = 0; - } - mapObject.put("showValue", total); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd"); - Date parseDate = sdf.parse(plusDay.toString()); - - mapObject.put("showDate", sdf2.format(parseDate)); - - listObject.add(mapObject); - - if (plusDay.equals(endTime)) { - break; // 鏃堕棿缁撴潫 - } - } - - return listObject; + return lostOrderMapper.countLostNum(dateType, resultCode, year, startTime, endTime); } - public List<Map<String, Object>> monthFactory(List<Map<String, Object>> list) { - - List<Map<String, Object>> listObject = new ArrayList<Map<String, Object>>(); - // 12 涓湀澶勭悊 - for (int i = 1; i <= 12; i++) { - Map<String, Object> mapObject = new HashMap<String, Object>(); - Object total = null; - - for (int j = 0; j < list.size(); j++) { - Map<String, Object> map = list.get(j); - Object createDate = map.get("showDate"); - String month = createDate.toString(); - if ((i + "").equalsIgnoreCase(month) || i == Integer.parseInt(month)) { - total = map.get("total"); - break; - } - } - - if (total == null) { - total = 0; - } - mapObject.put("total", total); - - mapObject.put("showDate", i + "鏈�"); - - listObject.add(mapObject); - } - return listObject; + @Override + public List<Map<String, Object>> countAppealMoney(Integer dateType, String year, String startTime, String endTime) + throws Exception { + return lostOrderMapper.countAppealMoney(dateType, year, startTime, endTime); } - public List<Map<String, Object>> yearFactory(List<Map<String, Object>> list) { - - List<Map<String, Object>> listObject = new ArrayList<Map<String, Object>>(); - - for (int i = 0; i < list.size(); i++) { - Map<String, Object> map = list.get(i); - Object total = map.get("total"); - - if (total == null) { - total = 0; - } - map.put("total", total); - - listObject.add(map); - } - - return listObject; - } } -- Gitblit v1.8.0