package com.matrix.system.hive.action; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.WebUtil; import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.bean.MoneyCardUse; import com.matrix.system.hive.bean.SysProjUse; import com.matrix.system.hive.dao.SysProjUseDao; import com.matrix.system.hive.service.MoneyCardUseService; import com.matrix.system.hive.service.SysProjUseService; import com.matrix.system.hive.service.SysProjuseFreezeService; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; /** * 会员套餐管理 * * @author guchunxia * @date 2016-09-03 */ @Controller @RequestMapping(value = "admin/taoCanUser") public class TaocanController extends BaseController { @Resource private SysProjUseService sysProjUseService; @Autowired private SysProjUseDao projUseDao; @Resource private SysProjuseFreezeService sysProjuseFreezeService; @Resource private MoneyCardUseService moneyCardUseService; public static final String fnCode = "projUse"; public static final String search = fnCode + ":search"; public static final String edit = fnCode + ":edit"; public static final String del = fnCode + ":del"; public static final String add = fnCode + ":add"; /** * 查看会员套餐使用情况 * * @author guchunxia * @date 2016-09-03 */ @RequestMapping(value = "/showTc") public @ResponseBody AjaxResult showTc(PaginationVO pageVo, SysProjUse sysProjUse) { sysProjUse.setType(Dictionary.SHOPPING_GOODS_TYPE_TC); List projUseList =sysProjUseService.findInPage(sysProjUse,null); //设置套餐中的项目 projUseList.forEach(taocanProjUse -> { taocanProjUse.setTaocanProjUse(sysProjUseService.selectTaocanProjUse(taocanProjUse.getId())); }); return new AjaxResult(AjaxResult.STATUS_SUCCESS, projUseList, sysProjUseService.findTotal(sysProjUse)); } /** * 将套餐设置为有效 * * @author guchunxia * @date 2016-09-03 */ @RequestMapping(value = "/activeTc") public @ResponseBody AjaxResult activeTc(SysProjUse sysProjUse) { return sysProjUseService.activeTc(sysProjUse); } /** * 将套餐设置为无效 * * @author guchunxia * @date 2016-09-03 */ @RequestMapping(value = "/invalidTc") public @ResponseBody AjaxResult invalidTc(SysProjUse sysProjUse) { int i = sysProjUseService.invalidTc(sysProjUse); if (i > 0) { return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已设置为无效"); } else { return new AjaxResult(AjaxResult.STATUS_FAIL, "设置失败"); } } /** * 转让套餐 * * @param sysProjUse 转让信息 * 被转让的会员id * @return * @author guchunxia * @date 2016-09-04 */ @RequestMapping(value = "/transferTc") public @ResponseBody AjaxResult transferTc(SysProjUse sysProjUse, Long vipId2) { int i = sysProjUseService.transferTc(sysProjUse, vipId2); if (i > 0) { return new AjaxResult(AjaxResult.STATUS_SUCCESS, "套餐转让成功"); } return new AjaxResult(AjaxResult.STATUS_FAIL, "套餐转让失败"); } @RequestMapping(value = "/returnTc") public @ResponseBody AjaxResult returnTc(SysProjUse sysProjUse, Long moneyCardUseId, String tcRemark, Long shopId, Double money, String tcName) { System.out.println("moneyCardUseId = " + moneyCardUseId); MoneyCardUse card = moneyCardUseService.findById(moneyCardUseId); System.out.println("card = " + card); int i = sysProjUseService.returnMoneyTc(sysProjUse, card, moneyCardUseId); if (i > 0) { return new AjaxResult(AjaxResult.STATUS_SUCCESS, "退款成功"); } return new AjaxResult(AjaxResult.STATUS_FAIL, "退款失败"); } /** * 冻结会员套餐 * * @param sysProjUse * @return */ @RequestMapping(value = "/freezeTc") public @ResponseBody AjaxResult freezeTc(SysProjUse sysProjUse) { int i = sysProjUseService.freezeTc(sysProjUse); if (i > 0) { return new AjaxResult(AjaxResult.STATUS_SUCCESS, "冻结成功"); } return new AjaxResult(AjaxResult.STATUS_FAIL, "冻结失败"); } /** * 退款 * * @return */ @RequestMapping(value = "/getEffectCard") public @ResponseBody AjaxResult getEffectCard(SysProjUse sysProjUse) { MoneyCardUse cardUse = null; cardUse = moneyCardUseService.findByVipId(sysProjUse.getVipId()); double money = sysProjUseService.getTotalMoneyTc(sysProjUse); if (cardUse != null) { cardUse.setRealMoney(money); List list = new ArrayList(); list.add(cardUse); return new AjaxResult(AjaxResult.STATUS_SUCCESS, null, "有有效会籍卡", list, null); } else { //无会员卡则new一个,为了把钱传递到前台 cardUse = new MoneyCardUse(); cardUse.setRealMoney(money); List list = new ArrayList(); list.add(cardUse); return new AjaxResult(AjaxResult.STATUS_SUCCESS, null, "无有效会籍卡", list, null); } } /** * 进入套餐修改页面 * * @return */ @RequestMapping(value = "/editForm") public String editForm(Long id) { if (id != null) { SysProjUse sysProjUse = sysProjUseService.findById(id); sysProjUse.setTaocanProjUse(sysProjUseService.selectTaocanProjUse(sysProjUse.getId())); WebUtil.getRequest().setAttribute("obj", sysProjUse); } return "admin/hive/vip/tc-form"; } /** * 添加或修改会员套餐信息 */ @RequestMapping(value = "/addOrModify") public @ResponseBody AjaxResult addOrModify(SysProjUse sysProjUse) { if (sysProjUse.getId() != null) { int modifyResult = sysProjUseService.modify(sysProjUse); List modifyUse = sysProjUse.getTaocanProjUse(); if (modifyResult > 0) { if (CollectionUtils.isNotEmpty(modifyUse)) { for (SysProjUse use : modifyUse) { sysProjUseService.modify(use); } } return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功"); } else { return new AjaxResult(AjaxResult.STATUS_FAIL, "修改失败"); } } else { return add(sysProjUseService, sysProjUse, "套餐"); } } }