From 62bf99d419e470f5556f21682d0d8ee8b9e20412 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 12 Mar 2021 16:24:04 +0800 Subject: [PATCH] modify --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java | 125 +++++++++++------------------------------ 1 files changed, 35 insertions(+), 90 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java index 082fb0c..30bd8c9 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java @@ -11,14 +11,12 @@ import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; import com.matrix.system.hive.plugin.util.CollectionUtils; -import com.matrix.system.hive.plugin.util.DateUtils; import com.matrix.system.hive.plugin.util.MoneyUtil; import com.matrix.system.hive.service.SysProjUseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.xml.crypto.Data; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -62,6 +60,9 @@ @Override public int modify(SysProjUse sysProjUse) { + //插入套餐项目操作记录 + + return sysProjUseDao.update(sysProjUse); @@ -153,7 +154,7 @@ contentZr.append("获取会员" + vipInfo.getVipName() + "的") .append(",余额:" + projuse.getBalance()) .append(",余次:") - .append(",有效期:" + DateUtils.dateToString(projuse.getFailTime(), DateUtils.DATE_FORMAT_MM)) + .append(",有效期:" + DateUtil.dateToString(projuse.getFailTime(), DateUtil.DATE_FORMAT_MM)) .append(",是否赠送:"); @@ -198,24 +199,37 @@ @Override public AjaxResult activeTc(SysProjUse proj) { - + Date newDate = proj.getFailTime(); + Date today = new Date(); SysProjUse taocan = sysProjUseDao.selectById(proj.getId()); switch (taocan.getStatus()) { case Dictionary.TAOCAN_STATUS_WX: // 如果到期,需要重新设置有效期 - if (taocan.getFailTime().before(new Date())) { - taocan.setFailTime(DateUtil.getDateAfterMonth(new Date(),12)); + if (newDate != null && !newDate.equals("")) { + taocan.setFailTime(newDate); + if (newDate.before(today)) { + return new AjaxResult(AjaxResult.STATUS_FAIL, "有效期要大于当前日期"); + } + } + + if (newDate == null && (taocan.getFailTime() == null || taocan.getFailTime().before(today))) { + return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已过期"); } break; - //TODO 如果是冻结状态则要算出冻结的天数,延长有效期 case Dictionary.TAOCAN_STATUS_DJ: + SysProjuseFreeze freeze = new SysProjuseFreeze(); + freeze.setOrderItemId(taocan.getId().toString()); + freeze.setVipId(taocan.getVipId()); + SysProjuseFreeze freezeProj = sysProjuseFreezeDao.selectByOrderItemId(freeze); + Date dateAfter = DateUtil.nextNDate(taocan.getFailTime(), freezeProj.getGapDays()); + taocan.setFailTime(dateAfter); break; default: return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择无效或者冻结的套餐"); } taocan.setStatus(Dictionary.TAOCAN_STATUS_YX); - sysProjUseDao.updateTcStatus(taocan.getId(),"有效"); + sysProjUseDao.updateProjStatus(taocan); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "操作成功"); } @@ -341,7 +355,7 @@ .append(",余次:" + cardUse.getLastCountName()) .append(",本金余额:" + MoneyUtil.add(cardUse.getRealMoney(), money)) .append(",赠送余额:" + cardUse.getGiftMoney()) - .append(",有效期:" + DateUtils.dateToString(cardUse.getFailTime(), DateUtils.DATE_FORMAT_MM)) + .append(",有效期:" + DateUtil.dateToString(cardUse.getFailTime(), DateUtil.DATE_FORMAT_MM)) .append(",是否赠送:" + cardUse.getSourceName()); content += contentBuild.toString(); @@ -390,23 +404,7 @@ return i; } - /** - * cardUser暂时没有用到 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int returnMoneyTc(SysProjUse sysProjUse, MoneyCardUse cardUse, Long moneyCardUseId) { - //充值记录 - //SysRechargeFlow flow=new SysRechargeFlow(); - // 计算出套餐所有项目的剩余次数的钱 - getTotalMoney(sysProjUse, cardUse, moneyCardUseId); - //3、套餐下的项目状态改为退款 - sysProjUse.setStatus(Dictionary.TAOCAN_STATUS_TK); - int j = sysProjUseDao.updateProjStatus(sysProjUse); - - return j; - } /*********************以下为项目使用情况操作***********************/ @@ -463,7 +461,7 @@ contentZr.append("获取会员" + vipInfo.getVipName() + "的" + shoppingGoods.getName()) .append(",余额:" + sysProjUse.getBalance()) .append(",余次:" + sysProjUse.getSurplusCount()) - .append(",有效期:" + DateUtils.dateToString(sysProjUse.getFailTime(), DateUtils.DATE_FORMAT_MM)) + .append(",有效期:" + DateUtil.dateToString(sysProjUse.getFailTime(), DateUtil.DATE_FORMAT_MM)) .append(",是否赠送:"); @@ -536,49 +534,7 @@ } - /** - * 退款 - * - * @param sysProjUse - * @return - */ - public int returnMoneyProj(SysProjUse sysProjUse, MoneyCardUse cardUse, Long moneyCardUseId) { - int i = 0; - sysProjUse = sysProjUseDao.selectById(sysProjUse.getId()); - //判断套餐是否存在欠款 - checkOrderStatu(sysProjUse); - if (!(sysProjUse.getStatus().equals(Dictionary.TAOCAN_STATUS_YX))) { - throw new GlobleException("不是有效项目"); - } - if (sysProjUse.getSource().equals(Dictionary.TAOCAN_SOURCE_ZR)) { - throw new GlobleException("转让的项目不能退款"); - } - if (sysProjUse.getSource().equals(Dictionary.TAOCAN_SOURCE_ZS)) { - throw new GlobleException("赠送的项目不能退款"); - } - StringBuilder content = new StringBuilder(); - ShoppingGoodsAssemble shoppingGoodsAssemble = shoppingGoodsAssembleDao.selectById(sysProjUse.getAssembleId()); - ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(shoppingGoodsAssemble.getShoppingGoodsId()); - content.append(shoppingGoods + "退款"); - if (cardUse != null) { - // 1、金额退到该用户的有效会籍卡中 - MoneyCardUse upCard = moneyCardUseDao.selectById(cardUse.getId()); - upCard.setRealMoney(upCard.getRealMoney() + sysProjUse.getBalance()); - ; - moneyCardUseDao.update(upCard); - content.append("到会籍卡(" + upCard.getCardName() + ")" + sysProjUse.getBalance() + "元") - .append(",余次:" + upCard.getLastCountName()) - .append(",本金余额:" + upCard.getRealMoney()) - .append(",有效期:" + DateUtils.dateToString(upCard.getFailTime(), DateUtils.DATE_FORMAT_MM)) - .append(",是否赠送:" + upCard.getSourceName()); - } else { - content.append("现金" + sysProjUse.getBalance() + "元"); - } - - sysProjUse.setStatus(Dictionary.TAOCAN_STATUS_TK); - return sysProjUseDao.update(sysProjUse); - } /** * 设置为有效套餐 @@ -590,6 +546,7 @@ public AjaxResult activeProj(SysProjUse proj) { Date today = new Date(); Date newDate = proj.getFailTime(); + proj = sysProjUseDao.selectById(proj.getId()); switch (proj.getStatus()) { case Dictionary.TAOCAN_STATUS_WX: @@ -600,13 +557,19 @@ return new AjaxResult(AjaxResult.STATUS_FAIL, "有效期要大于当前日期"); } } - if (newDate == null && proj.getFailTime().before(today)) { + if (newDate == null && (proj.getFailTime() == null || proj.getFailTime().before(today))) { return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已过期"); } break; //如果是冻结状态则要算出冻结的天数,延长有效期 case Dictionary.TAOCAN_STATUS_DJ: + SysProjuseFreeze freeze = new SysProjuseFreeze(); + freeze.setOrderItemId(proj.getId().toString()); + freeze.setVipId(proj.getVipId()); + SysProjuseFreeze freezeProj = sysProjuseFreezeDao.selectByOrderItemId(freeze); + Date dateAfter = DateUtil.nextNDate(proj.getFailTime(), freezeProj.getGapDays()); + proj.setFailTime(dateAfter); break; default: return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择无效或者冻结的套餐"); @@ -616,31 +579,12 @@ StringBuilder content = new StringBuilder(); ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(proj.getProjId()); content.append(shoppingGoods.getName() + "设置为有效") - .append(",有效期:" + DateUtils.dateToString(proj.getFailTime(), DateUtils.DATE_FORMAT_MM)); + .append(",有效期:" + DateUtil.dateToString(proj.getFailTime(), DateUtil.DATE_FORMAT_MM)); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "操作成功"); } - /** - * 退款项目 - */ - @Override - public double getTotalMoneyProj(SysProjUse sysProjUse) { - sysProjUse = sysProjUseDao.selectById(sysProjUse.getId()); - //判断套餐是否存在欠款 - checkOrderStatu(sysProjUse); - if (!(sysProjUse.getStatus().equals(Dictionary.TAOCAN_STATUS_YX))) { - throw new GlobleException("不是有效项目"); - } - if (sysProjUse.getSource().equals(Dictionary.TAOCAN_SOURCE_ZR)) { - throw new GlobleException("转让的项目不能退款"); - } - if (sysProjUse.getSource().contains(Dictionary.TAOCAN_SOURCE_ZS)) { - throw new GlobleException("赠送的项目不能退款"); - } - return sysProjUse.getBalance(); - } @Override @@ -649,9 +593,10 @@ } @Override - public List<SysProjUse> selectTaocanProjUse(Long taocanId) { + public List<SysProjUse> selectTaocanProjUse(Long taocanId, String status) { SysProjUse projUse = new SysProjUse(); projUse.setTaocanId(taocanId); + projUse.setStatus(status); return sysProjUseDao.selectByModel(projUse); } } \ No newline at end of file -- Gitblit v1.9.1