jyy
2021-06-12 393d296e43f0e5f11e524cab5446bcd3eee94e89
zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java
@@ -1,5 +1,6 @@
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;
@@ -15,9 +16,13 @@
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;
@@ -50,34 +55,31 @@
    @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";
    }
@@ -89,9 +91,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());
        rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString());
        result.putInMap("orderId",order.getId());
        return result;
    }
@@ -181,23 +189,14 @@
     * @author jyy
     */
    @RequestMapping(value = "/toBj")
    public String toBj(Long id, HttpServletRequest request) {
    public String toBj(Long id) {
        // 根据id查到对应的订单信息
        SysOrder order = orderService.findById(id);
        WebUtil.getRequest().setAttribute("order", order);
        SysOrderItem item = new SysOrderItem();
        item.setOrderId(order.getId());
        item.setStatus(Dictionary.ORDER_STATU_QK);
        order.setItems(orderItemService.findByModel(item));
        MoneyCardUse moneyCardUse = new MoneyCardUse();
        moneyCardUse.setVipId(order.getVipId());
        moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX);
        List<MoneyCardUse> cards = cardUseService.findByModel(moneyCardUse);
        WebUtil.getRequest().setAttribute("cards", cards);
        List<SysOrderItem> items = orderItemService.findByModel(item);
        order.setItems(items);
        WebUtil.getRequest().setAttribute("order", order);
        return "admin/hive/beautySalon/bj-form";
    }
@@ -227,7 +226,7 @@
     */
    @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, "补交成功");
@@ -296,7 +295,7 @@
                if (newDate != null && newDate.before(today)) {
                    return new AjaxResult(AjaxResult.STATUS_FAIL, "有效期要大于当前日期");
                }
                if (newDate == null && failTime.before(today)) {
                if (newDate == null && (failTime == null || failTime.before(today))) {
                    //如果是已过期界面会提醒重新设置有效期
                    return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已过期");
                }
@@ -372,57 +371,7 @@
        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, "冻结失败");
    }
}