| | |
| | | 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.system.hive.plugin.util.MoneyUtil; |
| | | import com.matrix.system.hive.service.SysProjUseService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | 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, "操作成功"); |
| | | |
| | | } |
| | |
| | | } 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("未找到套餐"); |
| | |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | | * 检测是否存在欠款 |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | } 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; |
| | | |
| | | } |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | } |
| | | 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, "操作成功"); |
| | | } |
| | |
| | | public List<SysProjUse> findTaocaoProjUseWithProj(SysProjUse sysProjUse) { |
| | | return sysProjUseDao.selectTaoCanListWithProj(sysProjUse); |
| | | } |
| | | |
| | | @Override |
| | | public int findTaocanCountForCourseAndInfinite(Long taocanId, Long vipId) { |
| | | return sysProjUseDao.selectTaocanCountForCourseAndInfinite(taocanId, vipId); |
| | | } |
| | | } |