会员类型,推荐人
This commit is contained in:
parent
14c63402c1
commit
97078700f1
|
|
@ -1,58 +1,73 @@
|
||||||
package com.ifish.action;
|
package com.ifish.action;
|
||||||
|
|
||||||
|
import com.ifish.entity.VipReferrer;
|
||||||
|
import com.ifish.entity.VipType;
|
||||||
|
import com.ifish.hibernate.Pagination;
|
||||||
|
import com.ifish.search.SearchFilter;
|
||||||
|
import com.ifish.service.VipService;
|
||||||
|
import com.ifish.util.IfishUtil;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.security.core.context.SecurityContextImpl;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author: yan.y
|
* @author: yan.y
|
||||||
* @Description:
|
* @Description:
|
||||||
* @Date: Created in 22:19 2018/7/2
|
* @Date: Created in 22:19 2018/7/2
|
||||||
* @Modified by:
|
* @Modified by:
|
||||||
*/
|
*/
|
||||||
//@Controller("VipAction")
|
@Controller("VipAction")
|
||||||
//@RequestMapping("/vip")
|
@RequestMapping("/vip")
|
||||||
public class VipAction {
|
public class VipAction {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private VipService vipService;
|
||||||
|
|
||||||
/** ====================================会员信息============================================ **/
|
/** ====================================会员信息============================================ **/
|
||||||
@RequestMapping("/list")
|
@RequestMapping("/list.do")
|
||||||
public ModelAndView vipList(){
|
public ModelAndView vipList(){
|
||||||
|
|
||||||
return new ModelAndView("vip/vipList");
|
return new ModelAndView("vip/vipList");
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/getVip")
|
@RequestMapping("/getVip.do")
|
||||||
public ModelAndView getVip(){
|
public ModelAndView getVip(){
|
||||||
|
|
||||||
return new ModelAndView("vip/vipDetail");
|
return new ModelAndView("vip/vipDetail");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("/add")
|
@RequestMapping("/add.do")
|
||||||
public boolean vipAdd(){
|
public boolean vipAdd(){
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/update")
|
@RequestMapping("/update.do")
|
||||||
public boolean vipUpdate(){
|
public boolean vipUpdate(){
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/delete")
|
@RequestMapping("/delete.do")
|
||||||
public boolean vipDelete(){
|
public boolean vipDelete(){
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/export")
|
@RequestMapping("/export.do")
|
||||||
public void vipExport(){
|
public void vipExport(){
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/sendSmS")
|
@RequestMapping("/sendSmS.do")
|
||||||
public boolean vipSendSMS(){
|
public boolean vipSendSMS(){
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -61,134 +76,146 @@ public class VipAction {
|
||||||
|
|
||||||
/** ====================================单位评价信息============================================ **/
|
/** ====================================单位评价信息============================================ **/
|
||||||
|
|
||||||
@RequestMapping("/companyEvaluateList")
|
@RequestMapping("/companyEvaluateList.do")
|
||||||
public ModelAndView companyEvaluate(){
|
public ModelAndView companyEvaluate(){
|
||||||
|
|
||||||
return new ModelAndView("vip/companyEvaluateList");
|
return new ModelAndView("vip/companyEvaluateList");
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/getCompanyEvaluate")
|
@RequestMapping("/getCompanyEvaluate.do")
|
||||||
public ModelAndView getCompanyEvaluate(){
|
public ModelAndView getCompanyEvaluate(){
|
||||||
|
|
||||||
return new ModelAndView("vip/companyEvaluateDetail");
|
return new ModelAndView("vip/companyEvaluateDetail");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping("/companyEvaluateAdd.do")
|
||||||
|
public void companyEvaluateAdd(){
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/companyEvaluateUpdate.do")
|
||||||
|
public void companyEvaluateUpdate(){
|
||||||
|
|
||||||
@RequestMapping("/companyEvaluateAdd")
|
|
||||||
public boolean companyEvaluateAdd(){
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/companyEvaluateUpdate")
|
@RequestMapping("/companyEvaluateDelete.do")
|
||||||
public boolean companyEvaluateUpdate(){
|
public void companyEvaluateDelete(){
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@RequestMapping("/companyEvaluateDelete")
|
|
||||||
public boolean companyEvaluateDelete(){
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** ====================================个人评价信息============================================ **/
|
/** ====================================个人评价信息============================================ **/
|
||||||
|
|
||||||
@RequestMapping("/personalEvaluateList")
|
@RequestMapping("/personalEvaluateList.do")
|
||||||
public ModelAndView personalEvaluate(){
|
public ModelAndView personalEvaluate(){
|
||||||
|
|
||||||
return new ModelAndView("vip/personalEvaluateList");
|
return new ModelAndView("vip/personalEvaluateList");
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/getPersonalEvaluate")
|
@RequestMapping("/getPersonalEvaluate.do")
|
||||||
public ModelAndView getPersonalEvaluate(){
|
public ModelAndView getPersonalEvaluate(){
|
||||||
|
|
||||||
return new ModelAndView("vip/personalEvaluateDetail");
|
return new ModelAndView("vip/personalEvaluateDetail");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("/personalEvaluateAdd")
|
@RequestMapping("/personalEvaluateAdd.do")
|
||||||
public boolean personalEvaluateAdd(){
|
public void personalEvaluateAdd(){
|
||||||
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/companyEvaluateUpdate")
|
@RequestMapping("/personalEvaluateUpdate.do")
|
||||||
public boolean personalEvaluateUpdate(){
|
public void personalEvaluateUpdate(){
|
||||||
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/companyEvaluateDelete")
|
@RequestMapping("/personalEvaluateDelete.do")
|
||||||
public boolean personalEvaluateDelete(){
|
public void personalEvaluateDelete(){
|
||||||
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** ====================================会员类别============================================ **/
|
/** ====================================会员类别============================================ **/
|
||||||
@RequestMapping("/vipTypeList")
|
|
||||||
public ModelAndView vipTypeList(){
|
|
||||||
|
|
||||||
return new ModelAndView("vip/vipTypeList");
|
@RequestMapping("/vipType.do")
|
||||||
}
|
public ModelAndView vipType(){
|
||||||
|
return new ModelAndView("vip/vipType");
|
||||||
@RequestMapping("/getVipType")
|
|
||||||
public ModelAndView getVipType(){
|
|
||||||
|
|
||||||
return new ModelAndView("vip/vipTypeDetail");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("/vipTypeAdd")
|
@RequestMapping("/vipTypeList.do")
|
||||||
public boolean vipTypeAdd(){
|
@ResponseBody
|
||||||
|
public Object vipTypeList(SearchFilter searchFilter){
|
||||||
return false;
|
Pagination<VipType> page = this.vipService.getVipTypeByPage(searchFilter);
|
||||||
|
return IfishUtil.returnPageData(page, searchFilter.getsEcho());
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/vipTypeUpdate")
|
@RequestMapping("/getVipType.do")
|
||||||
public boolean vipTypeUpdate(){
|
@ResponseBody
|
||||||
|
public Object getVipType(Integer typeId){
|
||||||
return false;
|
return this.vipService.getVipTypeById(typeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/vipTypeDelete")
|
|
||||||
public boolean vipTypeDelete(){
|
|
||||||
|
|
||||||
return false;
|
@RequestMapping("/vipTypeAdd.do")
|
||||||
|
@ResponseBody
|
||||||
|
public Object vipTypeAdd(VipType vipType){
|
||||||
|
boolean b = this.vipService.saveOrUpdateVipType(vipType);
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/vipTypeDelete.do")
|
||||||
|
@ResponseBody
|
||||||
|
public Object vipTypeDelete(Integer typeId){
|
||||||
|
VipType vipType = this.vipService.getVipTypeById(typeId);
|
||||||
|
vipType.setTypeStatus("1");
|
||||||
|
boolean b = this.vipService.saveOrUpdateVipType(vipType);
|
||||||
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** ====================================推荐人============================================ **/
|
/** ====================================推荐人============================================ **/
|
||||||
@RequestMapping("/referrerList")
|
@RequestMapping("/referrer.do")
|
||||||
public ModelAndView referrerList(){
|
public ModelAndView referrer(){
|
||||||
|
return new ModelAndView("vip/vipReferrer");
|
||||||
return new ModelAndView("vip/referrerList");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/getReferrer")
|
@RequestMapping("/referrerList.do")
|
||||||
|
@ResponseBody
|
||||||
|
public Object referrerList(SearchFilter searchFilter){
|
||||||
|
Pagination<VipReferrer> page = this.vipService.getVipReferrerByPage(searchFilter);
|
||||||
|
return IfishUtil.returnPageData(page,searchFilter.getsEcho());
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/getReferrer.do")
|
||||||
public ModelAndView getReferrer(){
|
public ModelAndView getReferrer(){
|
||||||
|
|
||||||
return new ModelAndView("vip/referrerDetail");
|
return new ModelAndView("vip/referrerDetail");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/referrerAddOrUpdate.do")
|
||||||
@RequestMapping("/referrerAdd")
|
@ResponseBody
|
||||||
public boolean referrerAdd(){
|
public boolean referrerAddOrUpdate(VipReferrer vipReferrer){
|
||||||
|
boolean b = this.vipService.saveOrUpdateVipReferrer(vipReferrer);
|
||||||
return false;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/referrerUpdate")
|
@RequestMapping("/referrerDelete.do")
|
||||||
public boolean referrerUpdate(){
|
@ResponseBody
|
||||||
|
public boolean referrerDelete(Integer referrerId,HttpServletRequest request){
|
||||||
return false;
|
SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT");
|
||||||
}
|
VipReferrer vipReferrer = this.vipService.getVipReferrer(referrerId);
|
||||||
|
vipReferrer.setModifyUser(securityContextImpl.getAuthentication().getName());
|
||||||
@RequestMapping("/referrerDelete")
|
vipReferrer.setModifyTime(new Date());
|
||||||
public boolean referrerDelete(){
|
vipReferrer.setReferrerStatus("1");
|
||||||
|
boolean b = this.vipService.saveOrUpdateVipReferrer(vipReferrer);
|
||||||
return false;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.ifish.dao;
|
||||||
|
|
||||||
|
import com.ifish.entity.VipReferrer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: yan.y
|
||||||
|
* @Description:
|
||||||
|
* @Date: Created in 18:37 2018/7/4
|
||||||
|
* @Modified by:
|
||||||
|
*/
|
||||||
|
public interface VipReferrerDao extends BaseDao<VipReferrer,Integer> {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.ifish.dao;
|
||||||
|
|
||||||
|
import com.ifish.entity.VipType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: yan.y
|
||||||
|
* @Description:
|
||||||
|
* @Date: Created in 18:37 2018/7/4
|
||||||
|
* @Modified by:
|
||||||
|
*/
|
||||||
|
public interface VipTypeDao extends BaseDao<VipType,Integer> {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.ifish.daoImpl;
|
||||||
|
|
||||||
|
import com.ifish.dao.VipReferrerDao;
|
||||||
|
import com.ifish.entity.VipReferrer;
|
||||||
|
import com.ifish.hibernate.HibernateBaseDao;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: yan.y
|
||||||
|
* @Description:
|
||||||
|
* @Date: Created in 18:38 2018/7/4
|
||||||
|
* @Modified by:
|
||||||
|
*/
|
||||||
|
@Repository("vipReferrerDao")
|
||||||
|
public class VipReferrerDaoImpl extends HibernateBaseDao<VipReferrer,Integer> implements VipReferrerDao {
|
||||||
|
@Override
|
||||||
|
protected Class<VipReferrer> getEntityClass() {
|
||||||
|
return VipReferrer.class;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.ifish.daoImpl;
|
||||||
|
|
||||||
|
import com.ifish.dao.VipTypeDao;
|
||||||
|
import com.ifish.entity.VipType;
|
||||||
|
import com.ifish.hibernate.HibernateBaseDao;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: yan.y
|
||||||
|
* @Description:
|
||||||
|
* @Date: Created in 18:38 2018/7/4
|
||||||
|
* @Modified by:
|
||||||
|
*/
|
||||||
|
@Repository("vipTypeDao")
|
||||||
|
public class VipTypeDaoImpl extends HibernateBaseDao<VipType,Integer> implements VipTypeDao {
|
||||||
|
@Override
|
||||||
|
protected Class<VipType> getEntityClass() {
|
||||||
|
return VipType.class;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,136 @@
|
||||||
|
package com.ifish.entity;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: yan.y
|
||||||
|
* @Description:
|
||||||
|
* @Date: Created in 21:01 2018/7/4
|
||||||
|
* @Modified by:
|
||||||
|
*/
|
||||||
|
@Entity
|
||||||
|
@Table(name = "tbl_vip_referrer")
|
||||||
|
public class VipReferrer implements Serializable{
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy= GenerationType.IDENTITY)
|
||||||
|
@Column(name = "vip_referrer_id")
|
||||||
|
private Integer referrerId;
|
||||||
|
|
||||||
|
@Column(name = "vip_referrer_name")
|
||||||
|
private String referrerName;
|
||||||
|
|
||||||
|
@OneToOne
|
||||||
|
@JoinColumn(name = "vip_referrer_type")
|
||||||
|
private VipType referrerType;
|
||||||
|
|
||||||
|
@Column(name = "vip_admission_time")
|
||||||
|
private Date referrerAdmissionTime;
|
||||||
|
|
||||||
|
@Column(name = "vip_referrer_remark")
|
||||||
|
private String referrerRemark;
|
||||||
|
|
||||||
|
@Column(name = "vip_referrer_status")
|
||||||
|
private String referrerStatus;
|
||||||
|
|
||||||
|
@Column(name = "vip_create_user")
|
||||||
|
private String createUser;
|
||||||
|
|
||||||
|
@Column(name = "vip_create_time")
|
||||||
|
@Temporal(TemporalType.TIMESTAMP)
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
@Column(name = "vip_modify_user")
|
||||||
|
private String modifyUser;
|
||||||
|
|
||||||
|
@Column(name = "vip_mofify_time")
|
||||||
|
@Temporal(TemporalType.TIMESTAMP)
|
||||||
|
private Date modifyTime;
|
||||||
|
|
||||||
|
public Integer getReferrerId() {
|
||||||
|
return referrerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReferrerId(Integer referrerId) {
|
||||||
|
this.referrerId = referrerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReferrerName() {
|
||||||
|
return referrerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReferrerName(String referrerName) {
|
||||||
|
this.referrerName = referrerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public VipType getReferrerType() {
|
||||||
|
return referrerType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReferrerType(VipType referrerType) {
|
||||||
|
this.referrerType = referrerType;
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
|
||||||
|
public Date getReferrerAdmissionTime() {
|
||||||
|
return referrerAdmissionTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReferrerAdmissionTime(Date referrerAdmissionTime) {
|
||||||
|
this.referrerAdmissionTime = referrerAdmissionTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReferrerRemark() {
|
||||||
|
return referrerRemark;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReferrerRemark(String referrerRemark) {
|
||||||
|
this.referrerRemark = referrerRemark;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReferrerStatus() {
|
||||||
|
return referrerStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReferrerStatus(String referrerStatus) {
|
||||||
|
this.referrerStatus = referrerStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCreateUser() {
|
||||||
|
return createUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateUser(String createUser) {
|
||||||
|
this.createUser = createUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
|
||||||
|
public Date getCreateTime() {
|
||||||
|
return createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateTime(Date createTime) {
|
||||||
|
this.createTime = createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getModifyUser() {
|
||||||
|
return modifyUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setModifyUser(String modifyUser) {
|
||||||
|
this.modifyUser = modifyUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
|
||||||
|
public Date getModifyTime() {
|
||||||
|
return modifyTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setModifyTime(Date modifyTime) {
|
||||||
|
this.modifyTime = modifyTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
package com.ifish.entity;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: yan.y
|
||||||
|
* @Description:
|
||||||
|
* @Date: Created in 18:24 2018/7/4
|
||||||
|
* @Modified by:
|
||||||
|
*/
|
||||||
|
@Entity
|
||||||
|
@Table(name = "tbl_vip_type")
|
||||||
|
public class VipType implements Serializable{
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy= GenerationType.IDENTITY)
|
||||||
|
@Column(name = "vip_type_id")
|
||||||
|
private Integer typeId;
|
||||||
|
|
||||||
|
@Column(name = "vip_type_name")
|
||||||
|
private String typeName;
|
||||||
|
|
||||||
|
@Column(name = "vip_type_status")
|
||||||
|
private String typeStatus;
|
||||||
|
|
||||||
|
public Integer getTypeId() {
|
||||||
|
return typeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTypeId(Integer typeId) {
|
||||||
|
this.typeId = typeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTypeName() {
|
||||||
|
return typeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTypeName(String typeName) {
|
||||||
|
this.typeName = typeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTypeStatus() {
|
||||||
|
return typeStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTypeStatus(String typeStatus) {
|
||||||
|
this.typeStatus = typeStatus;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
package com.ifish.service;
|
||||||
|
|
||||||
|
import com.ifish.entity.VipReferrer;
|
||||||
|
import com.ifish.entity.VipType;
|
||||||
|
import com.ifish.hibernate.Pagination;
|
||||||
|
import com.ifish.search.SearchFilter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: yan.y
|
||||||
|
* @Description:
|
||||||
|
* @Date: Created in 18:31 2018/7/4
|
||||||
|
* @Modified by:
|
||||||
|
*/
|
||||||
|
public interface VipService {
|
||||||
|
/**
|
||||||
|
* 查询会员类别
|
||||||
|
* @param searchFilter
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Pagination<VipType> getVipTypeByPage(SearchFilter searchFilter);
|
||||||
|
|
||||||
|
boolean saveOrUpdateVipType(VipType vipType);
|
||||||
|
|
||||||
|
VipType getVipTypeById(Integer typeId);
|
||||||
|
|
||||||
|
|
||||||
|
Pagination<VipReferrer> getVipReferrerByPage(SearchFilter searchFilter);
|
||||||
|
|
||||||
|
boolean saveOrUpdateVipReferrer(VipReferrer vipReferrer);
|
||||||
|
|
||||||
|
VipReferrer getVipReferrer(Integer referrerId);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,118 @@
|
||||||
|
package com.ifish.serviceImpl;
|
||||||
|
|
||||||
|
import com.ifish.dao.VipReferrerDao;
|
||||||
|
import com.ifish.dao.VipTypeDao;
|
||||||
|
import com.ifish.entity.VipReferrer;
|
||||||
|
import com.ifish.entity.VipType;
|
||||||
|
import com.ifish.hibernate.Pagination;
|
||||||
|
import com.ifish.search.SearchFilter;
|
||||||
|
import com.ifish.service.VipService;
|
||||||
|
import com.ifish.util.IfishUtil;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.hibernate.criterion.Criterion;
|
||||||
|
import org.hibernate.criterion.Order;
|
||||||
|
import org.hibernate.criterion.Restrictions;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: yan.y
|
||||||
|
* @Description:
|
||||||
|
* @Date: Created in 18:34 2018/7/4
|
||||||
|
* @Modified by:
|
||||||
|
*/
|
||||||
|
@Service("vipService")
|
||||||
|
@Transactional
|
||||||
|
public class VipServiceImpl implements VipService{
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private VipTypeDao vipTypeDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private VipReferrerDao vipReferrerDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Pagination<VipType> getVipTypeByPage(SearchFilter searchFilter) {
|
||||||
|
//查询条件
|
||||||
|
List<Criterion> queryList = new ArrayList<Criterion>();
|
||||||
|
//排序条件
|
||||||
|
List<Order> orderList = new ArrayList<Order>();
|
||||||
|
//分页
|
||||||
|
Integer iDisplayStart = searchFilter.getiDisplayStart();
|
||||||
|
Integer iDisplayLength = searchFilter.getiDisplayLength();
|
||||||
|
queryList.add(Restrictions.eq("typeStatus","0"));
|
||||||
|
orderList.add(Order.asc("typeId"));
|
||||||
|
Pagination<VipType> page = this.vipTypeDao.findByCriteria(iDisplayStart, iDisplayLength, orderList, queryList.toArray(new Criterion[queryList.size()]));
|
||||||
|
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean saveOrUpdateVipType(VipType vipType) {
|
||||||
|
Integer typeId = vipType.getTypeId();
|
||||||
|
if (typeId != null) {
|
||||||
|
this.vipTypeDao.update(vipType);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
this.vipTypeDao.save(vipType);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public VipType getVipTypeById(Integer typeId) {
|
||||||
|
return this.vipTypeDao.get(typeId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Pagination<VipReferrer> getVipReferrerByPage(SearchFilter searchFilter) {
|
||||||
|
//查询条件
|
||||||
|
List<Criterion> queryList = new ArrayList<Criterion>();
|
||||||
|
//排序条件
|
||||||
|
List<Order> orderList = new ArrayList<Order>();
|
||||||
|
//分页
|
||||||
|
Integer iDisplayStart = searchFilter.getiDisplayStart();
|
||||||
|
Integer iDisplayLength = searchFilter.getiDisplayLength();
|
||||||
|
queryList.add(Restrictions.eq("referrerStatus","0"));
|
||||||
|
orderList.add(Order.asc("referrerAdmissionTime"));
|
||||||
|
if (searchFilter.getsSearch1() != null && StringUtils.isNotBlank(searchFilter.getsSearch1())) {
|
||||||
|
queryList.add(Restrictions.like("referrerName","%" + searchFilter.getsSearch1() + "%"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((searchFilter.getsSearch3() != null && StringUtils.isNotBlank(searchFilter.getsSearch3()))
|
||||||
|
&& (searchFilter.getsSearch4() != null && StringUtils.isNotBlank(searchFilter.getsSearch4()))) {
|
||||||
|
queryList.add(Restrictions.between("referrerAdmissionTime",IfishUtil.StrToDate(searchFilter.getsSearch3()),IfishUtil.StrToDate(searchFilter.getsSearch4())));
|
||||||
|
} else if ((searchFilter.getsSearch3() != null && StringUtils.isNotBlank(searchFilter.getsSearch3()))
|
||||||
|
&& (searchFilter.getsSearch4() == null || StringUtils.isBlank(searchFilter.getsSearch4()))) {
|
||||||
|
queryList.add(Restrictions.ge("referrerAdmissionTime", IfishUtil.StrToDate(searchFilter.getsSearch3())));
|
||||||
|
} else if ((searchFilter.getsSearch3() == null || StringUtils.isBlank(searchFilter.getsSearch3())
|
||||||
|
&& (searchFilter.getsSearch4() != null && StringUtils.isNotBlank(searchFilter.getsSearch4())))) {
|
||||||
|
queryList.add(Restrictions.le("referrerAdmissionTime",IfishUtil.StrToDate(searchFilter.getsSearch4())));
|
||||||
|
}
|
||||||
|
|
||||||
|
Pagination<VipReferrer> page = this.vipReferrerDao.findByCriteria(iDisplayStart, iDisplayLength, orderList, queryList.toArray(new Criterion[queryList.size()]));
|
||||||
|
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean saveOrUpdateVipReferrer(VipReferrer vipReferrer) {
|
||||||
|
Integer referrerId = vipReferrer.getReferrerId();
|
||||||
|
if (referrerId != null) {
|
||||||
|
this.vipReferrerDao.update(vipReferrer);
|
||||||
|
} else {
|
||||||
|
this.vipReferrerDao.save(vipReferrer);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public VipReferrer getVipReferrer(Integer referrerId) {
|
||||||
|
return this.vipReferrerDao.get(referrerId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
<!-- 导入外部的properties文件-->
|
<!-- 导入外部的properties文件-->
|
||||||
<context:property-placeholder location="classpath*:jdbc.properties" ignore-unresolvable="true"/>
|
<context:property-placeholder location="classpath*:jdbc.properties" ignore-unresolvable="true"/>
|
||||||
<!-- 注册识别注解 -->
|
<!-- 注册识别注解 -->
|
||||||
<context:component-scan base-package="com.ifish.converter,com.ifish.daoImpl,com.ifish.serviceImpl,com.ifishNew.help"/>
|
<context:component-scan base-package="com.ifish.daoImpl,com.ifish.serviceImpl"/>
|
||||||
|
|
||||||
<!-- c3p0连接池 -->
|
<!-- c3p0连接池 -->
|
||||||
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
|
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,8 @@
|
||||||
<div class="login_layout">
|
<div class="login_layout">
|
||||||
<div class="login_main">
|
<div class="login_main">
|
||||||
<form id="login_form" action="<%=basePath %>j_spring_security_check" method="post">
|
<form id="login_form" action="<%=basePath %>j_spring_security_check" method="post">
|
||||||
<label class="label"><font id="form_text">爱鱼奇合作伙伴登陆</font></label> <input
|
<input type="text" id="username" class="input" name="j_username" required="required" placeholder="用户名" />
|
||||||
type="text" id="username" class="input" name="j_username" required="required" placeholder="用户名" /> <input
|
<input type="password" id="pwd" class="input" name="j_password" required="required" placeholder="密码" />
|
||||||
type="password" id="pwd" class="input" name="j_password" required="required" placeholder="密码" />
|
|
||||||
<div id="subDiv">
|
<div id="subDiv">
|
||||||
<input type="submit" id="button" value="登陆">
|
<input type="submit" id="button" value="登陆">
|
||||||
<c:set var="warn104" value="<%=SysUserEnum.warn104.getKey()%>"></c:set>
|
<c:set var="warn104" value="<%=SysUserEnum.warn104.getKey()%>"></c:set>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,283 @@
|
||||||
|
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>推荐人</title>
|
||||||
|
<!-- css and js -->
|
||||||
|
<%@ include file="../htm/script.jsp" %>
|
||||||
|
<link href="<%=basePath%>static/css/datepicker.css" rel="stylesheet"/>
|
||||||
|
<script src="<%=basePath%>static/js/date-time/bootstrap-datepicker.min.js"></script>
|
||||||
|
<style type="text/css">
|
||||||
|
.important
|
||||||
|
{
|
||||||
|
vertical-align:middle;
|
||||||
|
text-align:right;
|
||||||
|
padding:10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var dataTable = null;
|
||||||
|
$(function () {
|
||||||
|
$("#searchTable").find("td:even").addClass("important");
|
||||||
|
$("#searchTable").find("input").addClass("searchClass");
|
||||||
|
$("#searchTable").find("select").addClass("searchClass");
|
||||||
|
//日期控件
|
||||||
|
$('#sSearch3,#sSearch4').datepicker({
|
||||||
|
language: 'zh-CN',
|
||||||
|
format: "yyyy-mm-dd"
|
||||||
|
});
|
||||||
|
//分页
|
||||||
|
dataTable = $("#sample-table-2").dataTable({
|
||||||
|
"sPaginationType": "bootstrap",
|
||||||
|
//"bProcessing": true,
|
||||||
|
"bLengthChange": true,
|
||||||
|
"bFilter": false,
|
||||||
|
"bServerSide": true,//指定从服务器端获取数据
|
||||||
|
"sAjaxSource": "<%=basePath%>page/vip/referrerList.do",
|
||||||
|
"fnServerData": returnServerData,
|
||||||
|
"aoColumns": [
|
||||||
|
{"mData": "referrerId", "bSortable": false},
|
||||||
|
{"mData": "referrerName", "bSortable": false},
|
||||||
|
{"mData": function(vipReferrer) {
|
||||||
|
return vipReferrer.referrerType.typeName;
|
||||||
|
},"bSortable": false },
|
||||||
|
{"mData": "referrerAdmissionTime", "bSortable": false},
|
||||||
|
{"mData": "referrerRemark", "bSortable": false},
|
||||||
|
{"mData": "createUser", "bSortable": false},
|
||||||
|
{"mData": "createTime", "bSortable": false},
|
||||||
|
{"mData": function(vipReferrer){
|
||||||
|
return '<a onclick="editVipReferrer(\''+vipReferrer.referrerId+'\');" class="label label-primary"><i class="icon-edit"></i></a> '
|
||||||
|
+'<a href="javascript:void(0);" onclick="deleteVipReferrer('+vipReferrer.referrerId+')" class="label label-danger"><span class="icon-trash"></span></a>';
|
||||||
|
},
|
||||||
|
"bSortable": false,
|
||||||
|
"sClass":"center"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"oLanguage": {
|
||||||
|
"sLengthMenu": "每页显示 _MENU_条",
|
||||||
|
"sZeroRecords": "没有找到符合条件的数据",
|
||||||
|
"sInfo": "当前第 _START_ - _END_ 条 共计 _TOTAL_ 条",
|
||||||
|
"sProcessing": "<img src='<%=basePath%>static/css/images/loading.gif'>",
|
||||||
|
"sInfoEmpty": "木有记录",
|
||||||
|
"sInfoFiltered": "(从 _MAX_ 条记录中过滤)",
|
||||||
|
"sSearch": "",
|
||||||
|
"oPaginate": {
|
||||||
|
"sFirst": "首页",
|
||||||
|
"sPrevious": "前一页",
|
||||||
|
"sNext": "后一页",
|
||||||
|
"sLast": "尾页"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#sample-table-2_length").append(' <label><a href="javascript:void(0);" id="addVipType" class="btn btn-xs btn-primary"><i class="icon-edit"></i><span class="no-text-shadow">新增</span></a></label>');
|
||||||
|
//重置
|
||||||
|
$("#reset").click(function () {
|
||||||
|
var searchClass = $(".searchClass");
|
||||||
|
for (var i = 0; i < searchClass.length; i++) {
|
||||||
|
$(searchClass[i]).val("");
|
||||||
|
}
|
||||||
|
dataTable.fnDraw();
|
||||||
|
});
|
||||||
|
//模态框
|
||||||
|
$('.modal').modal({
|
||||||
|
backdrop: 'static',
|
||||||
|
show: false
|
||||||
|
});
|
||||||
|
//关闭
|
||||||
|
$(".closeBtn").click(function () {
|
||||||
|
$('.modal').modal("hide");
|
||||||
|
});
|
||||||
|
//自动查询
|
||||||
|
$("#searchTable").find("input,select").change(function () {
|
||||||
|
dataTable.fnDraw();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function deleteVipReferrer(referrerId){
|
||||||
|
jConfirm("确定要删除吗?", '确认对话框', function(bln){
|
||||||
|
if (bln) {
|
||||||
|
$.ajax({
|
||||||
|
url:"<%=basePath%>page/vip/referrerDelete.do?rm="+Math.random(),
|
||||||
|
data:{"referrerId":referrerId},
|
||||||
|
success:function(bln){
|
||||||
|
if(bln){
|
||||||
|
jAlert('成功', '提示');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
jAlert('失败', '提示');
|
||||||
|
}
|
||||||
|
refreshTable();
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
jAlert('错误', '提示');
|
||||||
|
refreshTable();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//服务器返回数据
|
||||||
|
function returnServerData(sSource, aoData, fnCallback) {
|
||||||
|
//查询参数
|
||||||
|
var searchClass = $(".searchClass");
|
||||||
|
for (var i = 0; i < searchClass.length; i++) {
|
||||||
|
var id = $(searchClass[i]).attr("id");
|
||||||
|
var value = $(searchClass[i]).val();
|
||||||
|
aoData.push({"name": id, "value": value});
|
||||||
|
}
|
||||||
|
$.ajax({
|
||||||
|
"url": sSource,
|
||||||
|
"type": "POST",
|
||||||
|
"data": aoData,
|
||||||
|
"dataType": "json",
|
||||||
|
"cache": false,
|
||||||
|
"success": function (json) {
|
||||||
|
fnCallback(json);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//刷新当前页
|
||||||
|
function refreshTable() {
|
||||||
|
var iDisplayStart = dataTable.fnSettings()._iDisplayStart;
|
||||||
|
var iDisplayLength = dataTable.fnSettings()._iDisplayLength;
|
||||||
|
var pageNum = (iDisplayStart + iDisplayLength) / iDisplayLength;
|
||||||
|
dataTable.fnPageChange(--pageNum, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- 头部 -->
|
||||||
|
<%@ include file="../htm/header.jsp" %>
|
||||||
|
<!-- 主体 -->
|
||||||
|
<div class="main-container" id="main-container">
|
||||||
|
<script type="text/javascript">
|
||||||
|
try {
|
||||||
|
ace.settings.check('main-container', 'fixed')
|
||||||
|
} catch (e) {
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<div class="main-container-inner">
|
||||||
|
<!-- 侧边栏 -->
|
||||||
|
<%@ include file="../htm/sidebar.jsp" %>
|
||||||
|
<!-- 主体内容 -->
|
||||||
|
<div class="main-content">
|
||||||
|
<div class="breadcrumbs" id="breadcrumbs">
|
||||||
|
<script type="text/javascript">
|
||||||
|
try {
|
||||||
|
ace.settings.check('breadcrumbs', 'fixed')
|
||||||
|
} catch (e) {
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<ul class="breadcrumb">
|
||||||
|
<li>
|
||||||
|
<i class="icon-home home-icon"></i>
|
||||||
|
<a href="<%=basePath%>page/public/index.do">首页</a>
|
||||||
|
</li>
|
||||||
|
<li class="active">用户列表</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="page-content">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12">
|
||||||
|
<div class="table-header"></div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="searchTable" class="col-xs-12">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label>推荐人名称</label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="sSearch1" id='sSearch1' class="input-medium" value="" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<label>入会时间</label>
|
||||||
|
</td>
|
||||||
|
<td colspan="2">
|
||||||
|
<input type="text" id='sSearch3' name="sSearch3" class="input-medium" maxlength='20'/>-<input type="text" id='sSearch4' name="sSearch4" class="input-medium" maxlength='20'/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td colspan="12" style="text-align:center;">
|
||||||
|
<button type="button" class="btn btn-sm btn-info" onclick="refreshTable();" style="margin-right:20px;"><i class="icon-refresh"></i>刷新</button>
|
||||||
|
<button id="reset" type="reset" class="btn btn-sm btn-info" style="margin-right:20px;"><i class="icon-undo"></i>重置</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table id="sample-table-2" class="table table-striped table-bordered table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="center">ID</th>
|
||||||
|
<th>推荐人名称</th>
|
||||||
|
<th>推荐人类型</th>
|
||||||
|
<th>推荐人入会时间</th>
|
||||||
|
<th>备注</th>
|
||||||
|
<th>创建人</th>
|
||||||
|
<th>创建时间</th>
|
||||||
|
<th>操作</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<form action="<%=basePath%>page/admin/updateRemarks.do" class="form-horizontal" method="post" id="form-remarks">
|
||||||
|
<div class="modal fade" id="remarksModal">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="closeBtn close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
<h4 class="modal-title">备注</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body row">
|
||||||
|
<div class="col-xs-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-xs-2 control-label no-padding-right">备注<span style="color:red;">*</span></label>
|
||||||
|
<div class="col-xs-8">
|
||||||
|
<input type="hidden" name="userId" id="userId">
|
||||||
|
<textarea name="remarks" id="remarks" rows="5" class="form-control" maxlength="30"></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="closeBtn btn btn-default">关闭</button>
|
||||||
|
<button type="submit" id="form-remarks-saveBtn" class="btn btn-primary">保存</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="modal fade" id="taskModal">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="closeBtn close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
<h4 class="modal-title">任务</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<table id="taskTable" class="table table-striped table-bordered table-hover">
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="closeBtn btn btn-default">关闭</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 设置工具 -->
|
||||||
|
<%@ include file="../htm/setting.jsp" %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,249 @@
|
||||||
|
<%@page import="com.ifish.enums.BannerTypeEnum"%>
|
||||||
|
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>会员类别</title>
|
||||||
|
<!-- css and js -->
|
||||||
|
<%@ include file="../htm/script.jsp" %>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var dataTable = null;
|
||||||
|
$(function(){
|
||||||
|
//模态框
|
||||||
|
$('.modal').modal({
|
||||||
|
backdrop:'static',
|
||||||
|
show:false
|
||||||
|
});
|
||||||
|
//关闭
|
||||||
|
$(".closeBtn").click(function(){
|
||||||
|
$('.modal').modal("hide");
|
||||||
|
});
|
||||||
|
//分页
|
||||||
|
dataTable = $('#sample-table-2').dataTable({
|
||||||
|
"sPaginationType": "bootstrap",
|
||||||
|
//"bProcessing": true,
|
||||||
|
"bLengthChange": true,
|
||||||
|
"bFilter": false,
|
||||||
|
"bServerSide": true,//指定从服务器端获取数据
|
||||||
|
"sAjaxSource": "<%=basePath%>page/vip/vipTypeList.do",
|
||||||
|
"fnServerData": returnServerData,
|
||||||
|
"aoColumns": [
|
||||||
|
{ "mData": "typeId","bSortable": false },
|
||||||
|
{ "mData": "typeName","bSortable": false },
|
||||||
|
{ "mData": function(vipType){
|
||||||
|
return '<a onclick="editVipType('+vipType.typeId+');" class="label label-primary"><i class="icon-edit"></i></a> '
|
||||||
|
+'<a href="javascript:void(0);" onclick="deleteVipType('+vipType.typeId+')" class="label label-danger"><span class="icon-trash"></span></a>';
|
||||||
|
},
|
||||||
|
"bSortable": false,
|
||||||
|
"sClass":"center"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"oLanguage": {
|
||||||
|
"sLengthMenu": "每页显示 _MENU_条",
|
||||||
|
"sZeroRecords": "没有找到符合条件的数据",
|
||||||
|
"sInfo": "当前第 _START_ - _END_ 条 共计 _TOTAL_ 条",
|
||||||
|
"sProcessing": "<img src='<%=basePath%>static/css/images/loading.gif'>",
|
||||||
|
"sInfoEmpty": "木有记录",
|
||||||
|
"sInfoFiltered": "(从 _MAX_ 条记录中过滤)",
|
||||||
|
"sSearch": "",
|
||||||
|
"oPaginate": {
|
||||||
|
"sFirst": "首页",
|
||||||
|
"sPrevious": "前一页",
|
||||||
|
"sNext": "后一页",
|
||||||
|
"sLast": "尾页"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#sample-table-2_length").append(' <label><a href="javascript:void(0);" id="addVipType" class="btn btn-xs btn-primary"><i class="icon-edit"></i><span class="no-text-shadow">新增</span></a></label>');
|
||||||
|
//新增
|
||||||
|
$("#addVipType").click(function(){
|
||||||
|
$("#typeId").val("");
|
||||||
|
$("#typeStatus").val("0");
|
||||||
|
$("#typeName").val("");
|
||||||
|
$("#vipTypeModal").modal("show");
|
||||||
|
});
|
||||||
|
//确定
|
||||||
|
$("#vipTypeBtn").click(function(){
|
||||||
|
var typeName = $("#typeName").val();
|
||||||
|
if(typeName==""){
|
||||||
|
jAlert('会员类型名称不能为空!', '提示');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$("#vipTypeBtn").attr("disabled",true);
|
||||||
|
$('#form1').submit();
|
||||||
|
});
|
||||||
|
//提交表单
|
||||||
|
$('#form1').ajaxForm(function(data){
|
||||||
|
//弹出ajax请求后的回调结果
|
||||||
|
if(data==true){
|
||||||
|
//刷新当前页面
|
||||||
|
$('.modal').modal("hide");
|
||||||
|
jAlert('成功', '提示');
|
||||||
|
refreshTable();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
//刷新当前页面
|
||||||
|
jAlert('失败', '提示');
|
||||||
|
}
|
||||||
|
$("#vipTypeBtn").attr("disabled",false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//服务器返回数据
|
||||||
|
function returnServerData(sSource, aoData, fnCallback){
|
||||||
|
//查询参数
|
||||||
|
var searchClass = $(".searchClass");
|
||||||
|
for (var i = 0; i < searchClass.length; i++) {
|
||||||
|
var id = $(searchClass[i]).attr("id");
|
||||||
|
var value = $(searchClass[i]).val();
|
||||||
|
aoData.push({"name":id,"value":value});
|
||||||
|
}
|
||||||
|
$.ajax({
|
||||||
|
"url": sSource,
|
||||||
|
"type": "POST",
|
||||||
|
"data": aoData,
|
||||||
|
"dataType": "json",
|
||||||
|
"cache": false,
|
||||||
|
"success": function(json){
|
||||||
|
fnCallback(json);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//刷新当前页
|
||||||
|
function refreshTable(){
|
||||||
|
var iDisplayStart = dataTable.fnSettings()._iDisplayStart;
|
||||||
|
var iDisplayLength = dataTable.fnSettings()._iDisplayLength;
|
||||||
|
var pageNum = (iDisplayStart+iDisplayLength)/iDisplayLength;
|
||||||
|
dataTable.fnPageChange(--pageNum,true);
|
||||||
|
}
|
||||||
|
//修改
|
||||||
|
function editVipType(typeId){
|
||||||
|
$.ajax({
|
||||||
|
"url": "<%=basePath%>page/vip/getVipType.do?rm="+Math.random(),
|
||||||
|
"type": 'POST',
|
||||||
|
"data": {"typeId":typeId},
|
||||||
|
"dataType": "json",
|
||||||
|
"success":function(data){
|
||||||
|
if(data!=null){
|
||||||
|
$("#typeId").val(data.typeId);
|
||||||
|
$("#typeName").val(data.typeName);
|
||||||
|
$("#typeStatus").val(data.typeStatus);
|
||||||
|
$("#vipTypeModal").modal("show");
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
jAlert('失败', '提示');
|
||||||
|
//刷新当前页
|
||||||
|
refreshTable();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
//刷新当前页
|
||||||
|
refreshTable();
|
||||||
|
jAlert('错误', '提示');
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//删除
|
||||||
|
function deleteVipType(typeId){
|
||||||
|
jConfirm("确定要删除吗?", '确认对话框', function(bln){
|
||||||
|
if (bln) {
|
||||||
|
$.ajax({
|
||||||
|
url:"<%=basePath%>page/vip/vipTypeDelete.do?rm="+Math.random(),
|
||||||
|
data:{"typeId":typeId},
|
||||||
|
success:function(bln){
|
||||||
|
if(bln){
|
||||||
|
jAlert('成功', '提示');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
jAlert('失败', '提示');
|
||||||
|
}
|
||||||
|
refreshTable();
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
jAlert('错误', '提示');
|
||||||
|
refreshTable();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- 头部 -->
|
||||||
|
<%@ include file="../htm/header.jsp" %>
|
||||||
|
<!-- 主体 -->
|
||||||
|
<div class="main-container" id="main-container">
|
||||||
|
<div class="main-container-inner">
|
||||||
|
<!-- 侧边栏 -->
|
||||||
|
<%@ include file="../htm/sidebar.jsp" %>
|
||||||
|
<!-- 主体内容 -->
|
||||||
|
<div class="main-content">
|
||||||
|
<div class="breadcrumbs" id="breadcrumbs">
|
||||||
|
<script type="text/javascript">
|
||||||
|
try{ace.settings.check('breadcrumbs' , 'fixed')}catch(e){}
|
||||||
|
</script>
|
||||||
|
<ul class="breadcrumb">
|
||||||
|
<li>
|
||||||
|
<i class="icon-home home-icon"></i>
|
||||||
|
<a href="<%=basePath%>page/public/index.do">首页</a>
|
||||||
|
</li>
|
||||||
|
<li class="active">会员类型</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="page-content">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="sample-table-2" class="table table-striped table-bordered table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>ID</th>
|
||||||
|
<th>会员类型</th>
|
||||||
|
<th>操作</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<form id="form1" action="<%=basePath%>page/vip/vipTypeAdd.do" method="post" class="form-horizontal" enctype="multipart/form-data">
|
||||||
|
<div class="modal fade" id="vipTypeModal">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="closeBtn close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
<h4 class="modal-title">会员类型</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body row">
|
||||||
|
<div class="col-xs-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-xs-2 control-label no-padding-right">会员类型<span style="color:red;">*</span></label>
|
||||||
|
<div class="col-xs-8">
|
||||||
|
<input type="hidden" name="typeId" id="typeId"/>
|
||||||
|
<input type="hidden" name="typeStatus" id="typeStatus" value="0"/>
|
||||||
|
<input type="url" name="typeName" id="typeName" class="form-control" maxlength="100"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="space-4"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="closeBtn btn btn-default">关闭</button>
|
||||||
|
<button id="vipTypeBtn" type="submit" class="btn btn-primary">确定</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<!-- 设置工具 -->
|
||||||
|
<%@ include file="../htm/setting.jsp" %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Reference in New Issue