diff --git a/pom.xml b/pom.xml index cc72e30..b2f047e 100644 --- a/pom.xml +++ b/pom.xml @@ -18,19 +18,24 @@ org.apache.poi poi - 3.15 + 3.8 - + org.springframework spring-core 4.1.6.RELEASE - + org.codehaus.jackson jackson-mapper-asl 1.9.13 - + + + com.alibaba + fastjson + 1.2.46 + org.springframework spring-context @@ -184,6 +189,20 @@ system ${basedir}/src/main/webapp/WEB-INF/lib/fastdfs-client-java-1.25.jar + + com.aliyun + aliyun-java-sdk-core + 3.3.1 + system + ${basedir}/src/main/webapp/WEB-INF/lib/aliyun-java-sdk-core-3.3.1.jar + + + com.aliyun + aliyun-java-sdk-dysmsapi + 1.1.0 + system + ${basedir}/src/main/webapp/WEB-INF/lib/aliyun-java-sdk-dysmsapi-1.0.0.jar + org.apache.maven.plugins diff --git a/src/main/java/com/ifish/action/VipAction.java b/src/main/java/com/ifish/action/VipAction.java index 402ebe3..e4fbb2e 100644 --- a/src/main/java/com/ifish/action/VipAction.java +++ b/src/main/java/com/ifish/action/VipAction.java @@ -1,20 +1,31 @@ package com.ifish.action; -import com.ifish.entity.VipReferrer; -import com.ifish.entity.VipType; +import com.alibaba.fastjson.JSONObject; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; +import com.aliyuncs.exceptions.ClientException; +import com.ifish.entity.*; +import com.ifish.excel.VipMemberExportExcel; +import com.ifish.excel.VipMemberImportTemplateExcel; import com.ifish.hibernate.Pagination; import com.ifish.search.SearchFilter; import com.ifish.service.VipService; import com.ifish.util.IfishUtil; +import com.ifish.util.SmsUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextImpl; import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; +import java.io.IOException; import java.util.Date; +import java.util.List; /** * @author: yan.y @@ -29,119 +40,93 @@ public class VipAction { @Autowired private VipService vipService; - /** ====================================会员信息============================================ **/ - @RequestMapping("/list.do") - public ModelAndView vipList(){ - return new ModelAndView("vip/vipList"); + @RequestMapping("/sendSms.do") + @ResponseBody + public boolean vipSendSms(HttpServletRequest request) throws ClientException { + final String birthdayType = "SMS_139242320"; + final String noticeType = "SMS_139242334"; + String oneTel = request.getParameter("oneTel"); + String smsType = request.getParameter("smsType"); + //生日 + String smsTel = request.getParameter("smsTel"); + //通知 + String smsTitle = request.getParameter("smsTitle"); + String smsTime = request.getParameter("smsTime"); + String smsAddress = request.getParameter("smsAddress"); + String smsSignTime = request.getParameter("smsSignTime"); + String smsContact = request.getParameter("smsContact"); + String smsContactTel = request.getParameter("smsContactTel"); + JSONObject param = new JSONObject(); + //单个发送 + if (oneTel != null && StringUtils.isNotBlank(oneTel)) { + VipSmsResult vipSmsResult = new VipSmsResult(); + SendSmsResponse response = null; + String[] idTel = oneTel.split("_"); + String id = idTel[0]; + VipMember vipMember = this.vipService.getVipMember(Integer.parseInt(id)); + String name = vipMember.getMemberLegal(); + vipSmsResult.setResultBussId(Integer.parseInt(id)); + vipSmsResult.setResultTel(vipMember.getMemberTel()); + vipSmsResult.setResultTemplate(smsType); + //生日提醒 + if (birthdayType.equals(smsType)) { + param.put("name",name); + param.put("tel",smsTel); + response = SmsUtil.sendSms(vipMember.getMemberTel(), smsType, param.toJSONString()); + } else if (noticeType.equals(smsType)) { + param.put("title",smsTitle); + param.put("time",smsTime); + param.put("address",smsAddress); + param.put("signTime",smsSignTime); + param.put("contact",smsContact + " " + smsContactTel); + response = SmsUtil.sendSms(vipMember.getMemberTel(), smsType, param.toJSONString()); + } + vipSmsResult.setResultCode(response.getCode()); + vipSmsResult.setResultMessage(response.getMessage()); + vipSmsResult.setResultRequestId(response.getRequestId()); + vipSmsResult.setResultBizId(response.getBizId()); + vipSmsResult.setResultCreateTime(new Date()); + this.vipService.saveSmsResult(vipSmsResult); + } else { + String[] checkMembers = request.getParameter("arrTel").split("-"); + for (String checkMember : checkMembers) { + if (StringUtils.isBlank(checkMember)) { + continue; + } + String[] idTel = checkMember.split("_"); + String id = idTel[0]; + VipMember vipMember = this.vipService.getVipMember(Integer.parseInt(id)); + VipSmsResult vipSmsResult = new VipSmsResult(); + SendSmsResponse response = null; + vipSmsResult.setResultBussId(Integer.parseInt(id)); + vipSmsResult.setResultTel(vipMember.getMemberTel()); + vipSmsResult.setResultTemplate(smsType); + String name = vipMember.getMemberLegal(); + //生日提醒 + if (birthdayType.equals(smsType)) { + param.put("name",name); + param.put("tel",smsTel); + response = SmsUtil.sendSms(vipMember.getMemberTel(), smsType, param.toJSONString()); + } else if (noticeType.equals(smsType)) { + param.put("title",smsTitle); + param.put("time",smsTime); + param.put("address",smsAddress); + param.put("signTime",smsSignTime); + param.put("contact",smsContact + " " + smsContactTel); + response = SmsUtil.sendSms(vipMember.getMemberTel(), smsType, param.toJSONString()); + } + vipSmsResult.setResultCode(response.getCode()); + vipSmsResult.setResultMessage(response.getMessage()); + vipSmsResult.setResultRequestId(response.getRequestId()); + vipSmsResult.setResultBizId(response.getBizId()); + vipSmsResult.setResultCreateTime(new Date()); + this.vipService.saveSmsResult(vipSmsResult); + } + } + return true; } - @RequestMapping("/getVip.do") - public ModelAndView getVip(){ - - return new ModelAndView("vip/vipDetail"); - } - - - @RequestMapping("/add.do") - public boolean vipAdd(){ - - return false; - } - - @RequestMapping("/update.do") - public boolean vipUpdate(){ - - return false; - } - - @RequestMapping("/delete.do") - public boolean vipDelete(){ - - return false; - } - - @RequestMapping("/export.do") - public void vipExport(){ - - - } - - @RequestMapping("/sendSmS.do") - public boolean vipSendSMS(){ - - return false; - } - - - /** ====================================单位评价信息============================================ **/ - - @RequestMapping("/companyEvaluateList.do") - public ModelAndView companyEvaluate(){ - - return new ModelAndView("vip/companyEvaluateList"); - } - - @RequestMapping("/getCompanyEvaluate.do") - public ModelAndView getCompanyEvaluate(){ - - return new ModelAndView("vip/companyEvaluateDetail"); -} - - - @RequestMapping("/companyEvaluateAdd.do") - public void companyEvaluateAdd(){ - - - } - - @RequestMapping("/companyEvaluateUpdate.do") - public void companyEvaluateUpdate(){ - - - } - - @RequestMapping("/companyEvaluateDelete.do") - public void companyEvaluateDelete(){ - - - } - - - /** ====================================个人评价信息============================================ **/ - - @RequestMapping("/personalEvaluateList.do") - public ModelAndView personalEvaluate(){ - - return new ModelAndView("vip/personalEvaluateList"); - } - - @RequestMapping("/getPersonalEvaluate.do") - public ModelAndView getPersonalEvaluate(){ - - return new ModelAndView("vip/personalEvaluateDetail"); - } - - - @RequestMapping("/personalEvaluateAdd.do") - public void personalEvaluateAdd(){ - - - } - - @RequestMapping("/personalEvaluateUpdate.do") - public void personalEvaluateUpdate(){ - - - } - - @RequestMapping("/personalEvaluateDelete.do") - public void personalEvaluateDelete(){ - - - } - - /** ====================================会员类别============================================ **/ @RequestMapping("/vipType.do") @@ -182,7 +167,9 @@ public class VipAction { /** ====================================推荐人============================================ **/ @RequestMapping("/referrer.do") - public ModelAndView referrer(){ + public ModelAndView referrer(HttpServletRequest request){ + List vipTypes = this.vipService.getVipTypeByList(); + request.setAttribute("vipTypes",vipTypes); return new ModelAndView("vip/vipReferrer"); } @@ -194,15 +181,16 @@ public class VipAction { } @RequestMapping("/getReferrer.do") - public ModelAndView getReferrer(){ - - return new ModelAndView("vip/referrerDetail"); + @ResponseBody + public Object getReferrer(Integer referrerId){ + return this.vipService.getVipReferrer(referrerId); } @RequestMapping("/referrerAddOrUpdate.do") @ResponseBody - public boolean referrerAddOrUpdate(VipReferrer vipReferrer){ - boolean b = this.vipService.saveOrUpdateVipReferrer(vipReferrer); + public boolean referrerAddOrUpdate(VipReferrer vipReferrer,HttpServletRequest request){ + SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); + boolean b = this.vipService.saveOrUpdateVipReferrer(vipReferrer,securityContextImpl.getAuthentication().getName()); return b; } @@ -211,12 +199,175 @@ public class VipAction { 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); + boolean b = this.vipService.deleteVipReferrer(vipReferrer,securityContextImpl.getAuthentication().getName()); + return b; + } + + /** ====================================个人培训============================================ **/ + + @RequestMapping("/personal.do") + public ModelAndView personal(){ + return new ModelAndView("vip/vipPersonal"); + } + + @RequestMapping("/personalList.do") + @ResponseBody + public Object personalList(SearchFilter searchFilter){ + Pagination page = this.vipService.getVipPersonalByPage(searchFilter); + return IfishUtil.returnPageData(page,searchFilter.getsEcho()); + } + + @RequestMapping("/personalAddOrUpdate.do") + @ResponseBody + public boolean personalAddOrUpdate(VipPersonal vipPersonal,HttpServletRequest request){ + SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); + boolean b = this.vipService.saveOrUpdateVipPersonal(vipPersonal, securityContextImpl.getAuthentication().getName()); + return b; + } + + @RequestMapping("/getPersonal.do") + @ResponseBody + public Object getPersonal(Integer personalId){ + return this.vipService.getVipPersonal(personalId); + } + + @RequestMapping("/personalDelete.do") + @ResponseBody + public boolean personalDelete(Integer personalId,HttpServletRequest request){ + SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); + VipPersonal vipPersonal = this.vipService.getVipPersonal(personalId); + boolean b = this.vipService.deleteVipPersonal(vipPersonal, securityContextImpl.getAuthentication().getName()); + return b; + } + + /** ====================================单位评价证============================================ **/ + + @RequestMapping("/company.do") + public ModelAndView company(){ + return new ModelAndView("vip/vipCompany"); + } + + @RequestMapping("/companyList.do") + @ResponseBody + public Object companyList(SearchFilter searchFilter){ + Pagination page = this.vipService.getVipCompanyByPage(searchFilter); + return IfishUtil.returnPageData(page,searchFilter.getsEcho()); + } + + @RequestMapping("/companyAddOrUpdate.do") + @ResponseBody + public boolean companyAddOrUpdate(VipCompany vipCompany, HttpServletRequest request){ + SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); + boolean b = this.vipService.saveOrUpdateVipCompany(vipCompany, securityContextImpl.getAuthentication().getName()); + return b; + } + + @RequestMapping("/companyAddOrUpdateByReturn.do") + @ResponseBody + public Object companyAdd(VipCompany vipCompany, HttpServletRequest request){ + SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); + VipCompany company = this.vipService.saveOrUpDateVipCompanyByReturn(vipCompany, securityContextImpl.getAuthentication().getName()); + return company; + } + + @RequestMapping("/getCompany.do") + @ResponseBody + public Object getCompany(Integer companyId){ + return this.vipService.getVipCompany(companyId); + } + + @RequestMapping("/companyDelete.do") + @ResponseBody + public boolean companyDelete(Integer companyId,HttpServletRequest request){ + SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); + VipCompany vipCompany = this.vipService.getVipCompany(companyId); + boolean b = this.vipService.deleteVipCompany(vipCompany, securityContextImpl.getAuthentication().getName()); return b; } + /** ====================================会员信息============================================ **/ + + @RequestMapping("/member.do") + public ModelAndView member(){ + return new ModelAndView("vip/vipMember"); + } + + @RequestMapping("/memberList.do") + @ResponseBody + public Object memberList(SearchFilter searchFilter){ + Pagination page = this.vipService.getVipMemberByPage(searchFilter); + return IfishUtil.returnPageData(page,searchFilter.getsEcho()); + } + + @RequestMapping("/gotoMemberAdd.do") + public ModelAndView gotoMemberAdd(HttpServletRequest request){ + List vipTypes = this.vipService.getVipTypeByList(); + request.setAttribute("vipTypes",vipTypes); + return new ModelAndView("vip/vipMemberAdd"); + } + + + @RequestMapping("/memberAddOrUpdate.do") + public ModelAndView memberAddOrUpdate(VipMember vipMember, HttpServletRequest request){ + SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); + String companyIds = request.getParameter("companyIds"); + this.vipService.saveOrUpdateVipMember(vipMember, securityContextImpl.getAuthentication().getName(),companyIds); + return new ModelAndView("vip/vipMember"); + } + + @RequestMapping("/gotoMemberUpdate.do") + public ModelAndView gotoMemberUpdate(Integer memberId,HttpServletRequest request){ + List vipTypes = this.vipService.getVipTypeByList(); + request.setAttribute("vipTypes",vipTypes); + VipMember vipMember = this.vipService.getVipMember(memberId); + request.setAttribute("vipMember",vipMember); + List vipCompanys = this.vipService.getVipCompanys(memberId); + request.setAttribute("companys",vipCompanys); + VipReferrer vipReferrer = this.vipService.getVipReferrer(vipMember.getMemberReferrer().getReferrerId()); + request.setAttribute("vipReferrer",vipReferrer); + return new ModelAndView("vip/vipMemberUpdate"); + } + + @RequestMapping("/memberDelete.do") + @ResponseBody + public boolean memberDelete(Integer memberId,HttpServletRequest request){ + SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); + VipMember vipMember = this.vipService.getVipMember(memberId); + boolean b = this.vipService.deleteVipMember(vipMember, securityContextImpl.getAuthentication().getName()); + return b; + } + + /** ====================================下载上传============================================ **/ + + @RequestMapping("/downloadMemberImportTemplateToExcel.do") + public ModelAndView downloadMemberImportTemplateToExcel(ModelMap model,SearchFilter searchFilter) { + Pagination vipTypes = this.vipService.getVipTypeByPage(searchFilter); + Pagination referrers = this.vipService.getVipReferrerByPage(searchFilter); + model.put("vipTypes", vipTypes.getList()); + model.put("referrers", referrers.getList()); + VipMemberImportTemplateExcel excel = new VipMemberImportTemplateExcel(); + return new ModelAndView(excel, model); + } + + + @RequestMapping("/downloadMemberExportToExcel.do") + public ModelAndView downloadMemberExportToExcel(ModelMap model,SearchFilter searchFilter){ + Pagination vipMembers = this.vipService.getVipMemberByPage(searchFilter); + model.put("vipMembers",vipMembers.getList()); + VipMemberExportExcel excel = new VipMemberExportExcel(); + return new ModelAndView(excel,model); + } + + @RequestMapping("/downloadMemberImportToExcel.do") + public ModelAndView downloadMemberImportToExcel(@RequestParam("fileUpload") MultipartFile fileUpload,HttpServletRequest request){ + SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); + try { + this.vipService.filesSaveVipMember(fileUpload.getInputStream(), securityContextImpl.getAuthentication().getName()); + } catch (IOException e) { + e.printStackTrace(); + } + + return new ModelAndView("vip/vipMember"); + } } diff --git a/src/main/java/com/ifish/dao/VipCompanyDao.java b/src/main/java/com/ifish/dao/VipCompanyDao.java new file mode 100644 index 0000000..884ae5a --- /dev/null +++ b/src/main/java/com/ifish/dao/VipCompanyDao.java @@ -0,0 +1,12 @@ +package com.ifish.dao; + +import com.ifish.entity.VipCompany; + +/** + * @author: yan.y + * @Description: + * @Date: Created in 22:42 2018/7/5 + * @Modified by: + */ +public interface VipCompanyDao extends BaseDao { +} diff --git a/src/main/java/com/ifish/dao/VipMemberDao.java b/src/main/java/com/ifish/dao/VipMemberDao.java new file mode 100644 index 0000000..60533ad --- /dev/null +++ b/src/main/java/com/ifish/dao/VipMemberDao.java @@ -0,0 +1,12 @@ +package com.ifish.dao; + +import com.ifish.entity.VipMember; + +/** + * @author: yan.y + * @Description: + * @Date: Created in 22:42 2018/7/5 + * @Modified by: + */ +public interface VipMemberDao extends BaseDao { +} diff --git a/src/main/java/com/ifish/dao/VipPersonalDao.java b/src/main/java/com/ifish/dao/VipPersonalDao.java new file mode 100644 index 0000000..1e1b7d6 --- /dev/null +++ b/src/main/java/com/ifish/dao/VipPersonalDao.java @@ -0,0 +1,12 @@ +package com.ifish.dao; + +import com.ifish.entity.VipPersonal; + +/** + * @author: yan.y + * @Description: + * @Date: Created in 22:42 2018/7/5 + * @Modified by: + */ +public interface VipPersonalDao extends BaseDao { +} diff --git a/src/main/java/com/ifish/dao/VipSmsResultDao.java b/src/main/java/com/ifish/dao/VipSmsResultDao.java new file mode 100644 index 0000000..029b93c --- /dev/null +++ b/src/main/java/com/ifish/dao/VipSmsResultDao.java @@ -0,0 +1,12 @@ +package com.ifish.dao; + +import com.ifish.entity.VipSmsResult; + +/** + * @author: yan.y + * @Description: + * @Date: Created in 22:42 2018/7/5 + * @Modified by: + */ +public interface VipSmsResultDao extends BaseDao { +} diff --git a/src/main/java/com/ifish/daoImpl/VipCompanyDaoImpl.java b/src/main/java/com/ifish/daoImpl/VipCompanyDaoImpl.java new file mode 100644 index 0000000..965c2a9 --- /dev/null +++ b/src/main/java/com/ifish/daoImpl/VipCompanyDaoImpl.java @@ -0,0 +1,20 @@ +package com.ifish.daoImpl; + +import com.ifish.dao.VipCompanyDao; +import com.ifish.entity.VipCompany; +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("vipCompanyDao") +public class VipCompanyDaoImpl extends HibernateBaseDao implements VipCompanyDao { + @Override + protected Class getEntityClass() { + return VipCompany.class; + } +} diff --git a/src/main/java/com/ifish/daoImpl/VipMemberDaoImpl.java b/src/main/java/com/ifish/daoImpl/VipMemberDaoImpl.java new file mode 100644 index 0000000..d5aa6dd --- /dev/null +++ b/src/main/java/com/ifish/daoImpl/VipMemberDaoImpl.java @@ -0,0 +1,20 @@ +package com.ifish.daoImpl; + +import com.ifish.dao.VipMemberDao; +import com.ifish.entity.VipMember; +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("vipMemberDao") +public class VipMemberDaoImpl extends HibernateBaseDao implements VipMemberDao { + @Override + protected Class getEntityClass() { + return VipMember.class; + } +} diff --git a/src/main/java/com/ifish/daoImpl/VipPersonalDaoImpl.java b/src/main/java/com/ifish/daoImpl/VipPersonalDaoImpl.java new file mode 100644 index 0000000..4b4a897 --- /dev/null +++ b/src/main/java/com/ifish/daoImpl/VipPersonalDaoImpl.java @@ -0,0 +1,20 @@ +package com.ifish.daoImpl; + +import com.ifish.dao.VipPersonalDao; +import com.ifish.entity.VipPersonal; +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("vipPersonalDao") +public class VipPersonalDaoImpl extends HibernateBaseDao implements VipPersonalDao { + @Override + protected Class getEntityClass() { + return VipPersonal.class; + } +} diff --git a/src/main/java/com/ifish/daoImpl/VipSmsResultDaoImpl.java b/src/main/java/com/ifish/daoImpl/VipSmsResultDaoImpl.java new file mode 100644 index 0000000..83de1b4 --- /dev/null +++ b/src/main/java/com/ifish/daoImpl/VipSmsResultDaoImpl.java @@ -0,0 +1,20 @@ +package com.ifish.daoImpl; + +import com.ifish.dao.VipSmsResultDao; +import com.ifish.entity.VipSmsResult; +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("vipSmsResultDao") +public class VipSmsResultDaoImpl extends HibernateBaseDao implements VipSmsResultDao { + @Override + protected Class getEntityClass() { + return VipSmsResult.class; + } +} diff --git a/src/main/java/com/ifish/entity/VipCompany.java b/src/main/java/com/ifish/entity/VipCompany.java new file mode 100644 index 0000000..b0cb975 --- /dev/null +++ b/src/main/java/com/ifish/entity/VipCompany.java @@ -0,0 +1,211 @@ +package com.ifish.entity; + +import com.alibaba.fastjson.annotation.JSONField; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * @author: yan.y + * @Description: + * @Date: Created in 22:29 2018/7/5 + * @Modified by: + */ +@Entity +@Table(name = "tbl_vip_company") +public class VipCompany implements Serializable{ + + @Id + @GeneratedValue(strategy= GenerationType.IDENTITY) + @Column(name = "vip_company_id") + private Integer companyId; + + @OneToOne + @JoinColumn(name = "vip_member") + private VipMember vipMember; + + @Column(name = "vip_certificate_card") + private String certificateCard; + + @Column(name = "vip_certificate_level") + private String certificateLevel; + + @Column(name = "vip_certificate_type") + private String certificateType; + + @Column(name = "vip_certificate_apply_time") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(format="yyyy-MM-dd") + private Date certificateApplyTime; + + @Column(name = "vip_certificate_maturity_time") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(format="yyyy-MM-dd") + private Date certificateMaturityTime; + + @Column(name = "vip_openticket_time") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(format="yyyy-MM-dd") + private Date openticketTime; + + @Column(name = "vip_outcard_time") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(format="yyyy-MM-dd") + private Date outcardTime; + + @Column(name = "vip_annual_review_time") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(format="yyyy-MM-dd") + private Date annualReviewTime; + + @Column(name = "vip_cost") + private Double cost; + + @Column(name = "vip_certificate_status") + private String certificateStatus; + + @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_modify_time") + @Temporal(TemporalType.TIMESTAMP) + private Date modifyTime; + + + public Integer getCompanyId() { + return companyId; + } + + public void setCompanyId(Integer companyId) { + this.companyId = companyId; + } + + public VipMember getVipMember() { + return vipMember; + } + + public void setVipMember(VipMember vipMember) { + this.vipMember = vipMember; + } + + public String getCertificateCard() { + return certificateCard; + } + + public void setCertificateCard(String certificateCard) { + this.certificateCard = certificateCard; + } + + public String getCertificateLevel() { + return certificateLevel; + } + + public void setCertificateLevel(String certificateLevel) { + this.certificateLevel = certificateLevel; + } + + public String getCertificateType() { + return certificateType; + } + + public void setCertificateType(String certificateType) { + this.certificateType = certificateType; + } + + public Date getCertificateApplyTime() { + return certificateApplyTime; + } + + public void setCertificateApplyTime(Date certificateApplyTime) { + this.certificateApplyTime = certificateApplyTime; + } + + public Date getCertificateMaturityTime() { + return certificateMaturityTime; + } + + public void setCertificateMaturityTime(Date certificateMaturityTime) { + this.certificateMaturityTime = certificateMaturityTime; + } + + public Date getOpenticketTime() { + return openticketTime; + } + + public void setOpenticketTime(Date openticketTime) { + this.openticketTime = openticketTime; + } + + public Date getOutcardTime() { + return outcardTime; + } + + public void setOutcardTime(Date outcardTime) { + this.outcardTime = outcardTime; + } + + public Date getAnnualReviewTime() { + return annualReviewTime; + } + + public void setAnnualReviewTime(Date annualReviewTime) { + this.annualReviewTime = annualReviewTime; + } + + public Double getCost() { + return cost; + } + + public void setCost(Double cost) { + this.cost = cost; + } + + public String getCertificateStatus() { + return certificateStatus; + } + + public void setCertificateStatus(String certificateStatus) { + this.certificateStatus = certificateStatus; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + 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; + } + + public Date getModifyTime() { + return modifyTime; + } + + public void setModifyTime(Date modifyTime) { + this.modifyTime = modifyTime; + } +} diff --git a/src/main/java/com/ifish/entity/VipMember.java b/src/main/java/com/ifish/entity/VipMember.java new file mode 100644 index 0000000..bc67716 --- /dev/null +++ b/src/main/java/com/ifish/entity/VipMember.java @@ -0,0 +1,373 @@ +package com.ifish.entity; + +import com.alibaba.fastjson.annotation.JSONField; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; +import java.util.Set; + +/** + * @author: yan.y + * @Description: + * @Date: Created in 22:29 2018/7/5 + * @Modified by: + */ +@Entity +@Table(name = "tbl_vip_member") +public class VipMember implements Serializable{ + + @Id + @GeneratedValue(strategy= GenerationType.IDENTITY) + @Column(name = "vip_member_id") + private Integer memberId; + + @Column(name = "vip_member_name") + private String memberName; + + @Column(name = "vip_member_legal") + private String memberLegal; + + @Column(name = "vip_member_legal_card") + private String memberLegalCard; + + @OneToOne + @JoinColumn(name = "vip_member_referrer") + private VipReferrer memberReferrer; + + @OneToOne + @JoinColumn(name = "vip_member_type") + private VipType memberType; + + @OneToMany(targetEntity = VipCompany.class) + @JoinColumn(name = "vip_member") + @JSONField(serialize = false) + private Set vipCompanies; + + @Column(name = "vip_member_card") + private String memberCard; + + @Column(name = "vip_member_admission_time") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(format="yyyy-MM-dd") + private Date memberAdmissionTime; + + @Column(name = "vip_member_maturity_time") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(format="yyyy-MM-dd") + private Date memberMaturityTime; + + @Column(name = "vip_member_contact") + private String memberContact; + + @Column(name = "vip_member_contact_tel") + private String memberContactTel; + + @Column(name = "vip_member_contact_situation") + private String memberContactSituation; + + @Column(name = "vip_member_website") + private String memberWebsite; + + @Column(name = "vip_member_tel") + private String memberTel; + + @Column(name = "vip_member_qq") + private String memberQQ; + + @Column(name = "vip_member_situation") + private String memberSituation; + + @Column(name = "vip_member_birthday") + private String memberBirthday; + + @Column(name = "vip_member_address") + private String memberAddress; + + @Column(name = "vip_member_email") + private String memberEmail; + + @Column(name = "vip_member_wechat") + private String memberWechat; + + @Column(name = "vip_member_url") + private String memberUrl; + + @Column(name = "vip_member_demand") + private String memberDemand; + + @Column(name = "vip_member_item") + private String memberItem; + + @Column(name = "vip_member_fee") + private Double memberFee; + + @Column(name = "vip_member_qualification") + private String memberQualification; + + @Column(name = "vip_certificate_status") + private String certificateStatus; + + @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_modify_time") + @Temporal(TemporalType.TIMESTAMP) + private Date modifyTime; + + public Integer getMemberId() { + return memberId; + } + + public void setMemberId(Integer memberId) { + this.memberId = memberId; + } + + public String getMemberName() { + return memberName; + } + + public void setMemberName(String memberName) { + this.memberName = memberName; + } + + public String getMemberLegal() { + return memberLegal; + } + + public void setMemberLegal(String memberLegal) { + this.memberLegal = memberLegal; + } + + public String getMemberLegalCard() { + return memberLegalCard; + } + + public void setMemberLegalCard(String memberLegalCard) { + this.memberLegalCard = memberLegalCard; + } + + public VipReferrer getMemberReferrer() { + return memberReferrer; + } + + public void setMemberReferrer(VipReferrer memberReferrer) { + this.memberReferrer = memberReferrer; + } + + public VipType getMemberType() { + return memberType; + } + + public void setMemberType(VipType memberType) { + this.memberType = memberType; + } + + public Set getVipCompanies() { + return vipCompanies; + } + + public void setVipCompanies(Set vipCompanies) { + this.vipCompanies = vipCompanies; + } + + public String getMemberCard() { + return memberCard; + } + + public void setMemberCard(String memberCard) { + this.memberCard = memberCard; + } + + public Date getMemberAdmissionTime() { + return memberAdmissionTime; + } + + public void setMemberAdmissionTime(Date memberAdmissionTime) { + this.memberAdmissionTime = memberAdmissionTime; + } + + public Date getMemberMaturityTime() { + return memberMaturityTime; + } + + public void setMemberMaturityTime(Date memberMaturityTime) { + this.memberMaturityTime = memberMaturityTime; + } + + public String getMemberContact() { + return memberContact; + } + + public void setMemberContact(String memberContact) { + this.memberContact = memberContact; + } + + public String getMemberContactTel() { + return memberContactTel; + } + + public void setMemberContactTel(String memberContactTel) { + this.memberContactTel = memberContactTel; + } + + public String getMemberContactSituation() { + return memberContactSituation; + } + + public void setMemberContactSituation(String memberContactSituation) { + this.memberContactSituation = memberContactSituation; + } + + public String getMemberWebsite() { + return memberWebsite; + } + + public void setMemberWebsite(String memberWebsite) { + this.memberWebsite = memberWebsite; + } + + public String getMemberTel() { + return memberTel; + } + + public void setMemberTel(String memberTel) { + this.memberTel = memberTel; + } + + public String getMemberQQ() { + return memberQQ; + } + + public void setMemberQQ(String memberQQ) { + this.memberQQ = memberQQ; + } + + public String getMemberSituation() { + return memberSituation; + } + + public void setMemberSituation(String memberSituation) { + this.memberSituation = memberSituation; + } + + public String getMemberBirthday() { + return memberBirthday; + } + + public void setMemberBirthday(String memberBirthday) { + this.memberBirthday = memberBirthday; + } + + public String getMemberAddress() { + return memberAddress; + } + + public void setMemberAddress(String memberAddress) { + this.memberAddress = memberAddress; + } + + public String getMemberEmail() { + return memberEmail; + } + + public void setMemberEmail(String memberEmail) { + this.memberEmail = memberEmail; + } + + public String getMemberWechat() { + return memberWechat; + } + + public void setMemberWechat(String memberWechat) { + this.memberWechat = memberWechat; + } + + public String getMemberUrl() { + return memberUrl; + } + + public void setMemberUrl(String memberUrl) { + this.memberUrl = memberUrl; + } + + public String getMemberDemand() { + return memberDemand; + } + + public void setMemberDemand(String memberDemand) { + this.memberDemand = memberDemand; + } + + public String getMemberItem() { + return memberItem; + } + + public void setMemberItem(String memberItem) { + this.memberItem = memberItem; + } + + public Double getMemberFee() { + return memberFee; + } + + public void setMemberFee(Double memberFee) { + this.memberFee = memberFee; + } + + public String getMemberQualification() { + return memberQualification; + } + + public void setMemberQualification(String memberQualification) { + this.memberQualification = memberQualification; + } + + public String getCertificateStatus() { + return certificateStatus; + } + + public void setCertificateStatus(String certificateStatus) { + this.certificateStatus = certificateStatus; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + 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; + } + + public Date getModifyTime() { + return modifyTime; + } + + public void setModifyTime(Date modifyTime) { + this.modifyTime = modifyTime; + } +} diff --git a/src/main/java/com/ifish/entity/VipPersonal.java b/src/main/java/com/ifish/entity/VipPersonal.java new file mode 100644 index 0000000..32079d0 --- /dev/null +++ b/src/main/java/com/ifish/entity/VipPersonal.java @@ -0,0 +1,213 @@ +package com.ifish.entity; + +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * @author: yan.y + * @Description: + * @Date: Created in 22:29 2018/7/5 + * @Modified by: + */ +@Entity +@Table(name = "tbl_vip_personal") +public class VipPersonal implements Serializable{ + + @Id + @GeneratedValue(strategy= GenerationType.IDENTITY) + @Column(name = "vip_personal_id") + private Integer personalId; + + @Column(name = "vip_personal_name") + private String personalName; + + @Column(name = "vip_certificate_card") + private String certificateCard; + + @Column(name = "vip_card_num") + private String cardNum; + + @Column(name = "vip_certificate_level") + private String certificateLevel; + + @Column(name = "vip_certificate_type") + private String certificateType; + + @Column(name = "vip_certificate_apply_time") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(format="yyyy-MM-dd") + private Date certificateApplyTime; + + @Column(name = "vip_certificate_maturity_time") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(format="yyyy-MM-dd") + private Date certificateMaturityTime; + + @Column(name = "vip_certificate_receive_time") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(format="yyyy-MM-dd") + private Date certificateReceiveTime; + + @Column(name = "vip_upload_website") + private String uploadWebsite; + + @Column(name = "vip_certificate_remark") + private String certificateRemark; + + @Column(name = "vip_certificate_status") + private String certificateStatus; + + @Column(name = "vip_create_user") + private String createUser; + + @Column(name = "vip_create_time") + @Temporal(TemporalType.TIMESTAMP) + @JSONField(format="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @Column(name = "vip_modify_user") + private String modifyUser; + + @Column(name = "vip_modify_time") + @JSONField(format="yyyy-MM-dd HH:mm:ss") + @Temporal(TemporalType.TIMESTAMP) + private Date modifyTime; + + + public Integer getPersonalId() { + return personalId; + } + + public void setPersonalId(Integer personalId) { + this.personalId = personalId; + } + + public String getPersonalName() { + return personalName; + } + + public void setPersonalName(String personalName) { + this.personalName = personalName; + } + + public String getCertificateCard() { + return certificateCard; + } + + public void setCertificateCard(String certificateCard) { + this.certificateCard = certificateCard; + } + + public String getCardNum() { + return cardNum; + } + + public void setCardNum(String cardNum) { + this.cardNum = cardNum; + } + + public String getCertificateLevel() { + return certificateLevel; + } + + public void setCertificateLevel(String certificateLevel) { + this.certificateLevel = certificateLevel; + } + + public String getCertificateType() { + return certificateType; + } + + public void setCertificateType(String certificateType) { + this.certificateType = certificateType; + } + + public Date getCertificateApplyTime() { + return certificateApplyTime; + } + + public void setCertificateApplyTime(Date certificateApplyTime) { + this.certificateApplyTime = certificateApplyTime; + } + + public Date getCertificateMaturityTime() { + return certificateMaturityTime; + } + + public void setCertificateMaturityTime(Date certificateMaturityTime) { + this.certificateMaturityTime = certificateMaturityTime; + } + + @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8") + public Date getCertificateReceiveTime() { + return certificateReceiveTime; + } + + public void setCertificateReceiveTime(Date certificateReceiveTime) { + this.certificateReceiveTime = certificateReceiveTime; + } + + public String getUploadWebsite() { + return uploadWebsite; + } + + public void setUploadWebsite(String uploadWebsite) { + this.uploadWebsite = uploadWebsite; + } + + public String getCertificateRemark() { + return certificateRemark; + } + + public void setCertificateRemark(String certificateRemark) { + this.certificateRemark = certificateRemark; + } + + public String getCertificateStatus() { + return certificateStatus; + } + + public void setCertificateStatus(String certificateStatus) { + this.certificateStatus = certificateStatus; + } + + 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; + } + + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + public String getModifyUser() { + return modifyUser; + } + + public void setModifyUser(String modifyUser) { + this.modifyUser = modifyUser; + } + + public Date getModifyTime() { + return modifyTime; + } + + public void setModifyTime(Date modifyTime) { + this.modifyTime = modifyTime; + } +} diff --git a/src/main/java/com/ifish/entity/VipReferrer.java b/src/main/java/com/ifish/entity/VipReferrer.java index d8e39ac..2955c3b 100644 --- a/src/main/java/com/ifish/entity/VipReferrer.java +++ b/src/main/java/com/ifish/entity/VipReferrer.java @@ -1,6 +1,8 @@ package com.ifish.entity; +import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.*; import java.io.Serializable; @@ -29,6 +31,8 @@ public class VipReferrer implements Serializable{ private VipType referrerType; @Column(name = "vip_admission_time") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(format="yyyy-MM-dd") private Date referrerAdmissionTime; @Column(name = "vip_referrer_remark") @@ -42,6 +46,7 @@ public class VipReferrer implements Serializable{ @Column(name = "vip_create_time") @Temporal(TemporalType.TIMESTAMP) + @JSONField(format="yyyy-MM-dd HH:mm:ss") private Date createTime; @Column(name = "vip_modify_user") @@ -49,6 +54,7 @@ public class VipReferrer implements Serializable{ @Column(name = "vip_mofify_time") @Temporal(TemporalType.TIMESTAMP) + @JSONField(format="yyyy-MM-dd HH:mm:ss") private Date modifyTime; public Integer getReferrerId() { @@ -75,7 +81,6 @@ public class VipReferrer implements Serializable{ this.referrerType = referrerType; } - @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8") public Date getReferrerAdmissionTime() { return referrerAdmissionTime; } @@ -108,7 +113,6 @@ public class VipReferrer implements Serializable{ this.createUser = createUser; } - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") public Date getCreateTime() { return createTime; } @@ -125,7 +129,6 @@ public class VipReferrer implements Serializable{ this.modifyUser = modifyUser; } - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") public Date getModifyTime() { return modifyTime; } diff --git a/src/main/java/com/ifish/entity/VipSmsResult.java b/src/main/java/com/ifish/entity/VipSmsResult.java new file mode 100644 index 0000000..b081208 --- /dev/null +++ b/src/main/java/com/ifish/entity/VipSmsResult.java @@ -0,0 +1,118 @@ +package com.ifish.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * @author: yan.y + * @Description: + * @Date: Created in 23:40 2018/7/11 + * @Modified by: + */ +@Entity +@Table(name = "tbl_vip_sms_result") +public class VipSmsResult implements Serializable { + + @Id + @GeneratedValue(strategy= GenerationType.IDENTITY) + @Column(name = "vip_result_id") + private Integer resultId; + + @Column(name = "vip_result_buss_id") + private Integer resultBussId; + + @Column(name = "vip_result_tel") + private String resultTel; + + @Column(name = "vip_result_template") + private String resultTemplate; + + @Column(name = "vip_result_code") + private String resultCode; + + @Column(name = "vip_result_messae") + private String resultMessage; + + @Column(name = "vip_result_requestid") + private String resultRequestId; + + @Column(name = "vip_result_bizid") + private String resultBizId; + + @Column(name = "vip_result_createtime") + @Temporal(TemporalType.TIMESTAMP) + private Date resultCreateTime; + + public Integer getResultId() { + return resultId; + } + + public void setResultId(Integer resultId) { + this.resultId = resultId; + } + + public Integer getResultBussId() { + return resultBussId; + } + + public void setResultBussId(Integer resultBussId) { + this.resultBussId = resultBussId; + } + + public String getResultTel() { + return resultTel; + } + + public void setResultTel(String resultTel) { + this.resultTel = resultTel; + } + + public String getResultTemplate() { + return resultTemplate; + } + + public void setResultTemplate(String resultTemplate) { + this.resultTemplate = resultTemplate; + } + + public String getResultCode() { + return resultCode; + } + + public void setResultCode(String resultCode) { + this.resultCode = resultCode; + } + + public String getResultMessage() { + return resultMessage; + } + + public void setResultMessage(String resultMessage) { + this.resultMessage = resultMessage; + } + + public String getResultRequestId() { + return resultRequestId; + } + + public void setResultRequestId(String resultRequestId) { + this.resultRequestId = resultRequestId; + } + + public String getResultBizId() { + return resultBizId; + } + + public void setResultBizId(String resultBizId) { + this.resultBizId = resultBizId; + } + + public Date getResultCreateTime() { + return resultCreateTime; + } + + public void setResultCreateTime(Date resultCreateTime) { + this.resultCreateTime = resultCreateTime; + } +} diff --git a/src/main/java/com/ifish/excel/VipMemberExportExcel.java b/src/main/java/com/ifish/excel/VipMemberExportExcel.java new file mode 100644 index 0000000..6173f46 --- /dev/null +++ b/src/main/java/com/ifish/excel/VipMemberExportExcel.java @@ -0,0 +1,106 @@ +package com.ifish.excel; + +import com.ifish.entity.VipMember; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFFont; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.springframework.web.servlet.view.document.AbstractExcelView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * @author: yan.y + * @Description: + * @Date: Created in 23:59 2018/7/10 + * @Modified by: + */ +public class VipMemberExportExcel extends AbstractExcelView{ + + @Override + protected void buildExcelDocument(Map model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { + //表头样式 + HSSFCellStyle style = workbook.createCellStyle(); + //字体样式 + HSSFFont fontStyle = workbook.createFont(); + fontStyle.setFontName("微软雅黑"); + fontStyle.setFontHeightInPoints((short)12); + style.setFont(fontStyle); + + HSSFSheet sheet = workbook.createSheet("sheet"); + getCell(sheet,0,0).setCellValue("单位名称"); + getCell(sheet,0,1).setCellValue("法人代表"); + getCell(sheet,0,2).setCellValue("法人身份证号"); + getCell(sheet,0,3).setCellValue("推荐人"); + getCell(sheet,0,4).setCellValue("会员类型"); + getCell(sheet,0,5).setCellValue("会员编号"); + getCell(sheet,0,6).setCellValue("入会时间"); + getCell(sheet,0,7).setCellValue("到期时间"); + getCell(sheet,0,8).setCellValue("联系人"); + getCell(sheet,0,9).setCellValue("联系人电话"); + getCell(sheet,0,10).setCellValue("联系情况"); + getCell(sheet,0,11).setCellValue("官网是否录入"); + getCell(sheet,0,12).setCellValue("手机"); + getCell(sheet,0,13).setCellValue("QQ"); + getCell(sheet,0,14).setCellValue("微信"); + getCell(sheet,0,15).setCellValue("邮箱"); + getCell(sheet,0,16).setCellValue("企业情况"); + getCell(sheet,0,17).setCellValue("生日"); + getCell(sheet,0,18).setCellValue("单位地址"); + getCell(sheet,0,19).setCellValue("企业网址"); + getCell(sheet,0,20).setCellValue("需求信息"); + getCell(sheet,0,21).setCellValue("项目匹配"); + getCell(sheet,0,22).setCellValue("会费"); + getCell(sheet,0,23).setCellValue("是否有环保资质"); + Calendar calendar = Calendar.getInstance(); + List vipMembers = (List) model.get("vipMembers"); + for (int i = 0; i < vipMembers.size(); i++) { + VipMember vipMember = vipMembers.get(i); + getCell(sheet,i+1,0).setCellValue(vipMember.getMemberName()); + getCell(sheet,i+1,1).setCellValue(vipMember.getMemberLegal()); + getCell(sheet,i+1,2).setCellValue(vipMember.getMemberLegalCard()); + getCell(sheet,i+1,3).setCellValue(vipMember.getMemberReferrer().getReferrerName()); + getCell(sheet,i+1,4).setCellValue(vipMember.getMemberType().getTypeName()); + getCell(sheet,i+1,5).setCellValue(vipMember.getMemberCard()); + Date memberAdmissionTime = vipMember.getMemberAdmissionTime(); + calendar.setTime(memberAdmissionTime); + + getCell(sheet,i+1,6).setCellValue(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DAY_OF_MONTH)); + Date memberMaturityTime = vipMember.getMemberMaturityTime(); + calendar.setTime(memberMaturityTime); + getCell(sheet,i+1,7).setCellValue(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DAY_OF_MONTH)); + getCell(sheet,i+1,8).setCellValue(vipMember.getMemberContact()); + getCell(sheet,i+1,9).setCellValue(vipMember.getMemberContactTel()); + getCell(sheet,i+1,10).setCellValue(vipMember.getMemberContactSituation()); + getCell(sheet,i+1,11).setCellValue(vipMember.getMemberWebsite()); + getCell(sheet,i+1,12).setCellValue(vipMember.getMemberTel()); + getCell(sheet,i+1,13).setCellValue(vipMember.getMemberQQ()); + getCell(sheet,i+1,14).setCellValue(vipMember.getMemberWechat()); + getCell(sheet,i+1,15).setCellValue(vipMember.getMemberEmail()); + getCell(sheet,i+1,16).setCellValue(vipMember.getMemberSituation()); + getCell(sheet,i+1,17).setCellValue(vipMember.getMemberBirthday()); + getCell(sheet,i+1,18).setCellValue(vipMember.getMemberAddress()); + getCell(sheet,i+1,19).setCellValue(vipMember.getMemberUrl()); + getCell(sheet,i+1,20).setCellValue(vipMember.getMemberDemand()); + getCell(sheet,i+1,21).setCellValue(vipMember.getMemberItem()); + getCell(sheet,i+1,22).setCellValue(vipMember.getMemberFee()); + getCell(sheet,i+1,23).setCellValue(vipMember.getMemberQualification().equals("0") ? "是" : "否"); + } + + String filename = URLEncoder.encode("会员信息导出.xls", "UTF-8"); + response.setContentType("application/vnd.ms-excel"); + response.setHeader("Content-disposition", "attachment;filename=" + filename); + OutputStream ouputStream = response.getOutputStream(); + workbook.write(ouputStream); + ouputStream.flush(); + ouputStream.close(); + + } +} diff --git a/src/main/java/com/ifish/excel/VipMemberImportTemplateExcel.java b/src/main/java/com/ifish/excel/VipMemberImportTemplateExcel.java new file mode 100644 index 0000000..a74eefa --- /dev/null +++ b/src/main/java/com/ifish/excel/VipMemberImportTemplateExcel.java @@ -0,0 +1,136 @@ +package com.ifish.excel; + +import com.ifish.entity.VipReferrer; +import com.ifish.entity.VipType; +import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddressList; +import org.springframework.web.servlet.view.document.AbstractExcelView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.List; +import java.util.Map; + +/** + * @author: yan.y + * @Description: + * @Date: Created in 22:23 2018/7/9 + * @Modified by: + */ +public class VipMemberImportTemplateExcel extends AbstractExcelView { + + @Override + protected void buildExcelDocument(Map model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { + + //表头样式 + HSSFCellStyle style = workbook.createCellStyle(); + //字体样式 + HSSFFont fontStyle = workbook.createFont(); + fontStyle.setFontName("微软雅黑"); + fontStyle.setFontHeightInPoints((short)12); + style.setFont(fontStyle); + + HSSFSheet sheet = workbook.createSheet("sheet"); + sheet.autoSizeColumn(0); + getCell(sheet,0,0).setCellValue("单位名称(必填)"); + getCell(sheet,0,1).setCellValue("法人代表(必填)"); + getCell(sheet,0,2).setCellValue("法人身份证号(必填)"); + getCell(sheet,0,3).setCellValue("推荐人(只能选择或者为空)"); + getCell(sheet,0,4).setCellValue("会员类型(必填)"); + getCell(sheet,0,5).setCellValue("会员编号(必填)"); + getCell(sheet, 0, 6).setCellValue("入会时间(必填)格式:YYYY-MM-DD"); + getCell(sheet, 0, 7).setCellValue("到期时间(必填)格式:YYYY-MM-DD"); + getCell(sheet,0,8).setCellValue("联系人(必填)"); + getCell(sheet,0,9).setCellValue("联系人电话(必填)"); + getCell(sheet,0,10).setCellValue("联系情况"); + getCell(sheet,0,11).setCellValue("官网是否录入"); + getCell(sheet,0,12).setCellValue("手机(必填)发短信手机号"); + getCell(sheet,0,13).setCellValue("QQ"); + getCell(sheet,0,14).setCellValue("微信"); + getCell(sheet,0,15).setCellValue("邮箱"); + getCell(sheet,0,16).setCellValue("企业情况"); + getCell(sheet, 0, 17).setCellValue("生日(必填)格式:MM-DD"); + + getCell(sheet,0,18).setCellValue("单位地址(必填)"); + getCell(sheet,0,19).setCellValue("企业网址"); + getCell(sheet,0,20).setCellValue("需求信息"); + getCell(sheet,0,21).setCellValue("项目匹配"); + getCell(sheet,0,22).setCellValue("会费(必填)"); + getCell(sheet,0,23).setCellValue("是否有环保资质(必填)"); + //环保资质 + String[] qualifications = {"是","否"}; + CellRangeAddressList regions = new CellRangeAddressList(0, 65535, 23, 23); + DVConstraint constraint = DVConstraint.createExplicitListConstraint(qualifications); + HSSFDataValidation dataValidation = new HSSFDataValidation(regions, constraint); + sheet.addValidationData(dataValidation); + + //会员类型 + List vipTypes = (List) model.get("vipTypes"); + String[] vipTypesStr = new String[vipTypes.size()]; + for (int i = 0; i < vipTypes.size(); i++) { + vipTypesStr[i] = vipTypes.get(i).getTypeName(); + } + + CellRangeAddressList regions1 = new CellRangeAddressList(0, 65535, 4, 4); + DVConstraint constraint1 = DVConstraint.createExplicitListConstraint(vipTypesStr); + HSSFDataValidation dataValidation1 = new HSSFDataValidation(regions1, constraint1); + sheet.addValidationData(dataValidation1); + + //推荐人 + List referrers = (List) model.get("referrers"); + String[] referrersStr = new String[referrers.size()]; + for (int i = 0; i < referrers.size(); i++) { + referrersStr[i] = referrers.get(i).getReferrerName(); + } + + CellRangeAddressList regions2 = new CellRangeAddressList(0, 65535, 3, 3); + DVConstraint constraint2 = DVConstraint.createExplicitListConstraint(referrersStr); + HSSFDataValidation dataValidation2 = new HSSFDataValidation(regions2, constraint2); + sheet.addValidationData(dataValidation2); + + HSSFCellStyle cellStyle = workbook.createCellStyle(); + HSSFDataFormat format = workbook.createDataFormat(); + cellStyle.setDataFormat(format.getFormat("@")); + sheet.setDefaultColumnStyle(0,cellStyle); + sheet.setDefaultColumnStyle(1,cellStyle); + sheet.setDefaultColumnStyle(2,cellStyle); + sheet.setDefaultColumnStyle(3,cellStyle); + sheet.setDefaultColumnStyle(4,cellStyle); + sheet.setDefaultColumnStyle(5,cellStyle); + sheet.setDefaultColumnStyle(6,cellStyle); + sheet.setDefaultColumnStyle(7,cellStyle); + sheet.setDefaultColumnStyle(8,cellStyle); + sheet.setDefaultColumnStyle(9,cellStyle); + sheet.setDefaultColumnStyle(10,cellStyle); + sheet.setDefaultColumnStyle(11,cellStyle); + sheet.setDefaultColumnStyle(12,cellStyle); + sheet.setDefaultColumnStyle(13,cellStyle); + sheet.setDefaultColumnStyle(14,cellStyle); + sheet.setDefaultColumnStyle(15,cellStyle); + sheet.setDefaultColumnStyle(16,cellStyle); + sheet.setDefaultColumnStyle(17,cellStyle); + sheet.setDefaultColumnStyle(18,cellStyle); + sheet.setDefaultColumnStyle(19,cellStyle); + sheet.setDefaultColumnStyle(20,cellStyle); + sheet.setDefaultColumnStyle(21,cellStyle); + sheet.setDefaultColumnStyle(22,cellStyle); + sheet.setDefaultColumnStyle(23,cellStyle); + + String filename = URLEncoder.encode("会员信息导入模板.xls", "UTF-8"); + response.setContentType("application/vnd.ms-excel"); + response.setHeader("Content-disposition", "attachment;filename=" + filename); + OutputStream ouputStream = response.getOutputStream(); + workbook.write(ouputStream); + ouputStream.flush(); + ouputStream.close(); + + + + + + + + } +} diff --git a/src/main/java/com/ifish/service/VipService.java b/src/main/java/com/ifish/service/VipService.java index e4411b9..54f9aff 100644 --- a/src/main/java/com/ifish/service/VipService.java +++ b/src/main/java/com/ifish/service/VipService.java @@ -1,10 +1,13 @@ package com.ifish.service; -import com.ifish.entity.VipReferrer; -import com.ifish.entity.VipType; +import com.ifish.entity.*; import com.ifish.hibernate.Pagination; import com.ifish.search.SearchFilter; +import java.io.InputStream; +import java.util.List; +import java.util.Map; + /** * @author: yan.y * @Description: @@ -12,6 +15,7 @@ import com.ifish.search.SearchFilter; * @Modified by: */ public interface VipService { + /**=================================会员类型=================================================*/ /** * 查询会员类别 * @param searchFilter @@ -23,11 +27,54 @@ public interface VipService { VipType getVipTypeById(Integer typeId); + List getVipTypeByList(); + /**=================================推荐人=================================================*/ Pagination getVipReferrerByPage(SearchFilter searchFilter); - boolean saveOrUpdateVipReferrer(VipReferrer vipReferrer); + boolean saveOrUpdateVipReferrer(VipReferrer vipReferrer,String userName); VipReferrer getVipReferrer(Integer referrerId); + boolean deleteVipReferrer(VipReferrer vipReferrer,String userName); + + /**=================================个人评价=================================================*/ + + Pagination getVipPersonalByPage(SearchFilter searchFilter); + + boolean saveOrUpdateVipPersonal(VipPersonal vipPersonal,String userName); + + VipPersonal getVipPersonal(Integer personalId); + + boolean deleteVipPersonal(VipPersonal vipPersonal,String userName); + + /**=================================单位评价=================================================*/ + + Pagination getVipCompanyByPage(SearchFilter searchFilter); + + boolean saveOrUpdateVipCompany(VipCompany vipCompany,String userName); + + VipCompany saveOrUpDateVipCompanyByReturn(VipCompany vipCompany,String userName); + + VipCompany getVipCompany(Integer companyId); + + List getVipCompanys(Integer memberId); + + boolean deleteVipCompany(VipCompany vipCompany,String userName); + + /**=================================会员信息=================================================*/ + + Pagination getVipMemberByPage(SearchFilter searchFilter); + + boolean saveOrUpdateVipMember(VipMember vipMember,String userName,String companyIds); + + VipMember getVipMember(Integer memberId); + + boolean deleteVipMember(VipMember vipMember,String userName); + + /**=================================会员信息上传保存=================================================*/ + + void filesSaveVipMember(InputStream inputStream,String userName); + + void saveSmsResult(VipSmsResult vipSmsResult); } diff --git a/src/main/java/com/ifish/serviceImpl/VipServiceImpl.java b/src/main/java/com/ifish/serviceImpl/VipServiceImpl.java index b707a3b..925bd26 100644 --- a/src/main/java/com/ifish/serviceImpl/VipServiceImpl.java +++ b/src/main/java/com/ifish/serviceImpl/VipServiceImpl.java @@ -1,14 +1,18 @@ 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.dao.*; +import com.ifish.entity.*; 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.apache.commons.lang3.time.DateUtils; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Sheet; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; @@ -16,8 +20,10 @@ 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; +import java.io.IOException; +import java.io.InputStream; +import java.text.SimpleDateFormat; +import java.util.*; /** * @author: yan.y @@ -35,6 +41,18 @@ public class VipServiceImpl implements VipService{ @Autowired private VipReferrerDao vipReferrerDao; + @Autowired + private VipPersonalDao vipPersonalDao; + + @Autowired + private VipCompanyDao vipCompanyDao; + + @Autowired + private VipMemberDao vipMemberDao; + + @Autowired + private VipSmsResultDao vipSmsResultDao; + @Override public Pagination getVipTypeByPage(SearchFilter searchFilter) { //查询条件 @@ -68,6 +86,13 @@ public class VipServiceImpl implements VipService{ return this.vipTypeDao.get(typeId); } + @Override + public List getVipTypeByList() { + Criterion criterion = Restrictions.eq("typeStatus","0"); + List list = this.vipTypeDao.findByProperty(criterion); + return list; + } + @Override public Pagination getVipReferrerByPage(SearchFilter searchFilter) { //查询条件 @@ -89,8 +114,8 @@ public class VipServiceImpl implements VipService{ } 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())))) { + } 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()))); } @@ -100,14 +125,34 @@ public class VipServiceImpl implements VipService{ } @Override - public boolean saveOrUpdateVipReferrer(VipReferrer vipReferrer) { + public boolean saveOrUpdateVipReferrer(VipReferrer vipReferrer,String userName) { Integer referrerId = vipReferrer.getReferrerId(); if (referrerId != null) { + VipType vipType = this.vipTypeDao.get(vipReferrer.getReferrerType().getTypeId()); + vipReferrer = this.vipReferrerDao.get(referrerId); + vipReferrer.setReferrerType(vipType); + vipReferrer.setModifyTime(new Date()); + vipReferrer.setModifyUser(userName); this.vipReferrerDao.update(vipReferrer); } else { + VipType vipType = this.vipTypeDao.get(vipReferrer.getReferrerType().getTypeId()); + vipReferrer.setReferrerType(vipType); + vipReferrer.setCreateTime(new Date()); + vipReferrer.setCreateUser(userName); + vipReferrer.setModifyTime(new Date()); + vipReferrer.setModifyUser(userName); + vipReferrer.setReferrerStatus("0"); this.vipReferrerDao.save(vipReferrer); } + return true; + } + @Override + public boolean deleteVipReferrer(VipReferrer vipReferrer, String userName) { + vipReferrer.setReferrerStatus("1"); + vipReferrer.setModifyTime(new Date()); + vipReferrer.setModifyUser(userName); + this.vipReferrerDao.update(vipReferrer); return true; } @@ -115,4 +160,444 @@ public class VipServiceImpl implements VipService{ public VipReferrer getVipReferrer(Integer referrerId) { return this.vipReferrerDao.get(referrerId); } + + + @Override + public Pagination getVipPersonalByPage(SearchFilter searchFilter) { + //查询条件 + List queryList = new ArrayList(); + //排序条件 + List orderList = new ArrayList(); + //分页 + Integer iDisplayStart = searchFilter.getiDisplayStart(); + Integer iDisplayLength = searchFilter.getiDisplayLength(); + queryList.add(Restrictions.eq("certificateStatus","0")); + if (searchFilter.getsSearch1() != null && StringUtils.isNotBlank(searchFilter.getsSearch1())) { + queryList.add(Restrictions.like("personalName", "%" + searchFilter.getsSearch1() + "%")); + } + if (searchFilter.getsSearch2() != null && StringUtils.isNotBlank(searchFilter.getsSearch2())) { + queryList.add(Restrictions.eq("cardNum",searchFilter.getsSearch2())); + } + if (searchFilter.getsSearch3() != null && StringUtils.isNotBlank(searchFilter.getsSearch3())) { + queryList.add(Restrictions.eq("certificateMaturityTime",IfishUtil.StrToDate(searchFilter.getsSearch3()))); + } + if (searchFilter.getsSearch4() != null && StringUtils.isNotBlank(searchFilter.getsSearch4())) { + queryList.add(Restrictions.eq("certificateReceiveTime",IfishUtil.StrToDate(searchFilter.getsSearch4()))); + } + orderList.add(Order.asc("certificateMaturityTime")); + Pagination page = this.vipPersonalDao.findByCriteria(iDisplayStart, iDisplayLength, orderList, queryList.toArray(new Criterion[queryList.size()])); + + return page; + } + + @Override + public boolean saveOrUpdateVipPersonal(VipPersonal vipPersonal, String userName) { + Integer personalId = vipPersonal.getPersonalId(); + if (personalId != null) { + VipPersonal personal = this.vipPersonalDao.get(personalId); + personal.setPersonalName(vipPersonal.getPersonalName()); + personal.setCardNum(vipPersonal.getCardNum()); + personal.setCertificateCard(vipPersonal.getCertificateCard()); + personal.setCertificateLevel(vipPersonal.getCertificateLevel()); + personal.setCertificateType(vipPersonal.getCertificateType()); + personal.setCertificateApplyTime(vipPersonal.getCertificateApplyTime()); + personal.setCertificateReceiveTime(vipPersonal.getCertificateReceiveTime()); + personal.setCertificateMaturityTime(vipPersonal.getCertificateMaturityTime()); + personal.setUploadWebsite(vipPersonal.getUploadWebsite()); + personal.setCertificateRemark(vipPersonal.getCertificateRemark()); + this.vipPersonalDao.update(personal); + } else { + vipPersonal.setCreateUser(userName); + vipPersonal.setCreateTime(new Date()); + vipPersonal.setModifyUser(userName); + vipPersonal.setModifyTime(new Date()); + vipPersonal.setCertificateStatus("0"); + this.vipPersonalDao.save(vipPersonal); + } + return true; + } + + @Override + public VipPersonal getVipPersonal(Integer personalId) { + return this.vipPersonalDao.get(personalId); + } + + @Override + public boolean deleteVipPersonal(VipPersonal vipPersonal,String userName) { + vipPersonal.setModifyUser(userName); + vipPersonal.setModifyTime(new Date()); + vipPersonal.setCertificateStatus("1"); + this.vipPersonalDao.update(vipPersonal); + return true; + } + + + @Override + public Pagination getVipCompanyByPage(SearchFilter searchFilter) { + //查询条件 + List queryList = new ArrayList(); + //排序条件 + List orderList = new ArrayList(); + //分页 + Integer iDisplayStart = searchFilter.getiDisplayStart(); + Integer iDisplayLength = searchFilter.getiDisplayLength(); + queryList.add(Restrictions.eq("certificateStatus","0")); + if (searchFilter.getsSearch1() != null && StringUtils.isNotBlank(searchFilter.getsSearch1())) { + Pagination members = this.vipMemberDao.findByCriteria(iDisplayStart, iDisplayLength, new ArrayList(), Restrictions.like("memberName", "%" + searchFilter.getsSearch1() + "%")); + List list = members.getList(); + List memberIds = new ArrayList(); + for (VipMember vipMember : list) { + memberIds.add(vipMember.getMemberId()); + } + if (memberIds.size() > 0) { + queryList.add(Restrictions.in("vipMember.memberId", memberIds)); + } else { + memberIds.add(-1); + queryList.add(Restrictions.in("vipMember.memberId", memberIds)); + } + } + if (searchFilter.getsSearch3() != null && StringUtils.isNotBlank(searchFilter.getsSearch3())) { + queryList.add(Restrictions.eq("certificateMaturityTime",IfishUtil.StrToDate(searchFilter.getsSearch3()))); + } + if (searchFilter.getsSearch4() != null && StringUtils.isNotBlank(searchFilter.getsSearch4())) { + queryList.add(Restrictions.eq("certificateApplyTime",IfishUtil.StrToDate(searchFilter.getsSearch4()))); + } + orderList.add(Order.asc("certificateMaturityTime")); + Pagination page = this.vipCompanyDao.findByCriteria(iDisplayStart, iDisplayLength, orderList, queryList.toArray(new Criterion[queryList.size()])); + + return page; + } + + @Override + public boolean saveOrUpdateVipCompany(VipCompany vipCompany, String userName) { + Integer companyId = vipCompany.getCompanyId(); + if (companyId != null) { + VipCompany vipCompanyUpdate = this.vipCompanyDao.get(companyId); + VipMember vipMember = this.vipMemberDao.get(vipCompany.getVipMember().getMemberId()); + vipCompanyUpdate.setVipMember(vipMember); + vipCompanyUpdate.setCertificateCard(vipCompany.getCertificateCard()); + vipCompanyUpdate.setCertificateLevel(vipCompany.getCertificateLevel()); + vipCompanyUpdate.setCertificateType(vipCompany.getCertificateType()); + vipCompanyUpdate.setCertificateApplyTime(vipCompany.getCertificateApplyTime()); + vipCompanyUpdate.setCertificateMaturityTime(vipCompany.getCertificateMaturityTime()); + vipCompanyUpdate.setOpenticketTime(vipCompany.getOpenticketTime()); + vipCompanyUpdate.setOutcardTime(vipCompany.getOutcardTime()); + vipCompanyUpdate.setAnnualReviewTime(vipCompany.getAnnualReviewTime()); + vipCompanyUpdate.setCost(vipCompany.getCost()); + vipCompanyUpdate.setModifyUser(userName); + vipCompanyUpdate.setModifyTime(new Date()); + this.vipCompanyDao.update(vipCompanyUpdate); + } else { + vipCompany.setCreateUser(userName); + vipCompany.setCreateTime(new Date()); + vipCompany.setModifyUser(userName); + vipCompany.setModifyTime(new Date()); + vipCompany.setCertificateStatus("0"); + this.vipCompanyDao.save(vipCompany); + } + return true; + } + + @Override + public VipCompany saveOrUpDateVipCompanyByReturn(VipCompany vipCompany, String userName) { + Integer companyId = vipCompany.getCompanyId(); + VipCompany company = null; + if (companyId != null) { + VipCompany vipCompanyUpdate = this.vipCompanyDao.get(companyId); + vipCompanyUpdate.setCertificateCard(vipCompany.getCertificateCard()); + vipCompanyUpdate.setCertificateLevel(vipCompany.getCertificateLevel()); + vipCompanyUpdate.setCertificateType(vipCompany.getCertificateType()); + vipCompanyUpdate.setCertificateApplyTime(vipCompany.getCertificateApplyTime()); + vipCompanyUpdate.setCertificateMaturityTime(vipCompany.getCertificateMaturityTime()); + vipCompanyUpdate.setOpenticketTime(vipCompany.getOpenticketTime()); + vipCompanyUpdate.setOutcardTime(vipCompany.getOutcardTime()); + vipCompanyUpdate.setAnnualReviewTime(vipCompany.getAnnualReviewTime()); + vipCompanyUpdate.setCost(vipCompany.getCost()); + vipCompanyUpdate.setModifyUser(userName); + vipCompanyUpdate.setModifyTime(new Date()); + company = this.vipCompanyDao.update(vipCompanyUpdate); + } else { + vipCompany.setCreateUser(userName); + vipCompany.setCreateTime(new Date()); + vipCompany.setModifyUser(userName); + vipCompany.setModifyTime(new Date()); + vipCompany.setCertificateStatus("0"); + company = this.vipCompanyDao.save(vipCompany); + } + return company; + } + + @Override + public VipCompany getVipCompany(Integer companyId) { + return this.vipCompanyDao.get(companyId); + } + + @Override + public boolean deleteVipCompany(VipCompany vipCompany, String userName) { + vipCompany.setModifyUser(userName); + vipCompany.setModifyTime(new Date()); + vipCompany.setCertificateStatus("1"); + this.vipCompanyDao.update(vipCompany); + return true; + } + + @Override + public List getVipCompanys(Integer memberId) { + //查询条件 + List queryList = new ArrayList(); + //排序条件 + List orderList = new ArrayList(); + Integer iDisplayStart = 0; + Integer iDisplayLength = 9999; + queryList.add(Restrictions.eq("certificateStatus","0")); + queryList.add(Restrictions.eq("vipMember.memberId",memberId)); + + List vipCompanies = this.vipCompanyDao.findByCriteria(iDisplayStart, iDisplayLength, orderList, queryList.toArray(new Criterion[queryList.size()])).getList(); + + return vipCompanies; + } + + @Override + public Pagination getVipMemberByPage(SearchFilter searchFilter) { + //查询条件 + List queryList = new ArrayList(); + //排序条件 + List orderList = new ArrayList(); + //分页 + Integer iDisplayStart = searchFilter.getiDisplayStart(); + Integer iDisplayLength = searchFilter.getiDisplayLength(); + queryList.add(Restrictions.eq("certificateStatus","0")); + if (searchFilter.getsSearch1() != null && StringUtils.isNotBlank(searchFilter.getsSearch1())) { + queryList.add(Restrictions.like("memberName", "%" + searchFilter.getsSearch1() + "%")); + } + if ((searchFilter.getsSearch3() != null && StringUtils.isNotBlank(searchFilter.getsSearch3())) + && (searchFilter.getsSearch4() != null && StringUtils.isNotBlank(searchFilter.getsSearch4()))) { + + queryList.add(Restrictions.ge("memberAdmissionTime",IfishUtil.StrToDate(searchFilter.getsSearch3()))); + queryList.add(Restrictions.le("memberMaturityTime",IfishUtil.StrToDate(searchFilter.getsSearch4()))); + } else if ((searchFilter.getsSearch3() != null && StringUtils.isNotBlank(searchFilter.getsSearch3())) + && (searchFilter.getsSearch4() == null || StringUtils.isBlank(searchFilter.getsSearch4()))) { + + queryList.add(Restrictions.ge("memberAdmissionTime", IfishUtil.StrToDate(searchFilter.getsSearch3()))); + } else if (((searchFilter.getsSearch3() == null || StringUtils.isBlank(searchFilter.getsSearch3())) + && (searchFilter.getsSearch4() != null && StringUtils.isNotBlank(searchFilter.getsSearch4())))) { + + queryList.add(Restrictions.le("memberMaturityTime",IfishUtil.StrToDate(searchFilter.getsSearch4()))); + } + if (searchFilter.getsSearch2() != null && StringUtils.isNotBlank(searchFilter.getsSearch2())) { + queryList.add(Restrictions.like("memberContact","%" + searchFilter.getsSearch2() + "%")); + } + + if (searchFilter.getsSearch5() != null && StringUtils.isNotBlank(searchFilter.getsSearch5())) { + queryList.add(Restrictions.eq("memberBirthday",searchFilter.getsSearch5())); + } + if (searchFilter.getsSearch6() != null && StringUtils.isNotBlank(searchFilter.getsSearch6())) { + queryList.add(Restrictions.like("memberTel","%" + searchFilter.getsSearch6() + "%")); + } + + if (searchFilter.getSelectField1() != null && StringUtils.isNotBlank(searchFilter.getSelectField1())) { + queryList.add(Restrictions.eq("memberQualification",searchFilter.getSelectField1())); + } + + + orderList.add(Order.asc("memberMaturityTime")); + Pagination page = this.vipMemberDao.findByCriteria(iDisplayStart, iDisplayLength, orderList, queryList.toArray(new Criterion[queryList.size()])); + + return page; + } + + @Override + public boolean saveOrUpdateVipMember(VipMember vipMember, String userName,String companyIds) { + Integer referrerId = vipMember.getMemberReferrer().getReferrerId(); + VipReferrer vipReferrer = this.vipReferrerDao.get(referrerId); + Integer typeId = vipMember.getMemberType().getTypeId(); + VipType vipType = this.vipTypeDao.get(typeId); + vipMember.setMemberReferrer(vipReferrer); + Integer vipMemberId = vipMember.getMemberId(); + if (vipMemberId != null) { + VipMember vipMemberUpdate = this.vipMemberDao.get(vipMemberId); + vipMemberUpdate.setMemberReferrer(vipReferrer); + vipMemberUpdate.setMemberType(vipType); + vipMemberUpdate.setMemberName(vipMember.getMemberName()); + vipMemberUpdate.setMemberLegal(vipMember.getMemberLegal()); + vipMemberUpdate.setMemberLegalCard(vipMember.getMemberLegalCard()); + vipMemberUpdate.setMemberCard(vipMember.getMemberCard()); + vipMemberUpdate.setMemberTel(vipMember.getMemberTel()); + vipMemberUpdate.setMemberQQ(vipMember.getMemberQQ()); + vipMemberUpdate.setMemberWechat(vipMember.getMemberWechat()); + vipMemberUpdate.setMemberEmail(vipMember.getMemberEmail()); + vipMemberUpdate.setMemberAdmissionTime(vipMember.getMemberAdmissionTime()); + vipMemberUpdate.setMemberMaturityTime(vipMember.getMemberMaturityTime()); + vipMemberUpdate.setMemberContact(vipMember.getMemberContact()); + vipMemberUpdate.setMemberContactTel(vipMember.getMemberContactTel()); + vipMemberUpdate.setMemberContactSituation(vipMember.getMemberContactSituation()); + vipMemberUpdate.setMemberWebsite(vipMember.getMemberWebsite()); + vipMemberUpdate.setMemberSituation(vipMember.getMemberSituation()); + vipMemberUpdate.setMemberBirthday(vipMember.getMemberBirthday()); + vipMemberUpdate.setMemberAddress(vipMember.getMemberAddress()); + vipMemberUpdate.setMemberUrl(vipMember.getMemberUrl()); + vipMemberUpdate.setMemberDemand(vipMember.getMemberDemand()); + vipMemberUpdate.setMemberItem(vipMember.getMemberItem()); + vipMemberUpdate.setMemberFee(vipMember.getMemberFee()); + vipMemberUpdate.setMemberQualification(vipMember.getMemberQualification()); + vipMemberUpdate.setModifyUser(userName); + vipMemberUpdate.setModifyTime(new Date()); + this.vipMemberDao.update(vipMemberUpdate); + } else { + vipMember.setMemberReferrer(vipReferrer); + vipMember.setMemberType(vipType); + vipMember.setCreateUser(userName); + vipMember.setCreateTime(new Date()); + vipMember.setModifyUser(userName); + vipMember.setModifyTime(new Date()); + vipMember.setCertificateStatus("0"); + VipMember save = this.vipMemberDao.save(vipMember); + vipMemberId = save.getMemberId(); + } + + String[] companys = companyIds.split("_"); + VipMember vipMemberForCompany = this.vipMemberDao.get(vipMemberId); + for (String companyId : companys) { + if (StringUtils.isBlank(companyId)) { + continue; + } + VipCompany vipCompany = this.vipCompanyDao.get(Integer.parseInt(companyId)); + vipCompany.setVipMember(vipMemberForCompany); + this.vipCompanyDao.update(vipCompany); + } + + return true; + } + + @Override + public VipMember getVipMember(Integer memberId) { + return this.vipMemberDao.get(memberId); + } + + @Override + public boolean deleteVipMember(VipMember vipMember, String userName) { + vipMember.setModifyUser(userName); + vipMember.setModifyTime(new Date()); + vipMember.setCertificateStatus("1"); + this.vipMemberDao.update(vipMember); + return true; + } + + @Override + public void filesSaveVipMember(InputStream inputStream,String userName) { + SimpleDateFormat yyMMdd = new SimpleDateFormat("yyyy-MM-dd"); + + HSSFWorkbook wk = null; + VipMember member = null; + VipReferrer referrer = null; + VipType type = null; + try { + wk = new HSSFWorkbook(inputStream); + HSSFSheet sheet = wk.getSheetAt(0); + int rows = sheet.getLastRowNum(); + for (int i = 1; i <= rows; i++) { + HSSFRow row = sheet.getRow(i); + row.getCell(0).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(1).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(2).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(3).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(4).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(5).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(6).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(7).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(8).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(9).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(10).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(11).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(12).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(13).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(14).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(15).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(16).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(17).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(18).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(19).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(20).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(21).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(22).setCellType(Cell.CELL_TYPE_STRING); + row.getCell(23).setCellType(Cell.CELL_TYPE_STRING); + String memberName = row.getCell(0).getStringCellValue(); + if (StringUtils.isBlank(memberName)) { + break; + } + String memberLegal = row.getCell(1).getStringCellValue(); + String memberLegalCard = row.getCell(2).getStringCellValue(); + String memberReferrer = row.getCell(3).getStringCellValue(); + String memberType = row.getCell(4).getStringCellValue(); + String memberCard = row.getCell(5).getStringCellValue(); + String memberAdmissionTime = row.getCell(6).getStringCellValue(); + String memberMaturityTime = row.getCell(7).getStringCellValue(); + String memberContact = row.getCell(8).getStringCellValue(); + String memberContactTel = row.getCell(9).getStringCellValue(); + String memberContactSituation = row.getCell(10).getStringCellValue(); + String memberWebsite = row.getCell(11).getStringCellValue(); + String memberTel = row.getCell(12).getStringCellValue(); + String memberQQ = row.getCell(13).getStringCellValue(); + String memberWechat = row.getCell(14).getStringCellValue(); + String memberEmail = row.getCell(15).getStringCellValue(); + String memberSituation = row.getCell(16).getStringCellValue(); + String memberBirthday = row.getCell(17).getStringCellValue(); + String memberAddress = row.getCell(18).getStringCellValue(); + String memberUrl = row.getCell(19).getStringCellValue(); + String memberDemand = row.getCell(20).getStringCellValue(); + String memberItem = row.getCell(21).getStringCellValue(); + String memberFee = row.getCell(22).getStringCellValue(); + String memberQualification = row.getCell(23).getStringCellValue().equals("是") ? "0" : "1"; + + List referrers = this.vipReferrerDao.findByProperty(Restrictions.eq("referrerName", memberReferrer)); + if (referrers.size() > 0) { + referrer = referrers.get(0); + } + List types = this.vipTypeDao.findByProperty(Restrictions.eq("typeName", memberType)); + if (types.size() > 0) { + type = types.get(0); + } + + member = new VipMember(); + member.setMemberReferrer(referrer); + member.setMemberType(type); + member.setMemberName(memberName); + member.setMemberLegal(memberLegal); + member.setMemberLegalCard(memberLegalCard); + member.setMemberCard(memberCard); + member.setMemberAdmissionTime(yyMMdd.parse(memberAdmissionTime)); + member.setMemberMaturityTime(yyMMdd.parse(memberMaturityTime)); + member.setMemberContact(memberContact); + member.setMemberContactTel(memberContactTel); + member.setMemberContactSituation(memberContactSituation); + member.setMemberWebsite(memberWebsite); + member.setMemberTel(memberTel); + member.setMemberQQ(memberQQ); + member.setMemberWechat(memberWechat); + member.setMemberEmail(memberEmail); + member.setMemberSituation(memberSituation); + member.setMemberBirthday(memberBirthday); + member.setMemberAddress(memberAddress); + member.setMemberUrl(memberUrl); + member.setMemberDemand(memberDemand); + member.setMemberItem(memberItem); + member.setMemberFee(Double.parseDouble(memberFee)); + member.setMemberQualification(memberQualification); + member.setCreateUser(userName); + member.setCreateTime(new Date()); + member.setModifyUser(userName); + member.setModifyTime(new Date()); + member.setCertificateStatus("0"); + this.vipMemberDao.save(member); + + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void saveSmsResult(VipSmsResult vipSmsResult) { + this.vipSmsResultDao.save(vipSmsResult); + } } diff --git a/src/main/java/com/ifish/util/IfishUtil.java b/src/main/java/com/ifish/util/IfishUtil.java index cc9c59f..f4a01a1 100644 --- a/src/main/java/com/ifish/util/IfishUtil.java +++ b/src/main/java/com/ifish/util/IfishUtil.java @@ -6,6 +6,7 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.lang.reflect.Field; import java.security.MessageDigest; import java.text.DateFormat; import java.text.ParseException; @@ -44,6 +45,27 @@ public class IfishUtil { } } + /** + * 对象转Map + * @param obj + * @return + */ + public static Map objectToMap(Object obj){ + Map map = new HashMap(1); + Class clazz = obj.getClass(); + Field[] fields = clazz.getDeclaredFields(); + try { + for (Field field : fields) { + field.setAccessible(true); + map.put(field.getName(),field.get(obj)); + } + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + + return map; + } + /** * Json转Object(JavaBean) * @@ -217,8 +239,6 @@ public class IfishUtil { /** * 返回分页数据 - * - * @param str * @return */ public static Object returnPageData(Pagination page, String sEcho) { @@ -300,10 +320,7 @@ public class IfishUtil { } /** - * 生成微信分享页面 - * - * @param title - * @param base64 + * 生成微信分享页 * @return */ public static String getHtmlFile(String htmlName, String ueditorTitle, String ueditorContent) { diff --git a/src/main/java/com/ifish/util/SmsUtil.java b/src/main/java/com/ifish/util/SmsUtil.java new file mode 100644 index 0000000..e727cf9 --- /dev/null +++ b/src/main/java/com/ifish/util/SmsUtil.java @@ -0,0 +1,81 @@ +package com.ifish.util; + +import com.alibaba.fastjson.JSONObject; +import com.aliyuncs.DefaultAcsClient; +import com.aliyuncs.IAcsClient; +import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest; +import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; +import com.aliyuncs.exceptions.ClientException; +import com.aliyuncs.profile.DefaultProfile; +import com.aliyuncs.profile.IClientProfile; + +import java.text.SimpleDateFormat; +import java.util.Date; + +public class SmsUtil { + + static final String product = "Dysmsapi"; + + static final String domain = "dysmsapi.aliyuncs.com"; + + static final String accessKeyId = "LTAIpjjQSHAwa917"; + + static final String accessKeySecret = "rVjOMfmaE8RAIB2BGT5t5m48GaFSjB"; + + static final String signName = "湘治协"; + + /** + * 短信发送 + * @param phoneNumbers 手机号码 多个以,隔开 + * @param templateCode 模板编号 + * @param param 模板参数 + * @return + * @throws ClientException + */ + public static SendSmsResponse sendSms(String phoneNumbers,String templateCode,String param) throws ClientException { + + //可自助调整超时时间 + System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); + System.setProperty("sun.net.client.defaultReadTimeout", "10000"); + + //初始化acsClient,暂不支持region化 + IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); + DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); + IAcsClient acsClient = new DefaultAcsClient(profile); + + //组装请求对象-具体描述见控制台-文档部分内容 + SendSmsRequest request = new SendSmsRequest(); + //必填:待发送手机号 + request.setPhoneNumbers(phoneNumbers); + //必填:短信签名-可在短信控制台中找到 + request.setSignName(signName); + //必填:短信模板-可在短信控制台中找到 + request.setTemplateCode(templateCode); + //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 + request.setTemplateParam(param); + + //hint 此处可能会抛出异常,注意catch + SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); + + return sendSmsResponse; + } + + public static void main(String[] args) throws ClientException, InterruptedException { + + JSONObject param = new JSONObject(); + param.put("title","2018湖南省-布尔根兰州经贸洽谈会"); + param.put("time","2018年6月14日(周四)上午9:00"); + param.put("address","华天大酒店(解放东路300号)B座4楼芙蓉A厅"); + param.put("signTime","8:30-9:00"); + param.put("contact","胡萧 18907487848"); + //发短信 + SendSmsResponse response = sendSms("18521303581","SMS_139242334",param.toJSONString()); + System.out.println("短信接口返回的数据----------------"); + System.out.println("Code=" + response.getCode()); + System.out.println("Message=" + response.getMessage()); + System.out.println("RequestId=" + response.getRequestId()); + System.out.println("BizId=" + response.getBizId()); + } +} diff --git a/src/main/resources/springmvc-servlet.xml b/src/main/resources/springmvc-servlet.xml index a3f8d3c..ebfbba3 100644 --- a/src/main/resources/springmvc-servlet.xml +++ b/src/main/resources/springmvc-servlet.xml @@ -12,7 +12,28 @@ default-lazy-init="true"> - + + + + + + text/html;charset=UTF-8 + application/json + application/xml;charset=UTF-8 + + + + + PrettyFormat + WriteMapNullValue + WriteNullStringAsEmpty + WriteNullListAsEmpty + DisableCircularReferenceDetect + + + + + @@ -29,21 +50,10 @@ - - - - - - + - + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/lib/aliyun-java-sdk-core-3.3.1.jar b/src/main/webapp/WEB-INF/lib/aliyun-java-sdk-core-3.3.1.jar new file mode 100644 index 0000000..3e33994 Binary files /dev/null and b/src/main/webapp/WEB-INF/lib/aliyun-java-sdk-core-3.3.1.jar differ diff --git a/src/main/webapp/WEB-INF/lib/aliyun-java-sdk-dysmsapi-1.0.0.jar b/src/main/webapp/WEB-INF/lib/aliyun-java-sdk-dysmsapi-1.0.0.jar new file mode 100644 index 0000000..3e68bdf Binary files /dev/null and b/src/main/webapp/WEB-INF/lib/aliyun-java-sdk-dysmsapi-1.0.0.jar differ diff --git a/src/main/webapp/WEB-INF/view/htm/taglib.jsp b/src/main/webapp/WEB-INF/view/htm/taglib.jsp index fd93996..fd51b04 100644 --- a/src/main/webapp/WEB-INF/view/htm/taglib.jsp +++ b/src/main/webapp/WEB-INF/view/htm/taglib.jsp @@ -23,6 +23,7 @@ %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@taglib prefix="sec" uri="http://www.springframework.org/security/tags" %> +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> diff --git a/src/main/webapp/WEB-INF/view/roleAdmin/menuManage.jsp b/src/main/webapp/WEB-INF/view/roleAdmin/menuManage.jsp index 7b2006b..7c8a99e 100644 --- a/src/main/webapp/WEB-INF/view/roleAdmin/menuManage.jsp +++ b/src/main/webapp/WEB-INF/view/roleAdmin/menuManage.jsp @@ -76,7 +76,7 @@ //异步提交表单 $('#menuForm').ajaxForm(function(data){ //弹出ajax请求后的回调结果 - if(data==true){ + if(data=="true"){ //刷新树 loadData(); disabledEl(true); @@ -203,7 +203,7 @@ "dataType": "json", "cache": false, "success": function(data){ - if(data==true){ + if(data=="true"){ //刷新树 loadData(); disabledEl(true); diff --git a/src/main/webapp/WEB-INF/view/roleAdmin/sysUserList.jsp b/src/main/webapp/WEB-INF/view/roleAdmin/sysUserList.jsp index 2b441dc..69def33 100644 --- a/src/main/webapp/WEB-INF/view/roleAdmin/sysUserList.jsp +++ b/src/main/webapp/WEB-INF/view/roleAdmin/sysUserList.jsp @@ -205,7 +205,7 @@ }); //修改用户异步提交 $('#form-edit').ajaxForm(function(data){ - if(data==true){ + if(data=="true"){ jAlert('成功!', '提示'); } else if(data==false){ @@ -240,7 +240,7 @@ }); //重置密码提交 $('#form-reset').ajaxForm(function(data){ - if(data==true){ + if(data=="true"){ jAlert('成功!', '提示'); } else if(data==false){ diff --git a/src/main/webapp/WEB-INF/view/vip/vipCompany.jsp b/src/main/webapp/WEB-INF/view/vip/vipCompany.jsp new file mode 100644 index 0000000..29aeba0 --- /dev/null +++ b/src/main/webapp/WEB-INF/view/vip/vipCompany.jsp @@ -0,0 +1,592 @@ +<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> + + + + 单位评价证 + + <%@ include file="../htm/script.jsp" %> + + + + + + + + + + <%@ include file="../htm/header.jsp" %> + +
+ +
+ + <%@ include file="../htm/sidebar.jsp" %> + +
+ +
+
+
+
+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + +
ID单位名称证书编号证书等级证书类型证书时间开票时间出证时间年审时间费用操作
+
+
+
+
+
+ +
+
+ + + + + + + + <%@ include file="../htm/setting.jsp" %> +
+
+ + diff --git a/src/main/webapp/WEB-INF/view/vip/vipMember.jsp b/src/main/webapp/WEB-INF/view/vip/vipMember.jsp new file mode 100644 index 0000000..1479cab --- /dev/null +++ b/src/main/webapp/WEB-INF/view/vip/vipMember.jsp @@ -0,0 +1,520 @@ +<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> + + + + 会员信息 + + <%@ include file="../htm/script.jsp" %> + + + + + + + + + + <%@ include file="../htm/header.jsp" %> + +
+ +
+ + <%@ include file="../htm/sidebar.jsp" %> + +
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + - + + + + +
+ + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + +
     全选单位名称法人代表手机号码微信会员类型入会时间到期时间联系人联系电话推荐人单位地址会费操作
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+ + + +
+ + + <%@ include file="../htm/setting.jsp" %> +
+
+ + diff --git a/src/main/webapp/WEB-INF/view/vip/vipMemberAdd.jsp b/src/main/webapp/WEB-INF/view/vip/vipMemberAdd.jsp new file mode 100644 index 0000000..140b490 --- /dev/null +++ b/src/main/webapp/WEB-INF/view/vip/vipMemberAdd.jsp @@ -0,0 +1,781 @@ +<%@ page language="java" pageEncoding="utf-8"%> + + + + 会员新增 + + <%@ include file="../htm/script.jsp" %> + + + + + + + + + <%@ include file="../htm/header.jsp" %> + +
+ +
+ + <%@ include file="../htm/sidebar.jsp" %> + +
+ +
+
+
+
+

会员详情

+
+

+
+
+
+
+ +
+ + + + +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+
+
+
+
+
+
+

推荐人列表

+ + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
选择推荐人名称推荐人类型入会时间备注
+
+

单位评价证列表

+ + + + + + + + + + + + + + + + + +
证书编号证书等级证书类型证书申请时间证书到期时间开票时间出证时间年审时间费用操作
+ + + +
+ +
+ + +
+ +
+ +
+
+
+
+ + <%@ include file="../htm/setting.jsp" %> +
+
+
+ + diff --git a/src/main/webapp/WEB-INF/view/vip/vipMemberUpdate.jsp b/src/main/webapp/WEB-INF/view/vip/vipMemberUpdate.jsp new file mode 100644 index 0000000..80cd960 --- /dev/null +++ b/src/main/webapp/WEB-INF/view/vip/vipMemberUpdate.jsp @@ -0,0 +1,816 @@ +<%@ page language="java" pageEncoding="utf-8"%> + + + + 会员编辑 + + <%@ include file="../htm/script.jsp" %> + + + + + + + + + <%@ include file="../htm/header.jsp" %> + +
+ +
+ + <%@ include file="../htm/sidebar.jsp" %> + +
+ +
+
+
+
+

会员详情

+
+

+
+
+
+
+ +
+ + + + +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ " class="form-control" required="required" maxlength="20"/> +
+
+
+
+ +
+ " class="form-control" required="required" maxlength="20"/> +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+
+
+
+
+
+
+

推荐人列表

+ + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
选择推荐人名称推荐人类型入会时间备注
+ + + + + + + + + + + + + + + + + + + +
选择推荐人名称推荐人类型入会时间备注
+ + ${vipReferrer.referrerName}${vipReferrer.referrerType.typeName}${vipReferrer.referrerRemark}
+
+

单位评价证列表

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
证书编号证书等级证书类型证书申请时间证书到期时间开票时间出证时间年审时间费用操作
${company.certificateCard}${company.certificateLevel}${company.certificateType}${company.cost} + + +
+ + + +
+ +
+ + +
+ +
+ +
+
+
+
+ + <%@ include file="../htm/setting.jsp" %> +
+
+
+ + diff --git a/src/main/webapp/WEB-INF/view/vip/vipPersonal.jsp b/src/main/webapp/WEB-INF/view/vip/vipPersonal.jsp new file mode 100644 index 0000000..4837d7e --- /dev/null +++ b/src/main/webapp/WEB-INF/view/vip/vipPersonal.jsp @@ -0,0 +1,456 @@ +<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> + + + + 个人评价证 + + <%@ include file="../htm/script.jsp" %> + + + + + + + + + + <%@ include file="../htm/header.jsp" %> + +
+ +
+ + <%@ include file="../htm/sidebar.jsp" %> + +
+ +
+
+
+
+
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + +
ID姓名身份证号证书编号证书等级证书类型证书时间证书上传官网备注操作
+
+
+
+
+
+ +
+
+ + <%@ include file="../htm/setting.jsp" %> +
+
+ + diff --git a/src/main/webapp/WEB-INF/view/vip/vipReferrer.jsp b/src/main/webapp/WEB-INF/view/vip/vipReferrer.jsp index cd47a0b..8b1da1d 100644 --- a/src/main/webapp/WEB-INF/view/vip/vipReferrer.jsp +++ b/src/main/webapp/WEB-INF/view/vip/vipReferrer.jsp @@ -22,7 +22,7 @@ $("#searchTable").find("input").addClass("searchClass"); $("#searchTable").find("select").addClass("searchClass"); //日期控件 - $('#sSearch3,#sSearch4').datepicker({ + $('#sSearch3,#sSearch4,#referrerAdmissionTime').datepicker({ language: 'zh-CN', format: "yyyy-mm-dd" }); @@ -43,6 +43,7 @@ },"bSortable": false }, {"mData": "referrerAdmissionTime", "bSortable": false}, {"mData": "referrerRemark", "bSortable": false}, + {"mData": "referrerRemark", "bSortable": false}, {"mData": "createUser", "bSortable": false}, {"mData": "createTime", "bSortable": false}, {"mData": function(vipReferrer){ @@ -69,7 +70,7 @@ } } }); - $("#sample-table-2_length").append('    '); + $("#sample-table-2_length").append('    '); //重置 $("#reset").click(function () { var searchClass = $(".searchClass"); @@ -78,6 +79,14 @@ } dataTable.fnDraw(); }); + $("#addVipReferrer").click(function(){ + $("#referrerId").val(""); + $("#referrerName").val(""); + $("#referrerAdmissionTime").val(""); + $("#referrerRemark").val(""); + $("#addOrUpdateSubmitBtn").attr("disabled",false); + $("#referrerModal").modal("show"); + }); //模态框 $('.modal').modal({ backdrop: 'static', @@ -91,28 +100,91 @@ $("#searchTable").find("input,select").change(function () { dataTable.fnDraw(); }); + $("#addOrUpdateSubmitBtn").click(function(){ + var referrerName = $("#referrerName").val(); + if(referrerName == ""){ + jAlert('推荐人名称不能为空!', '提示'); + return false; + } + var referrerAdmissionTime = $("#referrerAdmissionTime").val(); + if(referrerAdmissionTime == ""){ + jAlert('推荐人入会时间不能为空!', '提示'); + return false; + } + $("#addOrUpdateSubmitBtn").attr("disabled",true); + $("#form-referrer").submit(); + }); + //提交表单 + $('#form-referrer').ajaxForm(function(data){ + //弹出ajax请求后的回调结果 + if(data=="true"){ + //刷新当前页面 + $("#referrerModal").modal("hide"); + jAlert('成功', '提示'); + $("#addOrUpdateSubmitBtn").attr("disabled",false); + refreshTable(); + } + else{ + //刷新当前页面 + jAlert('失败', '提示'); + $("#addOrUpdateSubmitBtn").attr("disabled",false); + } + }); }); + function editVipReferrer(referrerId){ + $.ajax({ + "url": "<%=basePath%>page/vip/getReferrer.do?rm="+Math.random(), + "type": 'POST', + "data": {"referrerId":referrerId}, + "dataType": "json", + "success":function(data){ + if(data!=null){ + $("#referrerId").val(data.referrerId); + $("#referrerName").val(data.referrerName); + $("#referrerType option").each(function() { + if ($(this).val() == data.referrerType.typeId) { + $(this).attr("selected",true); + } + }); + $("#referrerAdmissionTime").val(data.referrerAdmissionTime); + $("#referrerRemark").val(data.referrerRemark); + $("#referrerModal").modal("show"); + } + else{ + jAlert('失败', '提示'); + //刷新当前页 + refreshTable(); + } + }, + error:function(){ + //刷新当前页 + refreshTable(); + jAlert('错误', '提示'); + }, + }); + } + 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(); - } - }); + 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(); + } + }); } }); } @@ -176,7 +248,7 @@ 首页 -
  • 用户列表
  • +
  • 推荐人列表
  • @@ -190,7 +262,7 @@ - + @@ -215,6 +287,7 @@ 推荐人类型 推荐人入会时间 备注 + 单位列表 创建人 创建时间 操作 @@ -225,55 +298,61 @@
    -
    -
    <%@ include file="../htm/setting.jsp" %> diff --git a/src/main/webapp/WEB-INF/view/vip/vipType.jsp b/src/main/webapp/WEB-INF/view/vip/vipType.jsp index 7fcee04..78f2098 100644 --- a/src/main/webapp/WEB-INF/view/vip/vipType.jsp +++ b/src/main/webapp/WEB-INF/view/vip/vipType.jsp @@ -77,7 +77,7 @@ //提交表单 $('#form1').ajaxForm(function(data){ //弹出ajax请求后的回调结果 - if(data==true){ + if(data=="true"){ //刷新当前页面 $('.modal').modal("hide"); jAlert('成功', '提示');