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.common.bean.SysUsers;
|
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.bean.SysProjUseFlow;
|
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) {
|
|
//插入修改记录
|
SysUsers user=getMe();
|
//插入修改记录
|
SysProjUse oldProjUse = sysProjUseService.findById(sysProjUse.getId());
|
SysProjUseFlow projUseFlow=new SysProjUseFlow();
|
projUseFlow.setProjUseId(sysProjUse.getId());
|
projUseFlow.setOptionType("人工修改");
|
projUseFlow.setProjName(oldProjUse.getProjName());
|
projUseFlow.setCreateBy(user.getSuName());
|
projUseFlow.setUpdateBy(user.getSuName());
|
projUseFlow.setPrice(sysProjUse.getPrice());
|
projUseFlow.setStatus(sysProjUse.getStatus());
|
projUseFlow.setBalance(sysProjUse.getBalance());
|
projUseFlow.setFailTime(sysProjUse.getFailTime());
|
projUseFlow.setIsOver(sysProjUse.getIsOver());
|
projUseFlow.setRemark(sysProjUse.getUpdateRemark());
|
projUseFlow.setSurplusCount(sysProjUse.getSurplusCount());
|
projUseDao.insertFlow(projUseFlow);
|
|
|
int modifyResult = sysProjUseService.modify(sysProjUse);
|
|
List<SysProjUse> modifyUse = sysProjUse.getTaocanProjUse();
|
|
if (modifyResult > 0) {
|
if (CollectionUtils.isNotEmpty(modifyUse)) {
|
for (SysProjUse use : modifyUse) {
|
|
//插入修改记录
|
SysProjUse oldProjUse2 = sysProjUseService.findById(use.getId());
|
SysProjUseFlow projUseFlow2=new SysProjUseFlow();
|
//套餐中的项目需要记录套餐id
|
projUseFlow2.setProjUseId(oldProjUse.getId());
|
projUseFlow2.setOptionType("人工修改");
|
projUseFlow2.setProjName(oldProjUse2.getProjName());
|
projUseFlow2.setCreateBy(user.getSuName());
|
projUseFlow2.setUpdateBy(user.getSuName());
|
projUseFlow2.setPrice(use.getPrice());
|
projUseFlow2.setStatus(use.getStatus());
|
projUseFlow2.setBalance(use.getBalance());
|
projUseFlow2.setFailTime(use.getFailTime());
|
projUseFlow2.setIsOver(use.getIsOver());
|
projUseFlow2.setRemark(sysProjUse.getUpdateRemark());
|
projUseFlow2.setSurplusCount(use.getSurplusCount());
|
projUseDao.insertFlow(projUseFlow2);
|
|
sysProjUseService.modify(use);
|
}
|
}
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功");
|
} else {
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "修改失败");
|
}
|
} else {
|
return add(sysProjUseService, sysProjUse, "套餐");
|
}
|
}
|
|
|
}
|