فهرست منبع

机构余额提现增加审核

plf 3 سال پیش
والد
کامیت
6154863826

+ 207 - 186
src/main/java/com/caimei/modules/balance/entity/CmUserBalanceWithdrawals.java

@@ -1,198 +1,219 @@
 package com.caimei.modules.balance.entity;
 package com.caimei.modules.balance.entity;
 
 
-import org.hibernate.validator.constraints.Length;
-import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
-
 import com.thinkgem.jeesite.common.persistence.DataEntity;
 import com.thinkgem.jeesite.common.persistence.DataEntity;
+import org.hibernate.validator.constraints.Length;
+
+import java.math.BigDecimal;
+import java.util.Date;
 
 
 /**
 /**
  * 审核列表Entity
  * 审核列表Entity
+ *
  * @author plf
  * @author plf
  * @version 2021-07-06
  * @version 2021-07-06
  */
  */
 public class CmUserBalanceWithdrawals extends DataEntity<CmUserBalanceWithdrawals> {
 public class CmUserBalanceWithdrawals extends DataEntity<CmUserBalanceWithdrawals> {
-	
-	private static final long serialVersionUID = 1L;
-	private Long userID;		// 用户ID(买家)
-	private String withdrawalsFee;		// 提现金额
-	private String bankAccountName;		// 银行账户名
-	private String bankAccountNo;		// 开户银行账户
-	private String openBank;		// 开户银行
-	private String bankAccountType;		// 账户类型:1公账,2私账
-	private String payType;		// 付款方式 1建设银行7297, 2中信银行0897, 3中信银行7172, 4广发银行0115, 5广发银行5461
-	private String applicant;		// 申请人ID
-	private Date addDate;		// 申请时间
-	private String reviewer;		// 审核人ID
-	private Date reviewTime;		// 审核时间
-	private Date payTime;		// 转账时间
-	private String status;		// 审核状态 0待审核, 1审核通过 2审核不通过
-	private String reason;		// 审核不通过原因
-	private String remark;		// 备注
-	private String clubName;	//机构名称
-	private String startTime;	//开始时间
-	private String endTime;		//结束时间
-	
-	public CmUserBalanceWithdrawals() {
-		super();
-	}
-
-	public CmUserBalanceWithdrawals(String id){
-		super(id);
-	}
-
-	public Long getUserID() {
-		return userID;
-	}
-
-	public void setUserID(Long userID) {
-		this.userID = userID;
-	}
-	
-	public String getWithdrawalsFee() {
-		return withdrawalsFee;
-	}
-
-	public void setWithdrawalsFee(String withdrawalsFee) {
-		this.withdrawalsFee = withdrawalsFee;
-	}
-	
-	@Length(min=0, max=30, message="银行账户名长度必须介于 0 和 30 之间")
-	public String getBankAccountName() {
-		return bankAccountName;
-	}
-
-	public void setBankAccountName(String bankAccountName) {
-		this.bankAccountName = bankAccountName;
-	}
-	
-	@Length(min=0, max=30, message="开户银行账户长度必须介于 0 和 30 之间")
-	public String getBankAccountNo() {
-		return bankAccountNo;
-	}
-
-	public void setBankAccountNo(String bankAccountNo) {
-		this.bankAccountNo = bankAccountNo;
-	}
-	
-	@Length(min=0, max=30, message="开户银行长度必须介于 0 和 30 之间")
-	public String getOpenBank() {
-		return openBank;
-	}
-
-	public void setOpenBank(String openBank) {
-		this.openBank = openBank;
-	}
-	
-	@Length(min=0, max=1, message="账户类型:1公账,2私账长度必须介于 0 和 1 之间")
-	public String getBankAccountType() {
-		return bankAccountType;
-	}
-
-	public void setBankAccountType(String bankAccountType) {
-		this.bankAccountType = bankAccountType;
-	}
-	
-	@Length(min=0, max=20, message="付款方式 1建设银行7297, 2中信银行0897, 3中信银行7172, 4广发银行0115, 5广发银行5461长度必须介于 0 和 20 之间")
-	public String getPayType() {
-		return payType;
-	}
-
-	public void setPayType(String payType) {
-		this.payType = payType;
-	}
-	
-	public String getApplicant() {
-		return applicant;
-	}
-
-	public void setApplicant(String applicant) {
-		this.applicant = applicant;
-	}
-	
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	public Date getAddDate() {
-		return addDate;
-	}
-
-	public void setAddDate(Date addDate) {
-		this.addDate = addDate;
-	}
-	
-	public String getReviewer() {
-		return reviewer;
-	}
-
-	public void setReviewer(String reviewer) {
-		this.reviewer = reviewer;
-	}
-	
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	public Date getReviewTime() {
-		return reviewTime;
-	}
-
-	public void setReviewTime(Date reviewTime) {
-		this.reviewTime = reviewTime;
-	}
-	
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	public Date getPayTime() {
-		return payTime;
-	}
-
-	public void setPayTime(Date payTime) {
-		this.payTime = payTime;
-	}
-	
-	@Length(min=1, max=1, message="审核状态 0待审核, 1审核通过 2审核不通过长度必须介于 1 和 1 之间")
-	public String getStatus() {
-		return status;
-	}
-
-	public void setStatus(String status) {
-		this.status = status;
-	}
-	
-	@Length(min=0, max=20, message="审核不通过原因长度必须介于 0 和 20 之间")
-	public String getReason() {
-		return reason;
-	}
-
-	public void setReason(String reason) {
-		this.reason = reason;
-	}
-	
-	@Length(min=0, max=250, message="备注长度必须介于 0 和 250 之间")
-	public String getRemark() {
-		return remark;
-	}
-
-	public void setRemark(String remark) {
-		this.remark = remark;
-	}
-
-	public String getClubName() {
-		return clubName;
-	}
-
-	public void setClubName(String clubName) {
-		this.clubName = clubName;
-	}
-
-	public String getStartTime() {
-		return startTime;
-	}
-
-	public void setStartTime(String startTime) {
-		this.startTime = startTime;
-	}
-
-	public String getEndTime() {
-		return endTime;
-	}
-
-	public void setEndTime(String endTime) {
-		this.endTime = endTime;
-	}
+
+    private static final long serialVersionUID = 1L;
+    private Long userID;        // 用户ID(买家)
+    private BigDecimal withdrawalsFee;        // 提现金额
+    private String bankAccountName;        // 银行账户名
+    private String bankAccountNo;        // 开户银行账户
+    private String openBank;        // 开户银行
+    private String bankAccountType;        // 账户类型:1公账,2私账
+    private String payType;        // 付款方式 1建设银行7297, 2中信银行0897, 3中信银行7172, 4广发银行0115, 5广发银行5461
+    private String applicant;        // 申请人ID
+    private Date addDate;        // 申请时间
+    private String reviewer;        // 审核人ID
+    private Date reviewTime;        // 审核时间
+    private Date payTime;        // 转账时间
+    private String status;        // 审核状态 0待审核, 1审核通过 2审核不通过
+    private String reason;        // 审核不通过原因
+    private String remark;        // 备注
+    private String clubName;    //机构名称
+    private String startTime;    //开始时间
+    private String endTime;        //结束时间
+    private String applicantName;    //申请人名称
+    private String reviewerName;    //审核人名称
+
+
+    public CmUserBalanceWithdrawals() {
+        super();
+    }
+
+    public CmUserBalanceWithdrawals(String id) {
+        super(id);
+    }
+
+    public Long getUserID() {
+        return userID;
+    }
+
+    public void setUserID(Long userID) {
+        this.userID = userID;
+    }
+
+    public BigDecimal getWithdrawalsFee() {
+        return withdrawalsFee;
+    }
+
+    public void setWithdrawalsFee(BigDecimal withdrawalsFee) {
+        this.withdrawalsFee = withdrawalsFee;
+    }
+
+    @Length(min = 0, max = 30, message = "银行账户名长度必须介于 0 和 30 之间")
+    public String getBankAccountName() {
+        return bankAccountName;
+    }
+
+    public void setBankAccountName(String bankAccountName) {
+        this.bankAccountName = bankAccountName;
+    }
+
+    @Length(min = 0, max = 30, message = "开户银行账户长度必须介于 0 和 30 之间")
+    public String getBankAccountNo() {
+        return bankAccountNo;
+    }
+
+    public void setBankAccountNo(String bankAccountNo) {
+        this.bankAccountNo = bankAccountNo;
+    }
+
+    @Length(min = 0, max = 30, message = "开户银行长度必须介于 0 和 30 之间")
+    public String getOpenBank() {
+        return openBank;
+    }
+
+    public void setOpenBank(String openBank) {
+        this.openBank = openBank;
+    }
+
+    @Length(min = 0, max = 1, message = "账户类型:1公账,2私账长度必须介于 0 和 1 之间")
+    public String getBankAccountType() {
+        return bankAccountType;
+    }
+
+    public void setBankAccountType(String bankAccountType) {
+        this.bankAccountType = bankAccountType;
+    }
+
+    @Length(min = 0, max = 20, message = "付款方式 1建设银行7297, 2中信银行0897, 3中信银行7172, 4广发银行0115, 5广发银行5461长度必须介于 0 和 20 之间")
+    public String getPayType() {
+        return payType;
+    }
+
+    public void setPayType(String payType) {
+        this.payType = payType;
+    }
+
+    public String getApplicant() {
+        return applicant;
+    }
+
+    public void setApplicant(String applicant) {
+        this.applicant = applicant;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    public Date getAddDate() {
+        return addDate;
+    }
+
+    public void setAddDate(Date addDate) {
+        this.addDate = addDate;
+    }
+
+    public String getReviewer() {
+        return reviewer;
+    }
+
+    public void setReviewer(String reviewer) {
+        this.reviewer = reviewer;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    public Date getReviewTime() {
+        return reviewTime;
+    }
+
+    public void setReviewTime(Date reviewTime) {
+        this.reviewTime = reviewTime;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    public Date getPayTime() {
+        return payTime;
+    }
+
+    public void setPayTime(Date payTime) {
+        this.payTime = payTime;
+    }
+
+    @Length(min = 1, max = 1, message = "审核状态 0待审核, 1审核通过 2审核不通过长度必须介于 1 和 1 之间")
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    @Length(min = 0, max = 20, message = "审核不通过原因长度必须介于 0 和 20 之间")
+    public String getReason() {
+        return reason;
+    }
+
+    public void setReason(String reason) {
+        this.reason = reason;
+    }
+
+    @Length(min = 0, max = 250, message = "备注长度必须介于 0 和 250 之间")
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getClubName() {
+        return clubName;
+    }
+
+    public void setClubName(String clubName) {
+        this.clubName = clubName;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getApplicantName() {
+        return applicantName;
+    }
+
+    public void setApplicantName(String applicantName) {
+        this.applicantName = applicantName;
+    }
+
+    public String getReviewerName() {
+        return reviewerName;
+    }
+
+    public void setReviewerName(String reviewerName) {
+        this.reviewerName = reviewerName;
+    }
 }
 }

+ 110 - 4
src/main/java/com/caimei/modules/balance/service/CmUserBalanceWithdrawalsService.java

@@ -2,12 +2,22 @@ package com.caimei.modules.balance.service;
 
 
 import com.caimei.modules.balance.dao.CmUserBalanceWithdrawalsDao;
 import com.caimei.modules.balance.dao.CmUserBalanceWithdrawalsDao;
 import com.caimei.modules.balance.entity.CmUserBalanceWithdrawals;
 import com.caimei.modules.balance.entity.CmUserBalanceWithdrawals;
+import com.caimei.modules.user.dao.CmUserBalanceRecordDao;
+import com.caimei.modules.user.dao.CmUserDao;
+import com.caimei.modules.user.entity.CmUser;
+import com.caimei.modules.user.entity.CmUserBalanceRecord;
+import com.caimei.utils.MathUtil;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.service.CrudService;
 import com.thinkgem.jeesite.common.service.CrudService;
+import com.thinkgem.jeesite.common.utils.StringUtils;
+import com.thinkgem.jeesite.modules.sys.entity.User;
+import com.thinkgem.jeesite.modules.sys.utils.UserUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
@@ -22,9 +32,32 @@ public class CmUserBalanceWithdrawalsService extends CrudService<CmUserBalanceWi
 
 
     @Resource
     @Resource
     CmUserBalanceWithdrawalsDao cmUserBalanceWithdrawalsDao;
     CmUserBalanceWithdrawalsDao cmUserBalanceWithdrawalsDao;
+    @Resource
+    private CmUserDao cmUserDao;
+    @Resource
+    private CmUserBalanceRecordDao cmUserBalanceRecordDao;
 
 
     public CmUserBalanceWithdrawals get(String id) {
     public CmUserBalanceWithdrawals get(String id) {
-        return super.get(id);
+        CmUserBalanceWithdrawals withdrawals = super.get(id);
+        setUserName(withdrawals);
+        return withdrawals;
+    }
+
+    private void setUserName(CmUserBalanceWithdrawals withdrawals) {
+        if (withdrawals != null) {
+            if (StringUtils.isNotBlank(withdrawals.getApplicant())) {
+                User user = UserUtils.get(withdrawals.getApplicant());
+                if (user != null) {
+                    withdrawals.setApplicantName(user.getName());
+                }
+            }
+            if (StringUtils.isNotBlank(withdrawals.getReviewer())) {
+                User user = UserUtils.get(withdrawals.getReviewer());
+                if (user != null) {
+                    withdrawals.setReviewerName(user.getName());
+                }
+            }
+        }
     }
     }
 
 
     public List<CmUserBalanceWithdrawals> findList(CmUserBalanceWithdrawals cmUserBalanceWithdrawals) {
     public List<CmUserBalanceWithdrawals> findList(CmUserBalanceWithdrawals cmUserBalanceWithdrawals) {
@@ -36,7 +69,7 @@ public class CmUserBalanceWithdrawalsService extends CrudService<CmUserBalanceWi
         List<CmUserBalanceWithdrawals> withdrawalsList = withdrawalsPage.getList();
         List<CmUserBalanceWithdrawals> withdrawalsList = withdrawalsPage.getList();
         if (withdrawalsList != null && withdrawalsList.size() > 0) {
         if (withdrawalsList != null && withdrawalsList.size() > 0) {
             for (CmUserBalanceWithdrawals withdrawals : withdrawalsList) {
             for (CmUserBalanceWithdrawals withdrawals : withdrawalsList) {
-
+                setUserName(withdrawals);
             }
             }
 
 
         }
         }
@@ -45,12 +78,22 @@ public class CmUserBalanceWithdrawalsService extends CrudService<CmUserBalanceWi
 
 
     @Transactional(readOnly = false)
     @Transactional(readOnly = false)
     public void save(CmUserBalanceWithdrawals cmUserBalanceWithdrawals) {
     public void save(CmUserBalanceWithdrawals cmUserBalanceWithdrawals) {
-        super.save(cmUserBalanceWithdrawals);
+        CmUser cmUser = cmUserDao.get(String.valueOf(cmUserBalanceWithdrawals.getUserID()));
+        if (MathUtil.compare(cmUser.getAbleUserMoney(), cmUserBalanceWithdrawals.getWithdrawalsFee()) > -1) {
+            //余额必须大于等于提现金额
+            User user = UserUtils.getUser();
+            Date date = new Date();
+            cmUserBalanceWithdrawals.setAddDate(date);
+            cmUserBalanceWithdrawals.setApplicant(user.getId());
+            cmUserBalanceWithdrawals.setStatus("0");
+            cmUserBalanceWithdrawals.setDelFlag("0");
+            cmUserBalanceWithdrawalsDao.insert(cmUserBalanceWithdrawals);
+        }
     }
     }
 
 
     @Transactional(readOnly = false)
     @Transactional(readOnly = false)
     public void delete(CmUserBalanceWithdrawals cmUserBalanceWithdrawals) {
     public void delete(CmUserBalanceWithdrawals cmUserBalanceWithdrawals) {
-        super.delete(cmUserBalanceWithdrawals);
+        cmUserBalanceWithdrawalsDao.deleteById(Integer.valueOf(cmUserBalanceWithdrawals.getId()));
     }
     }
 
 
     @Transactional(readOnly = false)
     @Transactional(readOnly = false)
@@ -58,4 +101,67 @@ public class CmUserBalanceWithdrawalsService extends CrudService<CmUserBalanceWi
         cmUserBalanceWithdrawalsDao.deleteById(id);
         cmUserBalanceWithdrawalsDao.deleteById(id);
     }
     }
 
 
+    @Transactional(readOnly = false)
+    public void withdrawalReviewData(CmUserBalanceWithdrawals cmUserBalanceWithdrawals) {
+        User user = UserUtils.getUser();
+        Date time = new Date();
+        if (StringUtils.isNotBlank(cmUserBalanceWithdrawals.getReason())) {
+            //审核不通过
+            cmUserBalanceWithdrawals.setStatus("2");
+            cmUserBalanceWithdrawals.setReviewer(user.getId());
+            cmUserBalanceWithdrawals.setReviewTime(time);
+            cmUserBalanceWithdrawalsDao.update(cmUserBalanceWithdrawals);
+        } else {
+            //审核通过
+            cmUserBalanceWithdrawals.setStatus("1");
+            cmUserBalanceWithdrawals.setReviewer(user.getId());
+            cmUserBalanceWithdrawals.setReviewTime(time);
+            cmUserBalanceWithdrawals.setPayTime(time);
+            cmUserBalanceWithdrawalsDao.update(cmUserBalanceWithdrawals);
+
+            //添加余额收支记录
+            CmUserBalanceRecord cmUserBalanceRecord = new CmUserBalanceRecord();
+            cmUserBalanceRecord.setUserId(cmUserBalanceWithdrawals.getUserID().intValue());
+            cmUserBalanceRecord.setType("2");
+            cmUserBalanceRecord.setBalanceType("5");
+            cmUserBalanceRecord.setAddDate(time);
+            //提现金额
+            BigDecimal withdrawalsFee = cmUserBalanceWithdrawals.getWithdrawalsFee();
+            cmUserBalanceRecord.setAmount(String.valueOf(withdrawalsFee));
+            cmUserBalanceRecord.setWithdrawalsId(Integer.parseInt(cmUserBalanceWithdrawals.getId()));//提现信息ID
+            cmUserBalanceRecord.setDelFlag("0");
+            cmUserBalanceRecordDao.insertUserBalanceRecord(cmUserBalanceRecord);
+
+            //更新用户余额总金额
+            CmUser cmUser = cmUserDao.get(String.valueOf(cmUserBalanceWithdrawals.getUserID()));
+            cmUser.setUserID(cmUserBalanceWithdrawals.getUserID().intValue());
+            BigDecimal sub = MathUtil.sub(cmUser.getAbleUserMoney(), withdrawalsFee);
+            cmUser.setAbleUserMoney(sub.doubleValue());
+            cmUser.setUserMoney(sub.doubleValue());
+            cmUserDao.updateMoney(cmUser);
+        }
+    }
+
+    @Transactional(readOnly = false)
+    public void withdrawalEditSave(CmUserBalanceWithdrawals cmUserBalanceWithdrawals) {
+        cmUserBalanceWithdrawalsDao.update(cmUserBalanceWithdrawals);
+    }
+
+    @Transactional(readOnly = false)
+    public void rollBackApply(CmUserBalanceWithdrawals cmUserBalanceWithdrawals) {
+        //撤销提现记录
+        cmUserBalanceRecordDao.updateByWithdrawalsId(cmUserBalanceWithdrawals.getId());
+        //撤销用户余额金额
+        CmUser cmUser = cmUserDao.get(String.valueOf(cmUserBalanceWithdrawals.getUserID()));
+        BigDecimal userMoney = MathUtil.add(cmUser.getAbleUserMoney(), cmUserBalanceWithdrawals.getWithdrawalsFee());
+        cmUser.setAbleUserMoney(userMoney.doubleValue());
+        cmUser.setUserMoney(userMoney.doubleValue());
+        cmUserDao.updateMoney(cmUser);
+        //撤销提现记录
+        cmUserBalanceWithdrawals.setStatus("0");
+        cmUserBalanceWithdrawals.setReviewTime(null);
+        cmUserBalanceWithdrawals.setReviewer(null);
+        cmUserBalanceWithdrawals.setPayTime(null);
+        cmUserBalanceWithdrawalsDao.update(cmUserBalanceWithdrawals);
+    }
 }
 }

+ 90 - 38
src/main/java/com/caimei/modules/balance/web/CmUserBalanceWithdrawalsController.java

@@ -2,10 +2,6 @@ package com.caimei.modules.balance.web;
 
 
 import com.caimei.modules.balance.entity.CmUserBalanceWithdrawals;
 import com.caimei.modules.balance.entity.CmUserBalanceWithdrawals;
 import com.caimei.modules.balance.service.CmUserBalanceWithdrawalsService;
 import com.caimei.modules.balance.service.CmUserBalanceWithdrawalsService;
-import com.caimei.modules.user.dao.CmUserDao;
-import com.caimei.modules.user.entity.CmUser;
-import com.caimei.modules.user.entity.CmUserBalanceRecord;
-import com.caimei.modules.user.service.CmUserBalanceRecordService;
 import com.thinkgem.jeesite.common.config.Global;
 import com.thinkgem.jeesite.common.config.Global;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.utils.StringUtils;
 import com.thinkgem.jeesite.common.utils.StringUtils;
@@ -19,10 +15,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 
-import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
-import java.util.Date;
+import java.text.SimpleDateFormat;
 
 
 /**
 /**
  * 会所余额提现Controller
  * 会所余额提现Controller
@@ -36,10 +31,6 @@ public class CmUserBalanceWithdrawalsController extends BaseController {
 
 
     @Autowired
     @Autowired
     private CmUserBalanceWithdrawalsService cmUserBalanceWithdrawalsService;
     private CmUserBalanceWithdrawalsService cmUserBalanceWithdrawalsService;
-    @Autowired
-    private CmUserBalanceRecordService cmUserBalanceRecordService;
-    @Resource
-    private CmUserDao cmUserDao;
 
 
     @ModelAttribute
     @ModelAttribute
     public CmUserBalanceWithdrawals get(@RequestParam(required = false) String id) {
     public CmUserBalanceWithdrawals get(@RequestParam(required = false) String id) {
@@ -68,46 +59,107 @@ public class CmUserBalanceWithdrawalsController extends BaseController {
         return "modules/balance/cmUserBalanceWithdrawalsForm";
         return "modules/balance/cmUserBalanceWithdrawalsForm";
     }
     }
 
 
-    @RequiresPermissions("balance:cmUserBalanceWithdrawals:edit")
+    /**
+     * 申请提现
+     */
+    @RequiresPermissions("balance:cmUserBalanceWithdrawals:withdrawals")
     @RequestMapping(value = "save")
     @RequestMapping(value = "save")
     public String save(CmUserBalanceWithdrawals cmUserBalanceWithdrawals, Model model, RedirectAttributes redirectAttributes) {
     public String save(CmUserBalanceWithdrawals cmUserBalanceWithdrawals, Model model, RedirectAttributes redirectAttributes) {
         if (!beanValidator(model, cmUserBalanceWithdrawals)) {
         if (!beanValidator(model, cmUserBalanceWithdrawals)) {
             return form(cmUserBalanceWithdrawals, model);
             return form(cmUserBalanceWithdrawals, model);
         }
         }
-        Date date = new Date();
-        Integer userID = cmUserBalanceWithdrawals.getUserID().intValue();
-        cmUserBalanceWithdrawals.setAddDate(date);
         cmUserBalanceWithdrawalsService.save(cmUserBalanceWithdrawals);//保存提现记录
         cmUserBalanceWithdrawalsService.save(cmUserBalanceWithdrawals);//保存提现记录
-        //添加余额收支记录
-        CmUserBalanceRecord cmUserBalanceRecord = new CmUserBalanceRecord();
-        cmUserBalanceRecord.setUserId(userID);
-        cmUserBalanceRecord.setType("2");
-        cmUserBalanceRecord.setBalanceType("5");
-        cmUserBalanceRecord.setAddDate(date);
-        cmUserBalanceRecord.setAmount(cmUserBalanceWithdrawals.getWithdrawalsFee());
-        cmUserBalanceRecord.setWithdrawalsId(Integer.parseInt(cmUserBalanceWithdrawals.getId()));//提现信息ID
-        cmUserBalanceRecord.setDelFlag("0");
-        cmUserBalanceRecordService.insertUserBalanceRecord(cmUserBalanceRecord);
-
-        //更新用户余额总金额
-        CmUser cmUser = cmUserDao.get(String.valueOf(userID));
-        String amount = cmUserBalanceWithdrawals.getWithdrawalsFee();//提现金额
-        double amountDouble = Double.parseDouble(amount);
-        cmUser.setUserID(userID);
-        cmUser.setAbleUserMoney(cmUser.getAbleUserMoney() - amountDouble);
-        cmUser.setUserMoney(cmUser.getUserMoney() - amountDouble);
-        cmUserDao.updateMoney(cmUser);
-
-        addMessage(redirectAttributes, "提现成功");
-        return "redirect:" + Global.getAdminPath() + "/user/cmUserBalanceRecord/userBalanceRecord?userId=" + userID;
+        addMessage(redirectAttributes, "提交申请成功");
+        return "redirect:" + Global.getAdminPath() + "/balance/cmUserBalanceWithdrawals";
     }
     }
 
 
+    /**
+     * 取消提现
+     */
     @RequiresPermissions("balance:cmUserBalanceWithdrawals:delete")
     @RequiresPermissions("balance:cmUserBalanceWithdrawals:delete")
     @RequestMapping(value = "delete")
     @RequestMapping(value = "delete")
     public String delete(CmUserBalanceWithdrawals cmUserBalanceWithdrawals, RedirectAttributes redirectAttributes) {
     public String delete(CmUserBalanceWithdrawals cmUserBalanceWithdrawals, RedirectAttributes redirectAttributes) {
         cmUserBalanceWithdrawalsService.delete(cmUserBalanceWithdrawals);
         cmUserBalanceWithdrawalsService.delete(cmUserBalanceWithdrawals);
-        addMessage(redirectAttributes, "删除成功");
-        return "redirect:" + Global.getAdminPath() + "/user/cmUserBalanceWithdrawals/";
+        addMessage(redirectAttributes, "取消成功");
+        return "redirect:" + Global.getAdminPath() + "/balance/cmUserBalanceWithdrawals/";
+    }
+
+    /**
+     * 查看详情
+     */
+    @RequiresPermissions("balance:cmUserBalanceWithdrawals:view")
+    @RequestMapping("viewDetails")
+    public String viewDetails(CmUserBalanceWithdrawals cmUserBalanceWithdrawals, Model model) {
+        model.addAttribute("balanceWithdrawals", cmUserBalanceWithdrawals);
+        return "modules/balance/userBalanceWithdrawalsDetails";
+    }
+
+    /**
+     * 去提现审核页面
+     */
+    @RequiresPermissions("balance:cmUserBalanceWithdrawals:withdrawalReview")
+    @RequestMapping("withdrawalReview")
+    public String withdrawalReview(CmUserBalanceWithdrawals cmUserBalanceWithdrawals, Model model) {
+        model.addAttribute("balanceWithdrawals", cmUserBalanceWithdrawals);
+        return "modules/balance/userBalanceWithdrawalsReview";
+    }
+
+    /**
+     * 提现审核
+     */
+    @RequiresPermissions("balance:cmUserBalanceWithdrawals:withdrawalReview")
+    @RequestMapping("withdrawalReviewData")
+    public String withdrawalReviewData(CmUserBalanceWithdrawals cmUserBalanceWithdrawals, RedirectAttributes redirectAttributes) {
+        if (!"0".equals(cmUserBalanceWithdrawals.getStatus())) {
+            addMessage(redirectAttributes, "请重新刷新页面");
+            return "redirect:" + Global.getAdminPath() + "/balance/cmUserBalanceWithdrawals";
+        }
+        cmUserBalanceWithdrawalsService.withdrawalReviewData(cmUserBalanceWithdrawals);
+        addMessage(redirectAttributes, "审核成功");
+        return "redirect:" + Global.getAdminPath() + "/balance/cmUserBalanceWithdrawals/viewDetails?id=" + cmUserBalanceWithdrawals.getId();
+    }
+
+    /**
+     * 去编辑页面
+     */
+    @RequiresPermissions("balance:cmUserBalanceWithdrawals:edit")
+    @RequestMapping("withdrawalEdit")
+    public String withdrawalEdit(CmUserBalanceWithdrawals cmUserBalanceWithdrawals, Model model) {
+        cmUserBalanceWithdrawals.setStartTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cmUserBalanceWithdrawals.getPayTime()));
+        model.addAttribute("balanceWithdrawals", cmUserBalanceWithdrawals);
+        return "modules/balance/userBalanceWithdrawalsEdit";
+    }
+
+    /**
+     * 编辑保存
+     */
+    @RequiresPermissions("balance:cmUserBalanceWithdrawals:edit")
+    @RequestMapping("withdrawalEditSave")
+    public String withdrawalEditSave(CmUserBalanceWithdrawals cmUserBalanceWithdrawals, RedirectAttributes redirectAttributes) {
+        cmUserBalanceWithdrawalsService.withdrawalEditSave(cmUserBalanceWithdrawals);
+        addMessage(redirectAttributes, "修改成功");
+        return "redirect:" + Global.getAdminPath() + "/balance/cmUserBalanceWithdrawals";
+    }
+
+    /**
+     * 打印
+     */
+    @RequiresPermissions("balance:cmUserBalanceWithdrawals:printDetail")
+    @RequestMapping("printDetail")
+    public String printDetail(CmUserBalanceWithdrawals cmUserBalanceWithdrawals, Model model) {
+        model.addAttribute("balanceWithdrawals", cmUserBalanceWithdrawals);
+        return "modules/balance/userBalanceWithdrawalsDetails";
+    }
+
+    /**
+     * 撤销重来
+     */
+    @RequiresPermissions("balance:cmUserBalanceWithdrawals:rollBackApply")
+    @RequestMapping("rollBackApply")
+    public String rollBackApply(CmUserBalanceWithdrawals cmUserBalanceWithdrawals, RedirectAttributes redirectAttributes) {
+        cmUserBalanceWithdrawalsService.rollBackApply(cmUserBalanceWithdrawals);
+        addMessage(redirectAttributes, "撤销成功");
+        return "redirect:" + Global.getAdminPath() + "/balance/cmUserBalanceWithdrawals";
     }
     }
 
 
 }
 }

+ 2 - 0
src/main/java/com/caimei/modules/user/dao/CmUserBalanceRecordDao.java

@@ -30,4 +30,6 @@ public interface CmUserBalanceRecordDao extends CrudDao<CmUserBalanceRecord> {
     int updateByID(CmUserBalanceRecord cmUserBalanceRecord);
     int updateByID(CmUserBalanceRecord cmUserBalanceRecord);
 
 
     CmUserBalanceRecord findReturnedBalance(String returnedId);
     CmUserBalanceRecord findReturnedBalance(String returnedId);
+
+    void updateByWithdrawalsId(String withdrawalsId);
 }
 }

+ 3 - 3
src/main/java/com/caimei/modules/user/web/CmUserBalanceRecordController.java

@@ -181,7 +181,7 @@ public class CmUserBalanceRecordController extends BaseController {
         CmUser cmUser = cmNormalUserService.get(String.valueOf(cmuser.getUserID()));
         CmUser cmUser = cmNormalUserService.get(String.valueOf(cmuser.getUserID()));
         model.addAttribute("cmUser", cmUser);
         model.addAttribute("cmUser", cmUser);
         model.addAttribute("cmUserBalanceWithdrawals", new CmUserBalanceWithdrawals());
         model.addAttribute("cmUserBalanceWithdrawals", new CmUserBalanceWithdrawals());
-        return "modules/user/cmUserBalanceWithdrawalsForm";
+        return "modules/balance/cmUserBalanceWithdrawalsForm";
     }
     }
 
 
     @RequestMapping(value = "toWithdrawals")
     @RequestMapping(value = "toWithdrawals")
@@ -193,7 +193,7 @@ public class CmUserBalanceRecordController extends BaseController {
         return "modules/user/toCmWithdrawalsForm";
         return "modules/user/toCmWithdrawalsForm";
     }
     }
 
 
-    @RequestMapping(value = "cancelWithdrawals")
+    /*@RequestMapping(value = "cancelWithdrawals")
     public String cancelWithdrawals(String id, HttpServletRequest request, HttpServletResponse response, Model model) {
     public String cancelWithdrawals(String id, HttpServletRequest request, HttpServletResponse response, Model model) {
         CmUserBalanceRecord cmUserBalanceRecord = cmUserBalanceRecordService.get(id);
         CmUserBalanceRecord cmUserBalanceRecord = cmUserBalanceRecordService.get(id);
         //撤销提现记录
         //撤销提现记录
@@ -211,7 +211,7 @@ public class CmUserBalanceRecordController extends BaseController {
         Integer withdrawalsId = cmUserBalanceRecord.getWithdrawalsId();
         Integer withdrawalsId = cmUserBalanceRecord.getWithdrawalsId();
         cmUserBalanceWithdrawalsService.deleteById(withdrawalsId);
         cmUserBalanceWithdrawalsService.deleteById(withdrawalsId);
         return "redirect:" + Global.getAdminPath() + "/user/cmUserBalanceRecord/userBalanceRecord?userId=" + userId;
         return "redirect:" + Global.getAdminPath() + "/user/cmUserBalanceRecord/userBalanceRecord?userId=" + userId;
-    }
+    }*/
 
 
     @RequestMapping(value = "cancelRecharg")
     @RequestMapping(value = "cancelRecharg")
     public String cancelRecharg(String id, HttpServletRequest request, HttpServletResponse response, Model model) {
     public String cancelRecharg(String id, HttpServletRequest request, HttpServletResponse response, Model model) {

+ 24 - 33
src/main/resources/mappings/modules/balance/CmUserBalanceWithdrawalsMapper.xml

@@ -41,6 +41,7 @@
 		FROM cm_user_balance_withdrawals a
 		FROM cm_user_balance_withdrawals a
 		<include refid="cmUserBalanceWithdrawalsJoins"/>
 		<include refid="cmUserBalanceWithdrawalsJoins"/>
 		<where>
 		<where>
+			a.delFlag = '0'
 			<if test="id != null and id != ''">
 			<if test="id != null and id != ''">
 				AND a.id = #{id}
 				AND a.id = #{id}
 			</if>
 			</if>
@@ -53,7 +54,7 @@
 			<if test="endTime != null and endTime != ''">
 			<if test="endTime != null and endTime != ''">
 				AND a.addDate <![CDATA[  <=  ]]> #{endTime}
 				AND a.addDate <![CDATA[  <=  ]]> #{endTime}
 			</if>
 			</if>
-			<if test="status != null">
+			<if test="status != null and status != ''">
 				AND a.status = #{status}
 				AND a.status = #{status}
 			</if>
 			</if>
 		</where>
 		</where>
@@ -85,31 +86,21 @@
 	</select>
 	</select>
 	
 	
 	<insert id="insert" parameterType="CmUserBalanceWithdrawals"  keyProperty="id" useGeneratedKeys="true">
 	<insert id="insert" parameterType="CmUserBalanceWithdrawals"  keyProperty="id" useGeneratedKeys="true">
-		INSERT INTO cm_user_balance_withdrawals(
-			id,
-			userID,
-			withdrawalsFee,
-			bankAccountName,
-			bankAccountNo,
-			openBank,
-			bankAccountType,
-			payType,
-			addDate,
-			remark,
-			delFlag
-		) VALUES (
-			#{id},
-			#{userID},
-			#{withdrawalsFee},
-			#{bankAccountName},
-			#{bankAccountNo},
-			#{openBank},
-			#{bankAccountType},
-			#{payType},
-			#{addDate},
-			#{remark},
-			#{delFlag}
+		INSERT INTO `cm_user_balance_withdrawals` (
+		  `userID`, `withdrawalsFee`, `bankAccountName`,
+		  `bankAccountNo`, `openBank`, `bankAccountType`,
+		  `payType`, `applicant`, `addDate`,
+		  `reviewer`, `reviewTime`, `payTime`,
+		  `status`, `reason`, `remark`, `delFlag`
 		)
 		)
+		VALUES
+		  (
+			#{userID}, #{withdrawalsFee}, #{bankAccountName},
+			#{bankAccountNo}, #{openBank}, #{bankAccountType},
+			#{payType}, #{applicant}, #{addDate},
+			#{reviewer}, #{reviewTime}, #{payTime},
+			#{status}, #{reason}, #{remark}, #{delFlag}
+		  )
 	</insert>
 	</insert>
 	
 	
 	<update id="update">
 	<update id="update">
@@ -121,8 +112,14 @@
 			openBank = #{openBank},
 			openBank = #{openBank},
 			bankAccountType = #{bankAccountType},
 			bankAccountType = #{bankAccountType},
 			payType = #{payType},
 			payType = #{payType},
-			addDate = #{addDate},
-			remark = #{remark},
+		  	applicant = #{applicant},
+		  	addDate = #{addDate},
+		  	reviewer = #{reviewer},
+		  	reviewTime = #{reviewTime},
+		  	payTime = #{payTime},
+		  	status = #{status},
+		  	reason = #{reason},
+		  	remark = #{remark},
 			delFlag = #{delFlag}
 			delFlag = #{delFlag}
 		WHERE id = #{id}
 		WHERE id = #{id}
 	</update>
 	</update>
@@ -132,10 +129,4 @@
 		delFlag = 1
 		delFlag = 1
 		WHERE id = #{id}
 		WHERE id = #{id}
 	</update>
 	</update>
-	
-	<delete id="delete">
-		DELETE FROM cm_user_balance_withdrawals
-		WHERE id = #{id}
-	</delete>
-	
 </mapper>
 </mapper>

+ 4 - 0
src/main/resources/mappings/modules/user/CmUserBalanceRecordMapper.xml

@@ -188,4 +188,8 @@
 		  1
 		  1
 	</select>
 	</select>
 
 
+	<update id="updateByWithdrawalsId">
+		UPDATE cm_user_balance_record SET delFlag = 1 WHERE withdrawalsId = #{withdrawalsId}
+	</update>
+
 </mapper>
 </mapper>

+ 8 - 20
src/main/webapp/WEB-INF/views/modules/balance/cmUserBalanceWithdrawalsForm.jsp

@@ -45,10 +45,11 @@
 </head>
 </head>
 <body>
 <body>
 	<ul class="nav nav-tabs">
 	<ul class="nav nav-tabs">
-		<li><a href="${ctx}/user/cmUserBalanceRecord/userBalanceList">会所余额</a></li>
-		<li class="active"><a href="${ctx}/user/cmUserBalanceRecord/userWithdrawals?userID=${cmUser.userID}">提现管理</a></li>
+		<li><a href="${ctx}/balance/cmUserBalanceWithdrawals/">余额提现列表</a></li>
+		<li><a href="${ctx}/user/cmUserBalanceRecord/userBalanceList">机构余额</a></li>
+		<li class="active"><a href="${ctx}/user/cmUserBalanceRecord/userWithdrawals?userID=${cmUser.userID}">申请提现</a></li>
 	</ul><br/>
 	</ul><br/>
-	<form:form id="inputForm" modelAttribute="cmUserBalanceWithdrawals" action="${ctx}/user/cmUserBalanceWithdrawals/save" method="post" class="form-horizontal">
+	<form:form id="inputForm" modelAttribute="cmUserBalanceWithdrawals" action="${ctx}/balance/cmUserBalanceWithdrawals/save" method="post" class="form-horizontal">
 		<form:hidden path="userID" value="${cmUser.userID}"/>
 		<form:hidden path="userID" value="${cmUser.userID}"/>
 		<input type="hidden" id="ableUserMoney" value="${cmUser.ableUserMoney}"/>
 		<input type="hidden" id="ableUserMoney" value="${cmUser.ableUserMoney}"/>
 		<sys:message content="${message}"/>
 		<sys:message content="${message}"/>
@@ -69,7 +70,7 @@
 		<div class="control-group">
 		<div class="control-group">
 			<label class="control-label"><font color="red">*</font><b>提现金额:</b></label>
 			<label class="control-label"><font color="red">*</font><b>提现金额:</b></label>
 			<div class="controls">
 			<div class="controls">
-				<form:input path="withdrawalsFee" htmlEscape="false" class="input-xlarge required" onchange="num(this)" placeholder="请输入此次提现金额"/>
+				<input type="number" name="withdrawalsFee" required placeholder="请输入此次提现金额" max="${empty cmUser.ableUserMoney ? 0:cmUser.ableUserMoney}">
 			</div>
 			</div>
 		</div>
 		</div>
 		<div class="control-group">
 		<div class="control-group">
@@ -92,26 +93,13 @@
 			</div>
 			</div>
 		</div>
 		</div>
 		<div class="control-group">
 		<div class="control-group">
-			<label class="control-label"><font color="red">*</font><b>采美付款银行:</b></label>
+			<label class="control-label"><font color="red">*</font><b>备注:</b></label>
 			<div class="controls">
 			<div class="controls">
-				<form:select path="payType"  class="input-medium required">
-					<form:option value="" label="请选择"/>
-					<form:option value="1" label="建设银行7297"/>
-					<form:option value="2" label="中信银行0897"/>
-					<form:option value="3" label="中信银行7172"/>
-					<form:option value="4" label="广发银行0115"/>
-					<form:option value="5" label="广发银行5461"/>
-				</form:select>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label"><b>备注:</b></label>
-			<div class="controls">
-				<form:textarea path="remark" maxlength="200" class="input-xlarge "  rows="4"></form:textarea>
+				<form:textarea path="remark" maxlength="200" placeholder="必填,不能超过200字" class="input-xlarge required"  rows="4"></form:textarea>
 			</div>
 			</div>
 		</div>
 		</div>
 		<div class="form-actions">
 		<div class="form-actions">
-			<shiro:hasPermission name="user:cmUserBalanceWithdrawals:edit"><input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;</shiro:hasPermission>
+			<shiro:hasPermission name="balance:cmUserBalanceWithdrawals:withdrawals"><input id="btnSubmit" class="btn btn-primary" type="submit" value="申 请"/>&nbsp;</shiro:hasPermission>
 			<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
 			<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
 		</div>
 		</div>
 	</form:form>
 	</form:form>

+ 36 - 12
src/main/webapp/WEB-INF/views/modules/balance/cmUserBalanceWithdrawalsList.jsp

@@ -25,7 +25,7 @@
 		<li class="active"><a href="${ctx}/balance/cmUserBalanceWithdrawals/">余额提现列表</a></li>
 		<li class="active"><a href="${ctx}/balance/cmUserBalanceWithdrawals/">余额提现列表</a></li>
 		<li><a href="${ctx}/user/cmUserBalanceRecord/userBalanceList">机构余额</a></li>
 		<li><a href="${ctx}/user/cmUserBalanceRecord/userBalanceList">机构余额</a></li>
 	</ul>
 	</ul>
-	<form:form id="searchForm" modelAttribute="cmUserBalanceWithdrawals" action="${ctx}/user/cmUserBalanceWithdrawals/" method="post" class="breadcrumb form-search">
+	<form:form id="searchForm" modelAttribute="cmUserBalanceWithdrawals" action="${ctx}/balance/cmUserBalanceWithdrawals/" method="post" class="breadcrumb form-search">
 		<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
 		<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
 		<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
 		<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
 		<div class="ul-form">
 		<div class="ul-form">
@@ -41,7 +41,7 @@
 				   value="<fmt:formatDate value="${testData.endInDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"
 				   value="<fmt:formatDate value="${testData.endInDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"
 				   onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/><br><br>
 				   onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/><br><br>
 			<label>审核状态:</label>
 			<label>审核状态:</label>
-			<form:select path="status" class="input-medium required" style="width:80px">
+			<form:select path="status" class="input-medium required" style="width:160px">
 				<form:option value="" label="全部"/>
 				<form:option value="" label="全部"/>
 				<form:option value="0" label="待审核"/>
 				<form:option value="0" label="待审核"/>
 				<form:option value="1" label="审核通过"/>
 				<form:option value="1" label="审核通过"/>
@@ -62,7 +62,7 @@
 				<th>申请时间</th>
 				<th>申请时间</th>
 				<th>审核人</th>
 				<th>审核人</th>
 				<th>审核时间</th>
 				<th>审核时间</th>
-				<th>审核状态 0待审核, 1审核通过 2审核不通过</th>
+				<th>审核状态</th>
 				<th>操作</th>
 				<th>操作</th>
 			</tr>
 			</tr>
 		</thead>
 		</thead>
@@ -72,23 +72,47 @@
 				<td>${cmUserBalanceWithdrawals.id}</td>
 				<td>${cmUserBalanceWithdrawals.id}</td>
 				<td>${cmUserBalanceWithdrawals.clubName}</td>
 				<td>${cmUserBalanceWithdrawals.clubName}</td>
 				<td>${cmUserBalanceWithdrawals.withdrawalsFee}</td>
 				<td>${cmUserBalanceWithdrawals.withdrawalsFee}</td>
-				<td></td>
+				<td>${cmUserBalanceWithdrawals.applicantName}</td>
 				<td>
 				<td>
 					<fmt:formatDate value="${cmUserBalanceWithdrawals.addDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
 					<fmt:formatDate value="${cmUserBalanceWithdrawals.addDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
 				</td>
 				</td>
-				<td></td>
+				<td>${cmUserBalanceWithdrawals.reviewerName}</td>
 				<td>
 				<td>
 					<fmt:formatDate value="${cmUserBalanceWithdrawals.reviewTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
 					<fmt:formatDate value="${cmUserBalanceWithdrawals.reviewTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
 				</td>
 				</td>
 				<td>
 				<td>
-					${cmUserBalanceWithdrawals.status}
+					<c:if test="${cmUserBalanceWithdrawals.status eq 0}">
+						<font color="#DB7B3B">待审核</font>
+					</c:if>
+					<c:if test="${cmUserBalanceWithdrawals.status eq 1}">
+						<font color="green">审核通过</font>
+					</c:if>
+					<c:if test="${cmUserBalanceWithdrawals.status eq 2}">
+						<font color="red">审核不通过</font>
+					</c:if>
+				</td>
+				<td>
+					<a href="${ctx}/balance/cmUserBalanceWithdrawals/viewDetails?id=${cmUserBalanceWithdrawals.id}">查看详情</a><br>
+					<c:if test="${cmUserBalanceWithdrawals.status eq 0}">
+						<shiro:hasPermission name="balance:cmUserBalanceWithdrawals:delete">
+							<a href="${ctx}/balance/cmUserBalanceWithdrawals/delete?id=${cmUserBalanceWithdrawals.id}" onclick="return confirmx('确定要取消本次提现申请吗?', this.href)">取消提现</a><br>
+						</shiro:hasPermission>
+						<shiro:hasPermission name="balance:cmUserBalanceWithdrawals:withdrawalReview">
+							<a href="${ctx}/balance/cmUserBalanceWithdrawals/withdrawalReview?id=${cmUserBalanceWithdrawals.id}">审核</a><br>
+						</shiro:hasPermission>
+					</c:if>
+					<c:if test="${cmUserBalanceWithdrawals.status eq 1}">
+						<shiro:hasPermission name="balance:cmUserBalanceWithdrawals:edit">
+							<a href="${ctx}/balance/cmUserBalanceWithdrawals/withdrawalEdit?id=${cmUserBalanceWithdrawals.id}">编辑</a><br>
+						</shiro:hasPermission>
+						<shiro:hasPermission name="balance:cmUserBalanceWithdrawals:rollBackApply">
+							<a href="${ctx}/balance/cmUserBalanceWithdrawals/rollBackApply?id=${cmUserBalanceWithdrawals.id}" onclick="return confirmx('确定撤销本次审核结果,重新再审核一次吗?', this.href)">撤销重来</a><br>
+						</shiro:hasPermission>
+						<shiro:hasPermission name="balance:cmUserBalanceWithdrawals:printDetail">
+							<a href="${ctx}/balance/cmUserBalanceWithdrawals/printDetail?id=${cmUserBalanceWithdrawals.id}">打印</a><br>
+						</shiro:hasPermission>
+					</c:if>
 				</td>
 				</td>
-				<shiro:hasPermission name="user:cmUserBalanceWithdrawals:edit"><td>
-    				<a href="${ctx}/user/cmUserBalanceWithdrawals/form?id=${cmUserBalanceWithdrawals.id}">编辑</a>
-    				<shiro:hasPermission name="user:cmUserBalanceWithdrawals:delete">
-					<a href="${ctx}/user/cmUserBalanceWithdrawals/delete?id=${cmUserBalanceWithdrawals.id}" onclick="return confirmx('确认要删除该审核列表吗?', this.href)">删除</a>
-					</shiro:hasPermission>
-				</td></shiro:hasPermission>
 			</tr>
 			</tr>
 		</c:forEach>
 		</c:forEach>
 		</tbody>
 		</tbody>

+ 156 - 0
src/main/webapp/WEB-INF/views/modules/balance/userBalanceWithdrawalsDetails.jsp

@@ -0,0 +1,156 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
+<html>
+<head>
+    <title>提现审核管理</title>
+    <meta name="decorator" content="default"/>
+    <style>
+        a[href]:after {
+            content: none !important;
+        }
+        .table th{text-align:center}
+        .table td{text-align:center}
+        .payment-form h4{width:96%;margin-left:2%;padding-bottom:20px;text-align:center;border-bottom:1px solid #eee}
+        .required{color:red}
+        .payment-form label{width:105px;text-align:right;vertical-align:middle;font-weight:600}
+        .payment-form-top{padding:10px 0}
+        .payment-form-top>div,.payment-form-bottom>div{width:94%;margin-left:3%;height:50px;line-height:50px;border-bottom:1px solid #eee;white-space:nowrap}
+        .payment-form-top input{vertical-align:baseline}
+        .payment-form-top>div:last-child span{margin-left:15px}
+        .payment-form-top>div:last-child span:nth-of-type(1){margin-left:0}
+        .pay-table th{background:#f9f9f9}
+        .pay-table tr:first-child th{background:#eee !important}
+        .pay-table td{background:#fff !important}
+        .check-btn{width:96%;margin-left:2%;text-align:center;height:60px;line-height:60px;margin-top:30px}
+        .check-btn button{width:100px;height:35px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:none;border:1px solid #ddd}
+        .payment-form-bottom label{width:140px}
+        .process-details span{width:140px;margin-left:50px;font-weight:600}
+        .process-details div{display:inline-block}
+        .payment-btn button{width:100px;height:35px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:none;border:1px solid #ddd}
+        .apply-btn{background:#3daae9;color:#fff}
+        .tips-popup-content div{width:100%;text-align:center}
+        .tips-popup-content p{text-align:center;padding:80px;font-size:20px}
+        .tips-popup-content h4{padding-left:10px;height:40px;line-height:40px;border-bottom:1px solid #eee;margin-bottom:20px}
+        .payment-form-bottom .wipeImgs{height:auto;padding:8px 0;}
+        .wipeImgs img{width:120px;height:90px;background-color:#eee;margin-right:15px;}
+    </style>
+    <style media="print">
+        .styleWidth{width:6%;word-break:break-all}
+        .styleWidth{}
+        .styleWidth3{width:10%;word-break:break-all}
+        .table{margin-left:0;margin-bottom:20px;padding-bottom:2px;border-bottom:1px solid #ddd;box-sizing:border-box}
+        .export{display:none}
+    </style>
+</head>
+<body>
+<ul class="nav nav-tabs">
+    <li><a href="${ctx}/balance/cmUserBalanceWithdrawals/">余额提现列表</a></li>
+    <li class="active"><a href="${ctx}/balance/cmUserBalanceWithdrawals/viewDetails?id=${balanceWithdrawals.id}">提现单详情</a></li>
+</ul><br/>
+<div class="payment-form">
+    <h4>提现单</h4>
+    <div class="payment-form-top">
+        <div>
+            <label>机构名称:</label>
+            <span>${balanceWithdrawals.clubName}</span>
+        </div>
+        <div>
+            <label>提现账号:</label>
+            <span>户名:${balanceWithdrawals.bankAccountName}</span>&nbsp;&nbsp;
+            <span>账号:${balanceWithdrawals.bankAccountNo}</span>&nbsp;&nbsp;
+            <span>开户行:${balanceWithdrawals.openBank}</span>&nbsp;&nbsp;
+            <span>账户类型:
+                    <c:if test="${balanceWithdrawals.bankAccountType == '1'}">公帐</c:if>
+                    <c:if test="${balanceWithdrawals.bankAccountType == '2'}">私帐</c:if>
+            </span>
+        </div>
+        <div>
+            <label>提现金额:</label>
+            <span>${balanceWithdrawals.withdrawalsFee}</span>
+        </div>
+        <div>
+            <label>备注:</label>
+            <span>${balanceWithdrawals.remark}</span>
+        </div>
+        <div>
+            <label>申请人:</label>
+            <span>${balanceWithdrawals.applicantName}</span>
+        </div>
+        <div>
+            <label>申请时间:</label>
+            <span><fmt:formatDate value="${balanceWithdrawals.addDate}" pattern="yyyy-MM-dd HH:mm:ss"/> </span>
+        </div>
+        <div>
+            <label>审核状态:</label>
+            <span>
+                <c:if test="${balanceWithdrawals.status == '0'}">
+						<font color="red">
+							<strong>待审核</strong>
+						</font>
+                </c:if>
+                <c:if test="${balanceWithdrawals.status == '1'}">
+                    审核通过
+                </c:if>
+                <c:if test="${balanceWithdrawals.status == '2'}">
+                    审核不通过
+                </c:if>
+            </span>
+        </div>
+        <c:if test="${balanceWithdrawals.status == '2'}">
+            <div>
+                <label>原因:</label>
+                <span class="required">${balanceWithdrawals.reason}</span>
+            </div>
+        </c:if>
+        <c:if test="${balanceWithdrawals.status == '1'}">
+            <div>
+                <label>审核时间:</label>
+                <span><fmt:formatDate value="${balanceWithdrawals.reviewTime}" pattern="yyyy-MM-dd HH:mm:ss"/></span>
+            </div>
+            <div>
+            <label>付款银行:</label>
+            <span>
+                <c:if test="${balanceWithdrawals.payType eq 1}">
+                    建设银行7297
+                </c:if>
+                <c:if test="${balanceWithdrawals.payType eq 2}">
+                    中信银行0897
+                </c:if>
+                <c:if test="${balanceWithdrawals.payType eq 3}">
+                    中信银行7172
+                </c:if>
+                <c:if test="${balanceWithdrawals.payType eq 4}">
+                    广发银行0115
+                </c:if>
+                <c:if test="${balanceWithdrawals.payType eq 5}">
+                    广发银行5461
+                </c:if>
+            </span>
+            </div>
+            <div>
+                <label>付款时间:</label>
+                <span><fmt:formatDate value="${balanceWithdrawals.payTime}" pattern="yyyy-MM-dd HH:mm:ss"/></span>
+            </div>
+        </c:if>
+    </div>
+    <c:if test="${balanceWithdrawals.status == '1'}">
+        <shiro:hasPermission name="balance:cmUserBalanceWithdrawals:printDetail">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>财务签名:</span>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>审批人签名:</span>
+        <div class="check-btn">
+            <button class="export apply-btn btn btn-primary">打印</button>
+        </div>
+        </shiro:hasPermission>
+    </c:if>
+</div>
+<script>
+    (function(){
+        $('.export').on('click',function() {
+            window.print();
+        })
+    })()
+</script>
+</body>
+</html>

+ 144 - 0
src/main/webapp/WEB-INF/views/modules/balance/userBalanceWithdrawalsEdit.jsp

@@ -0,0 +1,144 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
+<html>
+<head>
+    <title>提现审核管理</title>
+    <meta name="decorator" content="default"/>
+    <style>
+        a[href]:after {
+            content: none !important;
+        }
+        .table th{text-align:center}
+        .table td{text-align:center}
+        .payment-form h4{width:96%;margin-left:2%;padding-bottom:20px;text-align:center;border-bottom:1px solid #eee}
+        .required{color:red}
+        .payment-form label{width:105px;text-align:right;vertical-align:middle;font-weight:600}
+        .payment-form-top{padding:10px 0}
+        .payment-form-top>div,.payment-form-bottom>div{width:94%;margin-left:3%;height:50px;line-height:50px;border-bottom:1px solid #eee;white-space:nowrap}
+        .payment-form-top input{vertical-align:baseline}
+        .payment-form-top>div:last-child span{margin-left:15px}
+        .payment-form-top>div:last-child span:nth-of-type(1){margin-left:0}
+        .pay-table th{background:#f9f9f9}
+        .pay-table tr:first-child th{background:#eee !important}
+        .pay-table td{background:#fff !important}
+        .check-btn{width:96%;margin-left:2%;text-align:center;height:60px;line-height:60px;margin-top:30px}
+        .check-btn button{width:100px;height:35px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:none;border:1px solid #ddd}
+        .payment-form-bottom label{width:140px}
+        .process-details span{width:140px;margin-left:50px;font-weight:600}
+        .process-details div{display:inline-block}
+        .payment-btn button{width:100px;height:35px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:none;border:1px solid #ddd}
+        .apply-btn{background:#3daae9;color:#fff}
+        .tips-popup-content div{width:100%;text-align:center}
+        .tips-popup-content p{text-align:center;padding:80px;font-size:20px}
+        .tips-popup-content h4{padding-left:10px;height:40px;line-height:40px;border-bottom:1px solid #eee;margin-bottom:20px}
+        .payment-form-bottom .wipeImgs{height:auto;padding:8px 0;}
+        .wipeImgs img{width:120px;height:90px;background-color:#eee;margin-right:15px;}
+    </style>
+    <style media="print">
+        .styleWidth{width:6%;word-break:break-all}
+        .styleWidth{}
+        .styleWidth3{width:10%;word-break:break-all}
+        .table{margin-left:0;margin-bottom:20px;padding-bottom:2px;border-bottom:1px solid #ddd;box-sizing:border-box}
+        .export{display:none}
+    </style>
+</head>
+<body>
+<ul class="nav nav-tabs">
+    <li><a href="${ctx}/balance/cmUserBalanceWithdrawals/">余额提现列表</a></li>
+    <li class="active"><a href="${ctx}/balance/cmUserBalanceWithdrawals/withdrawalEdit?id=${balanceWithdrawals.id}">提现单详情</a></li>
+</ul><br/>
+<form:form id="inputForm" modelAttribute="balanceWithdrawals" action="${ctx}/balance/cmUserBalanceWithdrawals/withdrawalEditSave?id=${balanceWithdrawals.id}" method="post" class="form-horizontal">
+<div class="payment-form">
+    <h4>提现单</h4>
+    <div class="payment-form-top">
+        <div>
+            <label>机构名称:</label>
+            <span>${balanceWithdrawals.clubName}</span>
+        </div>
+        <div>
+            <label>提现账号:</label>
+            <span>户名:${balanceWithdrawals.bankAccountName}</span>&nbsp;&nbsp;
+            <span>账号:${balanceWithdrawals.bankAccountNo}</span>&nbsp;&nbsp;
+            <span>开户行:${balanceWithdrawals.openBank}</span>&nbsp;&nbsp;
+            <span>账户类型:
+                    <c:if test="${balanceWithdrawals.bankAccountType == '1'}">公帐</c:if>
+                    <c:if test="${balanceWithdrawals.bankAccountType == '2'}">私帐</c:if>
+            </span>
+        </div>
+        <div>
+            <label>提现金额:</label>
+            <span>${balanceWithdrawals.withdrawalsFee}</span>
+        </div>
+        <div>
+            <label>备注:</label>
+            <span>${balanceWithdrawals.remark}</span>
+        </div>
+        <div>
+            <label>申请人:</label>
+            <span>${balanceWithdrawals.applicantName}</span>
+        </div>
+        <div>
+            <label>申请时间:</label>
+            <span><fmt:formatDate value="${balanceWithdrawals.addDate}" pattern="yyyy-MM-dd HH:mm:ss"/> </span>
+        </div>
+        <div>
+            <label>审核状态:</label>
+            <span>
+                <c:if test="${balanceWithdrawals.status == '0'}">
+						<font color="red">
+							<strong>待审核</strong>
+						</font>
+                </c:if>
+                <c:if test="${balanceWithdrawals.status == '1'}">
+                    审核通过
+                </c:if>
+                <c:if test="${balanceWithdrawals.status == '2'}">
+                    审核不通过
+                </c:if>
+            </span>
+        </div>
+        <c:if test="${balanceWithdrawals.status == '2'}">
+            <div>
+                <label>原因:</label>
+                <span class="required">${balanceWithdrawals.reason}</span>
+            </div>
+        </c:if>
+        <c:if test="${balanceWithdrawals.status == '1'}">
+            <div>
+                <label>审核时间:</label>
+                <span><fmt:formatDate value="${balanceWithdrawals.reviewTime}" pattern="yyyy-MM-dd HH:mm:ss"/></span>
+            </div>
+            <div>
+                <label>付款银行:</label>
+                <span>
+                <form:select path="payType" class="input-medium required">
+                    <form:option value="" label="请选择"/>
+                    <form:option value="1" label="建设银行7297"/>
+                    <form:option value="2" label="中信银行0897"/>
+                    <form:option value="3" label="中信银行7172"/>
+                    <form:option value="4" label="广发银行0115"/>
+                    <form:option value="5" label="广发银行5461"/>
+                </form:select>
+            </span>
+            </div>
+            <div>
+                <label>付款时间:</label>
+                <span><form:input path="payTime" type="text" maxlength="20" class="input-medium Wdate" value="${balanceWithdrawals.startTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/></span>
+            </div>
+        </c:if>
+    </div>
+    <div class="form-actions">
+        <shiro:hasPermission name="order:cmPayShop:edit"><input id="btnSubmit" class="btn btn-primary" type="submit" value="确  认"/>&nbsp;</shiro:hasPermission>
+        <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
+    </div>
+</div>
+</form:form>
+<script>
+    (function(){
+        $('.export').on('click',function() {
+            window.print();
+        })
+    })()
+</script>
+</body>
+</html>

+ 231 - 0
src/main/webapp/WEB-INF/views/modules/balance/userBalanceWithdrawalsReview.jsp

@@ -0,0 +1,231 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
+<html>
+<head>
+    <title>付款单表管理</title>
+    <meta name="decorator" content="default"/>
+    <style>
+        .table th{text-align:center}
+        .table td{text-align:center}
+        .payment-form h4{width:96%;margin-left:2%;padding-bottom:20px;text-align:center;border-bottom:1px solid #eee}
+        .required{color:red}
+        .payment-form label{width:100px;text-align:right;vertical-align:middle;font-weight:600}
+        .payment-form-top{padding:10px 0}
+        .payment-form-top>div,.payment-form-bottom>div{width:94%;margin-left:3%;height:50px;line-height:50px;border-bottom:1px solid #eee;white-space:nowrap}
+        .payment-form-top input{vertical-align:baseline}
+        .payment-form-top>div:last-child span{margin-left:15px}
+        .payment-form-top>div:last-child span:nth-of-type(1){margin-left:0}
+        .pay-table th{background:#f9f9f9}
+        .pay-table tr:first-child th{background:#eee !important}
+        .pay-table td{background:#fff !important}
+        .check-btn{width:96%;margin-left:2%;text-align:center;height:60px;line-height:60px;margin-top:30px}
+        .check-btn button{width:100px;height:35px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:none;border:1px solid #ddd}
+        .payment-form-bottom label{width:140px}
+        .process-details span{width:140px;margin-left:50px;font-weight:600}
+        .process-details div{display:inline-block}
+        .payment-btn button{width:100px;height:35px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:none;border:1px solid #ddd}
+        .tips-popup-content div{width:100%;text-align:center}
+        .tips-popup-content p{text-align:center;padding:80px;font-size:20px}
+        .tips-popup-content h4{padding-left:10px;height:40px;line-height:40px;border-bottom:1px solid #eee;margin-bottom:20px}
+        .check-btn{width:96%;margin-left:2%;text-align:center;height:60px;line-height:60px;margin-top:30px}
+        .check-btn button{width:100px;height:35px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:none;border:1px solid #ddd}
+        .mask{width:100%;height:100%;position:fixed;top:0;background:rgba(0,0,0,0.7);display:none}
+        .tips-popup-content{width:40%;height:auto;padding-bottom:30px;background:#fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
+        .tips-popup-content div{width:100%;text-align:center}
+        .tips-popup-content{width:30%}
+        .tips-popup-content p{text-align:center;padding:80px;font-size:20px}
+        .tips-popup-content h4{padding-left:10px;height:40px;line-height:40px;border-bottom:1px solid #eee;margin-bottom:20px}
+        .tips-cfm-btn,.tips-cancel-btn,.check-blue-btn,.check-grey-btn{width:100px;height:40px;margin:auto;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;background:#3daae9;color:#fff;border:none}
+        .refuse-btn{margin-left:50px}
+        .return-btn,.tips-cancel-btn,.check-grey-btn{background:#fff;color:#555;margin-left:50px}
+        .tips-cancel-btn,.check-grey-btn{border:1px solid #ddd;margin-left:20px;display:none}
+        #close-btn1{top:8px;right:10px;width:18px;position:absolute;cursor:pointer}
+        .tips-popup-reason .tips-popup-content{height:250px}
+        .tips-popup-reason .tips-popup-content div{position:absolute;bottom:15px}
+        .tips-popup-reason .check-grey-btn{display:inline-block}
+        #refuse-reason{width:80%;height:48%;left:8%;position:absolute;resize:none}
+        .tips-popup-reason h5{color:#555;padding-left:8%;margin-bottom:4px;margin-top:-12px}
+        .check-cfm-btn{background:#3daae9;color:#fff}
+    </style>
+    <style media="print">
+        .styleWidth{width:6%;word-break:break-all}
+        .styleWidth{}
+        .styleWidth3{width:10%;word-break:break-all}
+        .table{margin-left:0;margin-bottom:20px;padding-bottom:2px;border-bottom:1px solid #ddd;box-sizing:border-box}
+        .export{display:none}
+    </style>
+</head>
+<body>
+<ul class="nav nav-tabs">
+    <li><a href="${ctx}/balance/cmUserBalanceWithdrawals/">余额提现列表</a></li>
+    <li class="active"><a href="${ctx}/balance/cmUserBalanceWithdrawals/withdrawalReview?id=${balanceWithdrawals.id}">提现审核</a></li>
+</ul><br/>
+<div class="payment-form">
+    <h4>提现单</h4>
+    <div class="payment-form-top">
+        <div>
+            <label>机构名称:</label>
+            <span>${balanceWithdrawals.clubName}</span>
+        </div>
+        <div>
+            <label>提现账号:</label>
+            <span>户名:${balanceWithdrawals.bankAccountName}</span>&nbsp;&nbsp;
+            <span>账号:${balanceWithdrawals.bankAccountNo}</span>&nbsp;&nbsp;
+            <span>开户行:${balanceWithdrawals.openBank}</span>&nbsp;&nbsp;
+            <span>账户类型:
+                    <c:if test="${balanceWithdrawals.bankAccountType == '1'}">公帐</c:if>
+                    <c:if test="${balanceWithdrawals.bankAccountType == '2'}">私帐</c:if>
+            </span>
+        </div>
+        <div>
+            <label>提现金额:</label>
+            <span>${balanceWithdrawals.withdrawalsFee}</span>
+        </div>
+        <div>
+            <label>备注:</label>
+            <span>${balanceWithdrawals.remark}</span>
+        </div>
+        <div>
+            <label>申请人:</label>
+            <span>${balanceWithdrawals.applicantName}</span>
+        </div>
+        <div>
+            <label>申请时间:</label>
+            <span><fmt:formatDate value="${balanceWithdrawals.addDate}" pattern="yyyy-MM-dd HH:mm:ss"/> </span>
+        </div>
+        <div>
+            <label>审核状态:</label>
+            <span>
+                <c:if test="${balanceWithdrawals.status == '0'}">
+						<font color="red">
+							<strong>待审核</strong>
+						</font>
+                </c:if>
+            </span>
+        </div>
+        <div>
+            <label>转账银行:</label><span>
+					<select name="payType">
+						<option value="1">建设银行7297</option>
+						<option value="2">中信银行0897</option>
+						<option value="3">中信银行7172</option>
+						<option value="4">广发银行0115</option>
+						<option value="5">广发银行5461</option>
+					</select>
+				</span>
+        </div>
+        <div>
+            <label>转账时间:</label>
+            <span>${balanceWithdrawals.payTime}</span>
+            <input name="id" value="${balanceWithdrawals.id}" id="id" type="hidden">
+        </div>
+    </div>
+    <div class="check-btn">
+        <button class="check-cfm-btn" type="button">审核通过</button>
+        <button class="refuse-btn" type="button">审核不通过</button>
+        <button class="return-btn" type="button" onclick="history.go(-1)">返回</button>
+    </div>
+    <div class="mask tips-popup-reason">
+        <div class="tips-popup-content">
+            <h4>确认提示</h4>
+            <h5><span class="required">* </span>审核不通过原因:</h5>
+            <textarea id="refuse-reason" cols="30" rows="10" maxlength="200"></textarea>
+            <div>
+                <button class="check-cfm-btn check-blue-btn" type="button">确定</button>
+                <button class="check-grey-btn" type="button">取消</button>
+            </div>
+            <img id="close-btn1" src="/static/images/close-btn.png" alt="close-btn">
+        </div>
+    </div>
+    <div class="mask tips-popup">
+        <div class="tips-popup-content">
+            <h4>信息提示</h4>
+            <p></p>
+            <div>
+                <button class="tips-cfm-btn tips-cfm-directly" type="button">确定</button>
+                <button class="tips-cancel-btn" type="button">取消</button>
+            </div>
+            <img id="close-btn1" src="/static/images/close-btn.png" alt="close-btn">
+        </div>
+    </div>
+</div>
+<script>
+    (function(){
+        var payTableEle = $('.pay-table'),
+            accessFlag = true,
+            unaccessFlag = true,
+            payProductEle = $('.pay-product-item');
+        payTableEle.each(function (i,l) {
+            var productLength = $(this).find('.pay-product-item').length;
+
+        });
+
+        $('.pay-table').each(function(){
+            var thisEle = $(this),
+                totalComissionVal = 0,
+                resVal = '';
+            totalComissionEle = thisEle.find('.payCm'),
+                comissionEle = thisEle.find('.payCm-t'),
+                thirdPartyVal = thisEle.find('.third-party-fee').text().replace(',',''),
+                freightVal = thisEle.find('.freight').text().replace(',','');
+            totalComissionEle.each(function(){
+                totalComissionVal += Number($(this).text().replace(',',''));
+            })
+            resVal = (totalComissionVal - thirdPartyVal - freightVal).toFixed(2);
+            comissionEle.text(resVal);
+        })
+
+        $('.tips-cancel-btn, #close-btn1').on('click',function() {
+            $('.mask').hide();
+        })
+        $('.tips-cfm-directly').on('click',function() {
+            if($('.tips-cfm-btn').hasClass('tips-cfm-directly')) {
+                $('.tips-popup').hide();
+            } else {
+                $('#form').submit();
+            }
+        })
+        $('.refuse-btn').on('click',function() {
+            $('.tips-popup-reason').show();
+        })
+        $('.check-grey-btn').on('click',function() {
+            $('.tips-popup-reason').hide();
+        })
+
+        function showTips(title,text) {
+            $('.tips-popup h4').text(title);
+            $('.tips-popup p').text(text);
+            $('.tips-popup').show();
+        }
+
+
+        function submitForm() {
+            $('.tips-cfm-btn').removeClass('tips-cfm-directly').addClass('submit-now');
+            $('.tips-cancel-btn').hide();
+            showTips('信息提示','审核通过');
+        }
+
+        $('.check-cfm-btn').on('click',function(e) {
+            var payType = $('select[name="payType"]').val(),
+                id = $('#id').val();
+            if($(this).hasClass('check-blue-btn')) {
+                var textareaVal = $('#refuse-reason').val();
+                if(!textareaVal.trim()) {
+                    showTips('信息提示','审核原因不能为空');
+                    return false;
+                }
+                if(unaccessFlag) {
+                    window.location.href = '${ctx}/balance/cmUserBalanceWithdrawals/withdrawalReviewData?id=' + id + '&reason=' + textareaVal;
+                    unaccessFlag = false;
+                }
+            } else {
+                if(accessFlag) {
+                    window.location.href = '${ctx}/balance/cmUserBalanceWithdrawals/withdrawalReviewData?payType=' + payType + '&id=' + id;
+                    accessFlag = false;
+                }
+            }
+        })
+    })()
+</script>
+</body>
+</html>

+ 1 - 1
src/main/webapp/WEB-INF/views/modules/user/cmUserBalanceList.jsp

@@ -123,7 +123,7 @@
 						</shiro:hasPermission>
 						</shiro:hasPermission>
 						<shiro:hasPermission name="user:cmUserBalanceRecord:edit">
 						<shiro:hasPermission name="user:cmUserBalanceRecord:edit">
 							<c:if test="${cmUser.ableUserMoney > 0}">
 							<c:if test="${cmUser.ableUserMoney > 0}">
-								<a href="${ctx}/user/cmUserBalanceRecord/userWithdrawals?userID=${cmUser.userID}" >提现</a>
+								<a href="${ctx}/user/cmUserBalanceRecord/userWithdrawals?userID=${cmUser.userID}" >申请提现</a>
 							</c:if>
 							</c:if>
 						</shiro:hasPermission>
 						</shiro:hasPermission>
 					</td>
 					</td>

+ 2 - 1
src/main/webapp/WEB-INF/views/modules/user/cmUserBalanceRecordList.jsp

@@ -60,6 +60,7 @@
 </head>
 </head>
 <body>
 <body>
 	<ul class="nav nav-tabs">
 	<ul class="nav nav-tabs">
+		<li><a href="${ctx}/balance/cmUserBalanceWithdrawals">余额提现列表</a></li>
 		<li><a href="${ctx}/user/cmUserBalanceRecord/userBalanceList">会所余额</a></li>
 		<li><a href="${ctx}/user/cmUserBalanceRecord/userBalanceList">会所余额</a></li>
 		<li class="active"><a href="${ctx}/user/cmUserBalanceRecord/userBalanceRecord?userId=${userID}">余额详情</a></li>
 		<li class="active"><a href="${ctx}/user/cmUserBalanceRecord/userBalanceRecord?userId=${userID}">余额详情</a></li>
 	</ul>
 	</ul>
@@ -151,7 +152,7 @@
 							</c:if>
 							</c:if>
 							<c:if test="${cmUserBalanceRecord.balanceType eq 5 }">
 							<c:if test="${cmUserBalanceRecord.balanceType eq 5 }">
 								<a href="javascript:void(0);" onclick="toWithdrawals(${cmUserBalanceRecord.withdrawalsId})">提现详情</a>
 								<a href="javascript:void(0);" onclick="toWithdrawals(${cmUserBalanceRecord.withdrawalsId})">提现详情</a>
-								<a href="${ctx}/user/cmUserBalanceRecord/cancelWithdrawals?id=${cmUserBalanceRecord.id}" onclick="return confirmx('确定撤销本次提现吗?', this.href)"><font color="red">撤销提现</font></a>
+								<%--<a href="${ctx}/user/cmUserBalanceRecord/cancelWithdrawals?id=${cmUserBalanceRecord.id}" onclick="return confirmx('确定撤销本次提现吗?', this.href)"><font color="red">撤销提现</font></a>--%>
 							</c:if>
 							</c:if>
 							<c:if test="${cmUserBalanceRecord.balanceType eq 6 }">
 							<c:if test="${cmUserBalanceRecord.balanceType eq 6 }">
 								<a href="${ctx}/order/cmDiscernReceipt/detail?id=${cmUserBalanceRecord.receiptId}">订金订单充值</a>
 								<a href="${ctx}/order/cmDiscernReceipt/detail?id=${cmUserBalanceRecord.receiptId}">订金订单充值</a>

+ 2 - 2
src/main/webapp/WEB-INF/views/modules/user/toCmWithdrawalsForm.jsp

@@ -42,7 +42,7 @@
 	&nbsp;&nbsp;&nbsp;账户类型:
 	&nbsp;&nbsp;&nbsp;账户类型:
 	<c:if test="${cmUserBalanceWithdrawals.bankAccountType == '1'}">公帐</c:if>
 	<c:if test="${cmUserBalanceWithdrawals.bankAccountType == '1'}">公帐</c:if>
 	<c:if test="${cmUserBalanceWithdrawals.bankAccountType == '2'}">私帐</c:if>
 	<c:if test="${cmUserBalanceWithdrawals.bankAccountType == '2'}">私帐</c:if>
-	<br>采美付款银行:
+	<%--<br>采美付款银行:
 					<c:if test="${cmUserBalanceWithdrawals.payType == '1'}">
 					<c:if test="${cmUserBalanceWithdrawals.payType == '1'}">
 						建设银行7297
 						建设银行7297
 					</c:if>
 					</c:if>
@@ -57,7 +57,7 @@
 					</c:if>
 					</c:if>
 					<c:if test="${cmUserBalanceWithdrawals.payType == '5'}">
 					<c:if test="${cmUserBalanceWithdrawals.payType == '5'}">
 						广发银行5461
 						广发银行5461
-					</c:if>
+					</c:if>--%>
 	<c:if test="${not empty cmUserBalanceWithdrawals.remark}">
 	<c:if test="${not empty cmUserBalanceWithdrawals.remark}">
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;备注:<div style="width: 755px;margin-left: 94px;margin-top: -19px;">${cmUserBalanceWithdrawals.remark}</div>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;备注:<div style="width: 755px;margin-left: 94px;margin-top: -19px;">${cmUserBalanceWithdrawals.remark}</div>
 	</c:if>
 	</c:if>