| | |
| | | package com.matrix.system.hive.action; |
| | | |
| | | import com.matrix.component.rabbitmq.RabiitMqTemplate; |
| | | import com.matrix.core.constance.MatrixConstance; |
| | | import com.matrix.core.exception.GlobleException; |
| | | import com.matrix.core.pojo.AjaxResult; |
| | |
| | | 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.MQTaskRouting; |
| | | 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; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | 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; |
| | |
| | | @Resource |
| | | private SysVipInfoService vipInfoService; |
| | | |
| | | @Autowired |
| | | @Resource |
| | | private MoneyCardUseFlowDao moneyCardUseFlowDao; |
| | | @Autowired |
| | | |
| | | @Resource |
| | | private MoneyCardUseDao moneyCardUseDao; |
| | | |
| | | |
| | | @Value("${evn}") |
| | | private String evn; |
| | | |
| | | @Autowired |
| | | private RabiitMqTemplate rabiitMqTemplate; |
| | | |
| | | |
| | | /** |
| | | * 跳转 充值页面 |
| | | * |
| | | * @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"; |
| | | } |
| | |
| | | */ |
| | | @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()); |
| | | rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString()); |
| | | |
| | | result.putInMap("orderId",order.getId()); |
| | | return result; |
| | | } |
| | |
| | | public String toBj(Long id) { |
| | | // 根据id查到对应的订单信息 |
| | | SysOrder order = orderService.findById(id); |
| | | SysOrderItem item = new SysOrderItem(); |
| | | item.setOrderId(order.getId()); |
| | | List<SysOrderItem> items = orderItemService.findByModel(item); |
| | | order.setItems(items); |
| | | WebUtil.getRequest().setAttribute("order", order); |
| | | |
| | | return "admin/hive/beautySalon/bj-form"; |
| | |
| | | */ |
| | | @RequestMapping(value = "/bj") |
| | | public @ResponseBody |
| | | AjaxResult bj(SysOrder order) throws GlobleException { |
| | | AjaxResult bj(@RequestBody SysOrder order) throws GlobleException { |
| | | |
| | | orderService.updateAfterMoney(order); |
| | | return new AjaxResult(AjaxResult.STATUS_SUCCESS, "补交成功"); |
| | |
| | | @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(); |
| | |
| | | //如果是冻结状态则要算出冻结的天数,延长有效期 |
| | | case Dictionary.TAOCAN_STATUS_DJ: |
| | | MoneyCardUseFreeze freeze = new MoneyCardUseFreeze(); |
| | | freeze = moneyCardUseFreezeService.findByMoneyCardUseId(proj.getId()); |
| | | proj.setFailTime(DateUtil.nextNDate(failTime, freeze.getGapDays())); |
| | | freeze = moneyCardUseFreezeService.findByMoneyCardUseId(cardUse.getId()); |
| | | cardUse.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, "已设置为有效"); |
| | | } |
| | | |
| | |
| | | @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, "充值卡已退款"); |
| | |
| | | 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, "已设置为无效"); |
| | | } |
| | | |
| | |
| | | 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, "冻结失败"); |
| | | } |
| | | } |