From 4351e71d782741143a98f86f6648acd16689165f Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 27 May 2022 19:48:02 +0800 Subject: [PATCH] Merge branch 'developer' into hive2.0 --- zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java | 160 ++++++++++++++++++++++++----------------------------- 1 files changed, 73 insertions(+), 87 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java index 75a6e73..09274b6 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java @@ -1,21 +1,22 @@ package com.matrix.system.hive.action; +import com.matrix.component.asyncmessage.AsyncMessageManager; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; -import com.matrix.core.tools.DateUtil; import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.constance.Dictionary; -import com.matrix.system.constance.SystemConstance; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.MoneyCardUseDao; import com.matrix.system.hive.dao.MoneyCardUseFlowDao; -import com.matrix.core.tools.DateUtil; import com.matrix.system.hive.pojo.CzXkVo; import com.matrix.system.hive.service.*; +import com.matrix.system.shopXcx.mqTask.AsyncMessageRouting; +import com.matrix.system.wechart.templateMsg.UniformMsgParam; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestBody; @@ -23,7 +24,6 @@ import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -51,34 +51,30 @@ @Resource private SysVipInfoService vipInfoService; - @Autowired + @Resource private MoneyCardUseFlowDao moneyCardUseFlowDao; - @Autowired + + @Resource private MoneyCardUseDao moneyCardUseDao; + + + @Value("${evn}") + private String evn; + + + @Autowired + private AsyncMessageManager asyncMessageManager; /** * 跳转 充值页面 * * @author jyy */ @RequestMapping(value = "/editFormCz") - public String editFormCz() { - SysVipInfo info = - (SysVipInfo) WebUtil.getSession().getAttribute(SystemConstance.CURRENT_CUSTOMER); - MoneyCardUse cardUseInfo = cardUseService.findByVipId(info.getId()); - + public String editFormCz(Long id) { + MoneyCardUse cardUseInfo = cardUseService.findByVipId(id); if (cardUseInfo == null) { - cardUseInfo = new MoneyCardUse(); - cardUseInfo.setVipId(info.getId()); - cardUseInfo.setCardName("储值卡"); - cardUseInfo.setIsVipCar(Dictionary.FLAG_YES_Y); - cardUseInfo.setRealMoney(0D); - cardUseInfo.setGiftMoney(0D); - cardUseInfo.setSource("-"); - cardUseInfo.setFailTime(DateUtil.stringToDate("2050-01-01 00:00",DateUtil.DATE_FORMAT_MM)); - cardUseInfo.setStatus(Dictionary.MONEYCARD_STATUS_YX); - moneyCardUseDao.insert(cardUseInfo); + cardUseInfo=vipInfoService.addVipDefaultCard(id); } - WebUtil.getRequest().setAttribute("obj", cardUseInfo); return "admin/hive/beautySalon/cz-form"; } @@ -90,9 +86,15 @@ */ @RequestMapping(value = "/cz") public @ResponseBody - AjaxResult cz(CzXkVo czVo) { + AjaxResult cz(@RequestBody CzXkVo czVo) { SysOrder order= orderService.updateAddCardMoney(czVo); AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, "充值成功"); + + //发送微信公众号提醒 + UniformMsgParam uniformMsgParam=new UniformMsgParam(order.getCompanyId(),UniformMsgParam.GZH_CZCG); + uniformMsgParam.put("orderId",order.getId()); + asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG ,uniformMsgParam); + result.putInMap("orderId",order.getId()); return result; } @@ -114,6 +116,10 @@ @RequestMapping(value = "/showCardFlowList") public @ResponseBody AjaxResult showCardFlowList(MoneyCardUseFlow moneyCardUseFlow, PaginationVO pageVo) { + MoneyCardUse vipCard = cardUseService.findByVipId(moneyCardUseFlow.getVipId()); + if (vipCard != null) { + moneyCardUseFlowDao.updateVipCardId(moneyCardUseFlow.getVipId(), vipCard.getId()); + } List<MoneyCardUseFlow> dataList = moneyCardUseFlowDao.selectInPage(moneyCardUseFlow, pageVo); return AjaxResult.buildSuccessInstance(dataList, moneyCardUseFlowDao.selectTotalRecord(moneyCardUseFlow)); } @@ -213,13 +219,11 @@ /** * 补交 - * - * @throws GlobleException * @author jyy */ @RequestMapping(value = "/bj") public @ResponseBody - AjaxResult bj(@RequestBody SysOrder order) throws GlobleException { + AjaxResult bj(@RequestBody SysOrder order){ orderService.updateAfterMoney(order); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "补交成功"); @@ -275,9 +279,9 @@ @RequestMapping(value = "/active") public @ResponseBody AjaxResult active(MoneyCardUse moneyCardUse) { - MoneyCardUse proj = moneyCardUseDao.selectById(moneyCardUse.getId()); - String status = proj.getStatus(); - Date failTime = proj.getFailTime(); + MoneyCardUse cardUse = moneyCardUseDao.selectById(moneyCardUse.getId()); + String status = cardUse.getStatus(); + Date failTime = cardUse.getFailTime(); Date today = new Date(); Date newDate = null; newDate = moneyCardUse.getFailTime(); @@ -295,15 +299,26 @@ break; //如果是冻结状态则要算出冻结的天数,延长有效期 case Dictionary.TAOCAN_STATUS_DJ: - MoneyCardUseFreeze freeze = new MoneyCardUseFreeze(); - freeze = moneyCardUseFreezeService.findByMoneyCardUseId(proj.getId()); - proj.setFailTime(DateUtil.nextNDate(failTime, freeze.getGapDays())); + break; default: return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择无效或者冻结的充值卡"); } - proj.setFailTime(moneyCardUse.getFailTime()); - cardUseService.active(proj); + cardUse.setFailTime(moneyCardUse.getFailTime()); + cardUseService.active(cardUse); + + + MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow(); + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + moneyCardUseFlow.setCarUseId(cardUse.getId()); + moneyCardUseFlow.setVipId(cardUse.getVipId()); + moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CARD_MODIFY); + moneyCardUseFlow.setCreateTime(new Date()); + moneyCardUseFlow.setOperationId(user.getSuId()); + moneyCardUseFlow.setContent("设置为有效"); + moneyCardUseFlowDao.insert(moneyCardUseFlow); + + return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已设置为有效"); } @@ -316,9 +331,9 @@ @RequestMapping(value = "/invalid") public @ResponseBody AjaxResult invalidTc(MoneyCardUse moneyCardUse) { - MoneyCardUse proj = cardUseService.findById(moneyCardUse.getId()); + MoneyCardUse cardUse = cardUseService.findById(moneyCardUse.getId()); //以及转让或者退款的不能在设置为无效 - String status = proj.getStatus(); + String status = cardUse.getStatus(); switch (status) { case Dictionary.TAOCAN_STATUS_TK: return new AjaxResult(AjaxResult.STATUS_FAIL, "充值卡已退款"); @@ -327,7 +342,16 @@ case Dictionary.TAOCAN_STATUS_DJ: return new AjaxResult(AjaxResult.STATUS_FAIL, "充值卡已冻结"); } - cardUseService.invalid(proj); + cardUseService.invalid(cardUse); + MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow(); + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + moneyCardUseFlow.setCarUseId(cardUse.getId()); + moneyCardUseFlow.setVipId(cardUse.getVipId()); + moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CARD_MODIFY); + moneyCardUseFlow.setCreateTime(new Date()); + moneyCardUseFlow.setOperationId(user.getSuId()); + moneyCardUseFlow.setContent("设置为无效"); + moneyCardUseFlowDao.insert(moneyCardUseFlow); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已设置为无效"); } @@ -358,63 +382,25 @@ public @ResponseBody AjaxResult freeze(MoneyCardUse moneyCardUse) { int i = cardUseService.freeze(moneyCardUse); + cardUseService.invalid(moneyCardUse); + + MoneyCardUse cardUse = cardUseService.findById(moneyCardUse.getId()); + MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow(); + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + moneyCardUseFlow.setCarUseId(cardUse.getId()); + moneyCardUseFlow.setVipId(cardUse.getVipId()); + moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CARD_MODIFY); + moneyCardUseFlow.setCreateTime(new Date()); + moneyCardUseFlow.setOperationId(user.getSuId()); + moneyCardUseFlow.setContent("冻结会员卡"); + moneyCardUseFlowDao.insert(moneyCardUseFlow); if (i > 0) { return new AjaxResult(AjaxResult.STATUS_SUCCESS, "冻结成功"); } return new AjaxResult(AjaxResult.STATUS_FAIL, "冻结失败"); } - /** - * 退款 - * - * @return - */ - @RequestMapping(value = "getEffectCard") - public @ResponseBody - AjaxResult getEffectCard(MoneyCardUse moneyCardUse) { - AjaxResult result = AjaxResult.buildSuccessInstance(""); - //要退款的充值卡 - MoneyCardUse srcCardUse = cardUseService.findById(moneyCardUse.getId()); - if (!srcCardUse.getStatus().equals(Dictionary.TAOCAN_STATUS_YX)) { - throw new GlobleException("不是有效充值卡"); - } - //该会员是否有有效会籍卡 - MoneyCardUse targetCardUse = cardUseService.findByVipId(moneyCardUse.getVipId()); - double money = srcCardUse.getRealMoney(); - if (targetCardUse != null) { - targetCardUse.setRealMoney(money); - List<MoneyCardUse> list = Arrays.asList(targetCardUse); - if (targetCardUse.getId().equals(srcCardUse.getId())) { - result.setInfo("会籍卡退款只能退现金"); - result.setRows(list); - - } else { - result.setInfo("有有效会籍卡"); - result.setRows(list); - } - } else { - //无会员卡则new一个,为了把钱传递到前台 - targetCardUse = new MoneyCardUse(); - targetCardUse.setRealMoney(money); - List<MoneyCardUse> list1 = Arrays.asList(targetCardUse); - result.setInfo("无有效会籍卡,退现金"); - result.setRows(list1); - } - return result; - } - - @RequestMapping(value = "/returnMoney") - public @ResponseBody - AjaxResult returnMoney(MoneyCardUse moneyCardUse, Long hjkId, String tcRemark, Long - shopId, Double money - , String tcName) { - int i = cardUseService.returnMoney(moneyCardUse, hjkId); - if (i > 0) { - return new AjaxResult(AjaxResult.STATUS_SUCCESS, "退款成功"); - } - return new AjaxResult(AjaxResult.STATUS_FAIL, "冻结失败"); - } } \ No newline at end of file -- Gitblit v1.9.1