package cn.jeesoft.mvc.action.web.manage;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import cn.jeesoft.core.interceptor.Before;
import cn.jeesoft.core.model.PagerModel;
import cn.jeesoft.core.utils.StringUtils;
import cn.jeesoft.interceptor.AdminLoginInterceptor;
import cn.jeesoft.mvc.action.web.BaseManageAction;
import cn.jeesoft.mvc.bean.Profit;
import cn.jeesoft.mvc.bean.Users;
import cn.jeesoft.mvc.services.ProfitService;
@Controller("manage.profit")
@RequestMapping("manage/profit")
@Before(AdminLoginInterceptor.class)
public class ProfitAction extends BaseManageAction<Profit, ProfitAction.MPagerModel> {
static class MPagerModel extends PagerModel<Profit, Profit> {
}
@Autowired
private ProfitService profitService;
// 管理员-进入设置利润比例页面
@RequestMapping(value = "update", method = RequestMethod.GET)
public String update(HttpServletRequest request, ModelMap modelMap) {
// 根据usersId查询单个利润比例
Profit profit = profitService.selectOne(0);
modelMap.addAttribute("profit", profit);
modelMap.addAttribute("currentMenu", "默认费率管理");
return FTL_MANAGE + "sys/profit/detail";
}
// 管理员-设置利润比例
@RequestMapping(value = "update", method = RequestMethod.POST)
public String update(HttpServletRequest request, ModelMap modelMap, Profit bean) {
// 初始化默认值
bean.setUsersId(0);
modelMap.addAttribute("profit", doUpdate(request, modelMap, bean));
modelMap.addAttribute("currentMenu", "默认费率管理");
return FTL_MANAGE + "sys/profit/detail";
}
// 会员-进入设置利润比例页面
@RequestMapping(value = "update_users", method = RequestMethod.GET)
public String updateUsers(HttpServletRequest request, ModelMap modelMap, Profit bean) {
// 根据usersId查询单个利润比例
if (bean.getUsersId()==null || bean.getUsersId()<=0) {
modelMap.addAttribute("errorMessage", "用户ID不能为空");
} else {
bean = profitService.selectOne(bean.getUsersId());
}
Users users = new Users();
users.setId(bean.getUsersId());
users.setPhone(request.getParameter("phone"));
modelMap.addAttribute("users", users);
modelMap.addAttribute("profit", bean);
modelMap.addAttribute("currentMenu", "会员管理");
return FTL_MANAGE + "sys/profit/detail";
}
// 会员-设置利润比例
@RequestMapping(value = "update_users", method = RequestMethod.POST)
public String doUpdateUsers(HttpServletRequest request, ModelMap modelMap, Profit bean) {
if (bean.getUsersId()==null || bean.getUsersId()<=0) {
modelMap.addAttribute("errorMessage", "用户ID不能为空");
} else {
bean = doUpdate(request, modelMap, bean);
}
modelMap.addAttribute("profit", bean);
modelMap.addAttribute("currentMenu", "会员管理");
return FTL_MANAGE + "sys/profit/detail";
}
/**
* 更新利润比例
*/
private Profit doUpdate(HttpServletRequest request, ModelMap modelMap, Profit bean) {
// 初始化默认值
if (StringUtils.isEmpty(bean.getOneBalance())) {
bean.setOneBalance(0);
}
if (StringUtils.isEmpty(bean.getTwoBalance())) {
bean.setTwoBalance(0);
}
if (StringUtils.isEmpty(bean.getThreeBalance())) {
bean.setThreeBalance(0);
}
Profit profit = profitService.selectOne(bean.getUsersId());
// 限定比例范围
if (bean.getOneBalance()>10000 || bean.getOneBalance()<0) {
modelMap.addAttribute("errorMessage", "比例范围在 0%~100% 之间");
} else if (bean.getTwoBalance()>10000 || bean.getTwoBalance()<0) {
modelMap.addAttribute("errorMessage", "比例范围在 0%~100% 之间");
} else if (bean.getThreeBalance()>10000 || bean.getThreeBalance()<0) {
modelMap.addAttribute("errorMessage", "比例范围在 0%~100% 之间");
} else if (bean.getTransfer()!=null && bean.getTransfer() > 10000) {
modelMap.addAttribute("errorMessage", "比例范围在 0%~100% 之间");
} else if (bean.getWithdraw()!=null && bean.getWithdraw() > 10000) {
modelMap.addAttribute("errorMessage", "比例范围在 0%~100% 之间");
} else {
// 设置对应话费收益
profit.setOneCall(5000, StringUtils.toInt(request.getParameter("oneCall50"), 0));
profit.setOneCall(10000, StringUtils.toInt(request.getParameter("oneCall100"), 0));
profit.setTwoCall(5000, StringUtils.toInt(request.getParameter("twoCall50"), 0));
profit.setTwoCall(10000, StringUtils.toInt(request.getParameter("twoCall100"), 0));
bean.setOneCall(profit.getOneCall());
bean.setTwoCall(profit.getTwoCall());
bean.setThreeCall(profit.getThreeCall());
// 修改单个利润比例
int update = profitService.update(bean);
if (update > 0) {
modelMap.addAttribute("errorMessage", "操作成功");
} else {
modelMap.addAttribute("errorMessage", "操作失败!");
}
}
return profitService.selectOne(bean.getUsersId());
}
@Override
public ProfitService getService() {
return profitService;
}
}