diff --git a/src/main/java/com/ifish/action/VipAction.java b/src/main/java/com/ifish/action/VipAction.java index e97fbf1..402ebe3 100644 --- a/src/main/java/com/ifish/action/VipAction.java +++ b/src/main/java/com/ifish/action/VipAction.java @@ -1,58 +1,73 @@ 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.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; +import java.util.Date; + /** * @author: yan.y * @Description: * @Date: Created in 22:19 2018/7/2 * @Modified by: */ -//@Controller("VipAction") -//@RequestMapping("/vip") +@Controller("VipAction") +@RequestMapping("/vip") public class VipAction { + @Autowired + private VipService vipService; + /** ====================================会员信息============================================ **/ - @RequestMapping("/list") + @RequestMapping("/list.do") public ModelAndView vipList(){ return new ModelAndView("vip/vipList"); } - @RequestMapping("/getVip") + @RequestMapping("/getVip.do") public ModelAndView getVip(){ return new ModelAndView("vip/vipDetail"); } - @RequestMapping("/add") + @RequestMapping("/add.do") public boolean vipAdd(){ return false; } - @RequestMapping("/update") + @RequestMapping("/update.do") public boolean vipUpdate(){ return false; } - @RequestMapping("/delete") + @RequestMapping("/delete.do") public boolean vipDelete(){ return false; } - @RequestMapping("/export") + @RequestMapping("/export.do") public void vipExport(){ } - @RequestMapping("/sendSmS") + @RequestMapping("/sendSmS.do") public boolean vipSendSMS(){ return false; @@ -61,134 +76,146 @@ public class VipAction { /** ====================================单位评价信息============================================ **/ - @RequestMapping("/companyEvaluateList") + @RequestMapping("/companyEvaluateList.do") public ModelAndView companyEvaluate(){ return new ModelAndView("vip/companyEvaluateList"); } - @RequestMapping("/getCompanyEvaluate") + @RequestMapping("/getCompanyEvaluate.do") public ModelAndView getCompanyEvaluate(){ 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") - public boolean companyEvaluateUpdate(){ + @RequestMapping("/companyEvaluateDelete.do") + public void companyEvaluateDelete(){ - return false; - } - @RequestMapping("/companyEvaluateDelete") - public boolean companyEvaluateDelete(){ - - return false; } /** ====================================个人评价信息============================================ **/ - @RequestMapping("/personalEvaluateList") + @RequestMapping("/personalEvaluateList.do") public ModelAndView personalEvaluate(){ return new ModelAndView("vip/personalEvaluateList"); } - @RequestMapping("/getPersonalEvaluate") + @RequestMapping("/getPersonalEvaluate.do") public ModelAndView getPersonalEvaluate(){ return new ModelAndView("vip/personalEvaluateDetail"); } - @RequestMapping("/personalEvaluateAdd") - public boolean personalEvaluateAdd(){ + @RequestMapping("/personalEvaluateAdd.do") + public void personalEvaluateAdd(){ + - return false; } - @RequestMapping("/companyEvaluateUpdate") - public boolean personalEvaluateUpdate(){ + @RequestMapping("/personalEvaluateUpdate.do") + public void personalEvaluateUpdate(){ + - return false; } - @RequestMapping("/companyEvaluateDelete") - public boolean personalEvaluateDelete(){ + @RequestMapping("/personalEvaluateDelete.do") + public void personalEvaluateDelete(){ + - return false; } /** ====================================会员类别============================================ **/ - @RequestMapping("/vipTypeList") - public ModelAndView vipTypeList(){ - return new ModelAndView("vip/vipTypeList"); - } - - @RequestMapping("/getVipType") - public ModelAndView getVipType(){ - - return new ModelAndView("vip/vipTypeDetail"); + @RequestMapping("/vipType.do") + public ModelAndView vipType(){ + return new ModelAndView("vip/vipType"); } - @RequestMapping("/vipTypeAdd") - public boolean vipTypeAdd(){ - - return false; + @RequestMapping("/vipTypeList.do") + @ResponseBody + public Object vipTypeList(SearchFilter searchFilter){ + Pagination page = this.vipService.getVipTypeByPage(searchFilter); + return IfishUtil.returnPageData(page, searchFilter.getsEcho()); } - @RequestMapping("/vipTypeUpdate") - public boolean vipTypeUpdate(){ - - return false; + @RequestMapping("/getVipType.do") + @ResponseBody + public Object getVipType(Integer typeId){ + 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") - public ModelAndView referrerList(){ - - return new ModelAndView("vip/referrerList"); + @RequestMapping("/referrer.do") + public ModelAndView referrer(){ + return new ModelAndView("vip/vipReferrer"); } - @RequestMapping("/getReferrer") + @RequestMapping("/referrerList.do") + @ResponseBody + public Object referrerList(SearchFilter searchFilter){ + Pagination page = this.vipService.getVipReferrerByPage(searchFilter); + return IfishUtil.returnPageData(page,searchFilter.getsEcho()); + } + + @RequestMapping("/getReferrer.do") public ModelAndView getReferrer(){ return new ModelAndView("vip/referrerDetail"); } - - @RequestMapping("/referrerAdd") - public boolean referrerAdd(){ - - return false; + @RequestMapping("/referrerAddOrUpdate.do") + @ResponseBody + public boolean referrerAddOrUpdate(VipReferrer vipReferrer){ + boolean b = this.vipService.saveOrUpdateVipReferrer(vipReferrer); + return b; } - @RequestMapping("/referrerUpdate") - public boolean referrerUpdate(){ - - return false; - } - - @RequestMapping("/referrerDelete") - public boolean referrerDelete(){ - - return false; + @RequestMapping("/referrerDelete.do") + @ResponseBody + public boolean referrerDelete(Integer referrerId,HttpServletRequest request){ + SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); + VipReferrer vipReferrer = this.vipService.getVipReferrer(referrerId); + vipReferrer.setModifyUser(securityContextImpl.getAuthentication().getName()); + vipReferrer.setModifyTime(new Date()); + vipReferrer.setReferrerStatus("1"); + boolean b = this.vipService.saveOrUpdateVipReferrer(vipReferrer); + return b; } diff --git a/src/main/java/com/ifish/dao/VipReferrerDao.java b/src/main/java/com/ifish/dao/VipReferrerDao.java new file mode 100644 index 0000000..a1918da --- /dev/null +++ b/src/main/java/com/ifish/dao/VipReferrerDao.java @@ -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 { +} diff --git a/src/main/java/com/ifish/dao/VipTypeDao.java b/src/main/java/com/ifish/dao/VipTypeDao.java new file mode 100644 index 0000000..f2e1254 --- /dev/null +++ b/src/main/java/com/ifish/dao/VipTypeDao.java @@ -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 { +} diff --git a/src/main/java/com/ifish/daoImpl/VipReferrerDaoImpl.java b/src/main/java/com/ifish/daoImpl/VipReferrerDaoImpl.java new file mode 100644 index 0000000..fc6a774 --- /dev/null +++ b/src/main/java/com/ifish/daoImpl/VipReferrerDaoImpl.java @@ -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 implements VipReferrerDao { + @Override + protected Class getEntityClass() { + return VipReferrer.class; + } +} diff --git a/src/main/java/com/ifish/daoImpl/VipTypeDaoImpl.java b/src/main/java/com/ifish/daoImpl/VipTypeDaoImpl.java new file mode 100644 index 0000000..6365fbe --- /dev/null +++ b/src/main/java/com/ifish/daoImpl/VipTypeDaoImpl.java @@ -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 implements VipTypeDao { + @Override + protected Class getEntityClass() { + return VipType.class; + } +} diff --git a/src/main/java/com/ifish/entity/VipReferrer.java b/src/main/java/com/ifish/entity/VipReferrer.java new file mode 100644 index 0000000..d8e39ac --- /dev/null +++ b/src/main/java/com/ifish/entity/VipReferrer.java @@ -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; + } +} diff --git a/src/main/java/com/ifish/entity/VipType.java b/src/main/java/com/ifish/entity/VipType.java new file mode 100644 index 0000000..e901402 --- /dev/null +++ b/src/main/java/com/ifish/entity/VipType.java @@ -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; + } +} diff --git a/src/main/java/com/ifish/service/VipService.java b/src/main/java/com/ifish/service/VipService.java new file mode 100644 index 0000000..e4411b9 --- /dev/null +++ b/src/main/java/com/ifish/service/VipService.java @@ -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 getVipTypeByPage(SearchFilter searchFilter); + + boolean saveOrUpdateVipType(VipType vipType); + + VipType getVipTypeById(Integer typeId); + + + Pagination getVipReferrerByPage(SearchFilter searchFilter); + + boolean saveOrUpdateVipReferrer(VipReferrer vipReferrer); + + VipReferrer getVipReferrer(Integer referrerId); + +} diff --git a/src/main/java/com/ifish/serviceImpl/VipServiceImpl.java b/src/main/java/com/ifish/serviceImpl/VipServiceImpl.java new file mode 100644 index 0000000..b707a3b --- /dev/null +++ b/src/main/java/com/ifish/serviceImpl/VipServiceImpl.java @@ -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 getVipTypeByPage(SearchFilter searchFilter) { + //查询条件 + List queryList = new ArrayList(); + //排序条件 + List orderList = new ArrayList(); + //分页 + Integer iDisplayStart = searchFilter.getiDisplayStart(); + Integer iDisplayLength = searchFilter.getiDisplayLength(); + queryList.add(Restrictions.eq("typeStatus","0")); + orderList.add(Order.asc("typeId")); + Pagination 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 getVipReferrerByPage(SearchFilter searchFilter) { + //查询条件 + List queryList = new ArrayList(); + //排序条件 + List orderList = new ArrayList(); + //分页 + 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 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); + } +} diff --git a/src/main/resources/application-context.xml b/src/main/resources/application-context.xml index 2a816f3..49bcb18 100644 --- a/src/main/resources/application-context.xml +++ b/src/main/resources/application-context.xml @@ -19,7 +19,7 @@ - + diff --git a/src/main/webapp/WEB-INF/view/roleAll/login.jsp b/src/main/webapp/WEB-INF/view/roleAll/login.jsp index b563f9b..9fce06c 100644 --- a/src/main/webapp/WEB-INF/view/roleAll/login.jsp +++ b/src/main/webapp/WEB-INF/view/roleAll/login.jsp @@ -19,9 +19,8 @@