| 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<SysProjUse> 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<MoneyCardUse> list = new ArrayList<MoneyCardUse>(); | 
|             list.add(cardUse); | 
|             return new AjaxResult(AjaxResult.STATUS_SUCCESS, null, "有有效会籍卡", list, null); | 
|         } else { | 
|             //无会员卡则new一个,为了把钱传递到前台 | 
|             cardUse = new MoneyCardUse(); | 
|             cardUse.setRealMoney(money); | 
|             List<MoneyCardUse> list = new ArrayList<MoneyCardUse>(); | 
|             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<SysProjUse> 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, "套餐"); | 
|         } | 
|     } | 
|   | 
|   | 
| } |