From f57554f7da5e4d05b4b4bab99bf49ac9ca8c2038 Mon Sep 17 00:00:00 2001 From: jyy <935090232@qq.com> Date: Fri, 15 Apr 2022 21:35:12 +0800 Subject: [PATCH] feat:商品资料导出新增时长字段 --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java | 254 +++++++++++++++++++------------------------------- 1 files changed, 96 insertions(+), 158 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 45f9083..b30f76c 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 @@ -10,16 +10,12 @@ import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; -import com.matrix.system.hive.plugin.util.CollectionUtils; -import com.matrix.core.tools.DateUtil; 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.sql.Timestamp; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -63,6 +59,9 @@ @Override public int modify(SysProjUse sysProjUse) { + //插入套餐项目操作记录 + + return sysProjUseDao.update(sysProjUse); @@ -221,15 +220,30 @@ 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); + // todo 因为目前没有在冻结的时候插入冻结记录,所以这里暂时这样处理 + if(freezeProj!=null){ + 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.updateProjStatus(taocan); + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(taocan.getProjName()); + useFlow.setProjUseId(taocan.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setRemark("设置为有效状态"); + useFlow.setFailTime(taocan.getFailTime()); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_YX); + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); + + return new AjaxResult(AjaxResult.STATUS_SUCCESS, "操作成功"); } @@ -257,6 +271,19 @@ } else { i = sysProjuseFreezeDao.insert(freeze); } + + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(taocan.getProjName()); + useFlow.setProjUseId(taocan.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_DJ); + useFlow.setRemark("冻结项目"); + + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); + return i; } else { throw new GlobleException("未找到套餐"); @@ -302,73 +329,6 @@ return money; } - public double getTotalMoney(SysProjUse sysProjUse, MoneyCardUse cardUse, Long moneyCardUseId) { - List<SysProjUse> list = sysProjUseDao.selectByModel(sysProjUse); - double money = 0; - if (CollectionUtils.isEmpty(list)) { - throw new GlobleException("该套餐没有可退款的项目!"); - } - //判断套餐是否存在欠款 - SysProjUse projuse = list.get(0); - checkOrderStatu(projuse); - if (!(projuse.getStatus().equals(Dictionary.TAOCAN_STATUS_YX))) { - throw new GlobleException("不是有效套餐"); - } - if (projuse.getSource().contains(Dictionary.TAOCAN_SOURCE_ZR)) { - throw new GlobleException("转让的套餐不能退款"); - } - if (projuse.getSource().contains(Dictionary.TAOCAN_SOURCE_ZS)) { - throw new GlobleException("赠送的套餐不能退款"); - } - //获取会员卡 - cardUse = moneyCardUseDao.selectVipCard(projuse.getVipId()); - String content; - //如果是套餐卡 - ShoppingGoodsAssemble shoppingGoodsAssemble = shoppingGoodsAssembleDao.selectById(sysProjUse.getAssembleId()); - ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(shoppingGoodsAssemble.getShoppingGoodsId()); - if (Dictionary.SHOPPING_GOODS_TYPE_TCK.equals(projuse.getType())) { - money = projuse.getBalance(); - //余次使用流水操作 - - content = shoppingGoods.getName() + "退款¥" + projuse.getBalance(); - } else { - for (SysProjUse itemUser : list) { - Double emoney = MoneyUtil.mul(Double.parseDouble(itemUser.getSurplusCount() + ""), itemUser.getPrice()); - money = MoneyUtil.add(emoney, money); - } - //余次使用流水操作 - content = shoppingGoods.getName() + "退款¥" + money; - } - - - SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); - // 1、金额退到该用户的有效会籍卡中 - System.out.println("==========" + cardUse); - if (moneyCardUseId != null) { - if (cardUse == null) { - content += "到现金。"; - } else { - //SysOrderItem orderItem = orderItemDao.selectById(cardUse.getOrderItemId()); - - StringBuilder contentBuild = new StringBuilder(); - contentBuild.append("到" + cardUse.getCardName()) - .append(",余次:" + cardUse.getLastCountName()) - .append(",本金余额:" + MoneyUtil.add(cardUse.getRealMoney(), money)) - .append(",赠送余额:" + cardUse.getGiftMoney()) - .append(",有效期:" + DateUtil.dateToString(cardUse.getFailTime(), DateUtil.DATE_FORMAT_MM)) - .append(",是否赠送:" + cardUse.getSourceName()); - content += contentBuild.toString(); - - cardUse.setRealMoney(cardUse.getRealMoney() + money); - ; - moneyCardUseDao.update(cardUse); - - } - } else { - content += "到现金。"; - } - return money; - } /** * 检测是否存在欠款 @@ -400,27 +360,26 @@ throw new GlobleException("套餐已冻结"); } taocan.setStatus(Dictionary.TAOCAN_STATUS_WX); + int i = sysProjUseDao.updateTcStatus(sysProjUse.getId(), "无效"); + + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(taocan.getProjName()); + useFlow.setProjUseId(taocan.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_WX); + useFlow.setRemark("设置为无效状态"); + useFlow.setFailTime(taocan.getFailTime()); + + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); + 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; - } /*********************以下为项目使用情况操作***********************/ @@ -518,6 +477,17 @@ } else { i = sysProjuseFreezeDao.insert(freeze); } + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(sysProjUse.getProjName()); + useFlow.setProjUseId(sysProjUse.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_DJ); + useFlow.setRemark("冻结项目"); + + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); return i; } @@ -543,56 +513,24 @@ throw new GlobleException("套餐已冻结"); } sysProjUse.setStatus(Dictionary.TAOCAN_STATUS_WX); - ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(sysProjUse.getProjId()); - String content = shoppingGoods.getName() + "设置为" + sysProjUse.getStatus(); + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(sysProjUse.getProjName()); + useFlow.setProjUseId(sysProjUse.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_WX); + useFlow.setRemark("设置为无效状态"); + useFlow.setFailTime(sysProjUse.getFailTime()); + + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); return sysProjUseDao.update(sysProjUse); } - /** - * 退款 - * - * @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(",有效期:" + DateUtil.dateToString(upCard.getFailTime(), DateUtil.DATE_FORMAT_MM)) - .append(",是否赠送:" + upCard.getSourceName()); - } else { - content.append("现金" + sysProjUse.getBalance() + "元"); - } - - sysProjUse.setStatus(Dictionary.TAOCAN_STATUS_TK); - return sysProjUseDao.update(sysProjUse); - } /** * 设置为有效套餐 @@ -634,34 +572,23 @@ } proj.setStatus(Dictionary.TAOCAN_STATUS_YX); sysProjUseDao.update(proj); - StringBuilder content = new StringBuilder(); - ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(proj.getProjId()); - content.append(shoppingGoods.getName() + "设置为有效") - .append(",有效期:" + DateUtil.dateToString(proj.getFailTime(), DateUtil.DATE_FORMAT_MM)); + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysProjUseFlow useFlow=new SysProjUseFlow(); + useFlow.setProjName(proj.getProjName()); + useFlow.setProjUseId(proj.getId()); + useFlow.setOptionType("人工修改"); + useFlow.setStatus(Dictionary.TAOCAN_STATUS_YX); + useFlow.setRemark("设置为有效状态"); + useFlow.setFailTime(proj.getFailTime()); + + useFlow.setCreateBy(sysUsers.getSuName()); + useFlow.setUpdateBy(sysUsers.getSuName()); + sysProjUseDao.insertFlow(useFlow); 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 @@ -670,9 +597,20 @@ } @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); } + + @Override + public List<SysProjUse> findTaocaoProjUseWithProj(SysProjUse sysProjUse) { + return sysProjUseDao.selectTaoCanListWithProj(sysProjUse); + } + + @Override + public int findTaocanCountForCourseAndInfinite(Long taocanId, Long vipId) { + return sysProjUseDao.selectTaocanCountForCourseAndInfinite(taocanId, vipId); + } } \ No newline at end of file -- Gitblit v1.9.1