فهرست منبع

求职用户导出

LiFei 6 سال پیش
والد
کامیت
665a1b7894

+ 290 - 0
src/main/java/com/jeeplus/modules/sys/entity/HpMemberForExport.java

@@ -0,0 +1,290 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.sys.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.common.utils.excel.annotation.ExcelField;
+import com.jeeplus.core.persistence.DataEntity;
+import com.jeeplus.modules.hpuser.entity.HpUserContact;
+import com.jeeplus.modules.sys.utils.DictUtils;
+
+import javax.validation.constraints.NotNull;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 会员表Entity
+ * @author lifei
+ * @version 2019-08-01
+ */
+public class HpMemberForExport extends DataEntity<HpMemberForExport> {
+
+	private static final long serialVersionUID = 1L;
+	private HpUser hpUser;		// 登录用户
+	private String phone;		// 手机号
+	private String realName;		// 真是姓名
+	private String gender;		// 性别(0:未知 1:男性 2:女性)
+	private String birthYear;		// 出生年份
+	private String idCardNumber;		// 身份证号码
+	private String idCardFront;		// 身份证正面
+	private String idCardBack;		// 身份证反面
+	private String idCardHold;		// 手持身份证
+	private String authenticationStatus;		// 认证状态(0:未认证 1:等待认证 2:未通过 3:已认证)
+	private String contactPerson;		// 联系人(当此字段不为null时,说明跟进模块已被该用户锁住,其他用户不可以跟进)
+	private Date contactTime;		// 联系时间
+	private Integer contactStatus;		// 联系状态(0:联系 1:再联系 2:面试 3:入职 4:离职 5:流失)
+	private String contactContent;		// 联系内容
+	private Integer memberType;		// 会员级别(0:普通用户)
+	private String qrcode;		// 用户二维码
+	private List<HpUserContact> hpUserContactList;    //用户联系列表
+	private Integer nativePlaceProvince;   //籍贯Code(省)
+	private Integer nativePlaceCity;    //籍贯Code(市)
+    private  String nativePlace;   //籍贯
+    private Integer isMainNation;  //是否四大民族(0:不是 1:是)
+	private String registerType;   // 注册方式(0:小程序 1:微信授权 2:APP)
+	private String registerFrom;        // 注册来源(邀请人或邀请门店或邀请渠道)
+
+	public HpMemberForExport() {
+		super();
+		this.setIdType(IDTYPE_AUTO);
+	}
+
+	public HpMemberForExport(String id){
+		super(id);
+	}
+
+	public HpUser getHpUser() {
+		return hpUser;
+	}
+
+	public void setHpUser(HpUser hpUser) {
+		this.hpUser = hpUser;
+	}
+
+	@ExcelField(title="手机号", align=2, sort=2)
+	public String getPhone() {
+		return phone;
+	}
+
+	public void setPhone(String phone) {
+		this.phone = phone;
+	}
+	
+	@ExcelField(title="姓名", align=2, sort=3)
+	public String getRealName() {
+		return realName;
+	}
+
+	public void setRealName(String realName) {
+		this.realName = realName;
+	}
+	
+	@ExcelField(title="性别", align=2, sort=4)
+	public String getGender() {
+		if (StringUtils.isNotBlank(gender)) {
+			gender = DictUtils.getDictLabel(gender, "sex_all", "-");
+		}
+		return gender;
+	}
+
+	public void setGender(String gender) {
+		this.gender = gender;
+	}
+	
+	@ExcelField(title="年龄", align=2, sort=5)
+	public String getBirthYear() {
+		if(StringUtils.isNotBlank(birthYear)){
+			Calendar date = Calendar.getInstance();
+			String year = String.valueOf(date.get(Calendar.YEAR));
+			return String.valueOf(Integer.valueOf(year)-Integer.valueOf(birthYear)+1);
+		}else{
+			return "-";
+		}
+	}
+
+	public void setBirthYear(String birthYear) {
+		this.birthYear = birthYear;
+	}
+	
+
+	public String getIdCardNumber() {
+		return idCardNumber;
+	}
+
+	public void setIdCardNumber(String idCardNumber) {
+		this.idCardNumber = idCardNumber;
+	}
+	
+
+	public String getIdCardFront() {
+		return idCardFront;
+	}
+
+	public void setIdCardFront(String idCardFront) {
+		this.idCardFront = idCardFront;
+	}
+	
+
+	public String getIdCardBack() {
+		return idCardBack;
+	}
+
+	public void setIdCardBack(String idCardBack) {
+		this.idCardBack = idCardBack;
+	}
+	
+
+	public String getIdCardHold() {
+		return idCardHold;
+	}
+
+	public void setIdCardHold(String idCardHold) {
+		this.idCardHold = idCardHold;
+	}
+	
+	@ExcelField(title="认证状态", align = 2, sort = 9)
+	public String getAuthenticationStatus() {
+		if (StringUtils.isNotBlank(authenticationStatus)) {
+			authenticationStatus = DictUtils.getDictLabel(authenticationStatus, "authenticationStatus", "-");
+		}
+		return authenticationStatus;
+	}
+
+	public void setAuthenticationStatus(String authenticationStatus) {
+		this.authenticationStatus = authenticationStatus;
+	}
+	
+
+	public String getContactPerson() {
+		return contactPerson;
+	}
+
+	public void setContactPerson(String contactPerson) {
+		this.contactPerson = contactPerson;
+	}
+	
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	public Date getContactTime() {
+		return contactTime;
+	}
+
+	public void setContactTime(Date contactTime) {
+		this.contactTime = contactTime;
+	}
+	
+
+	public Integer getContactStatus() {
+		return contactStatus;
+	}
+
+	public void setContactStatus(Integer contactStatus) {
+		this.contactStatus = contactStatus;
+	}
+	
+
+	public String getContactContent() {
+		return contactContent;
+	}
+
+	public void setContactContent(String contactContent) {
+		this.contactContent = contactContent;
+	}
+	
+	@NotNull(message="会员级别(0:普通用户)不能为空")
+	public Integer getMemberType() {
+		return memberType;
+	}
+
+	public void setMemberType(Integer memberType) {
+		this.memberType = memberType;
+	}
+	
+
+	public String getQrcode() {
+		return qrcode;
+	}
+
+	public void setQrcode(String qrcode) {
+		this.qrcode = qrcode;
+	}
+
+	public List<HpUserContact> getHpUserContactList() {
+		return hpUserContactList;
+	}
+
+	public void setHpUserContactList(List<HpUserContact> hpUserContactList) {
+		this.hpUserContactList = hpUserContactList;
+	}
+
+
+	public Integer getNativePlaceProvince() {
+		return nativePlaceProvince;
+	}
+
+	public void setNativePlaceProvince(Integer nativePlaceProvince) {
+		this.nativePlaceProvince = nativePlaceProvince;
+	}
+
+	public Integer getNativePlaceCity() {
+		return nativePlaceCity;
+	}
+
+	public void setNativePlaceCity(Integer nativePlaceCity) {
+		this.nativePlaceCity = nativePlaceCity;
+	}
+
+	public String getNativePlace() {
+		return nativePlace;
+	}
+
+	public void setNativePlace(String nativePlace) {
+		this.nativePlace = nativePlace;
+	}
+
+	public Integer getIsMainNation() {
+		return isMainNation;
+	}
+
+	public void setIsMainNation(Integer isMainNation) {
+		this.isMainNation = isMainNation;
+	}
+
+	@ExcelField(title = "注册途径", align = 2, sort = 7)
+	public String getRegisterType() {
+		if (StringUtils.isNotBlank(registerType)) {
+			registerType = DictUtils.getDictLabel(registerType, "register_type", "-");
+		}
+		return registerType;
+	}
+
+	public void setRegisterType(String registerType) {
+		this.registerType = registerType;
+	}
+
+	@ExcelField(title = "注册来源", align = 2, sort = 8)
+	public String getRegisterFrom() {
+		if (StringUtils.isBlank(registerFrom)) {
+			return "-";
+		}
+		return registerFrom;
+	}
+
+	public void setRegisterFrom(String registerFrom) {
+		this.registerFrom = registerFrom;
+	}
+
+	@Override
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@ExcelField(title = "注册时间", align = 2, sort = 6)
+	public Date getCreateDate() {
+		return super.getCreateDate();
+	}
+
+	@Override
+	public void setCreateDate(Date createDate) {
+		super.setCreateDate(createDate);
+	}
+}

+ 3 - 0
src/main/java/com/jeeplus/modules/sys/mapper/HpMemberMapper.java

@@ -6,6 +6,7 @@ package com.jeeplus.modules.sys.mapper;
 import com.jeeplus.core.persistence.BaseMapper;
 import com.jeeplus.core.persistence.annotation.MyBatisMapper;
 import com.jeeplus.modules.sys.entity.HpMember;
+import com.jeeplus.modules.sys.entity.HpMemberForExport;
 
 import java.util.List;
 
@@ -24,4 +25,6 @@ public interface HpMemberMapper extends BaseMapper<HpMember> {
     void approve(HpMember hpMember);
 
     HpMember getAPI(String memberId);
+
+    List<HpMemberForExport> findListForExport(HpMemberForExport hpMemberForExport);
 }

+ 29 - 0
src/main/java/com/jeeplus/modules/sys/mapper/xml/HpMemberMapper.xml

@@ -354,4 +354,33 @@
 		FROM hp_member a
 		WHERE a.id = #{0}
 	</select>
+
+
+
+	<select id="findListForExport" resultType="HpMemberForExport" >
+		SELECT
+		a.id AS "id",
+		a.phone AS "phone",
+		a.real_name AS "realName",
+		a.gender AS "gender",
+		a.birth_year AS "birthYear",
+		a.authentication_status AS "authenticationStatus",
+		a.create_date AS "createDate",
+		a.del_flag AS "delFlag",
+		su.register_type AS "registerType",
+		su.register_from AS "registerFrom"
+		FROM hp_member a
+		<include refid="hpMemberJoins"/>
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL}
+		</where>
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.update_date DESC
+			</otherwise>
+		</choose>
+	</select>
 </mapper>

+ 8 - 0
src/main/java/com/jeeplus/modules/sys/service/HpMemberService.java

@@ -19,6 +19,7 @@ import com.jeeplus.modules.hpuser.entity.HpFavoritePosition;
 import com.jeeplus.modules.hpuser.entity.HpResume;
 import com.jeeplus.modules.hpuser.entity.HpUserContact;
 import com.jeeplus.modules.hpuser.service.*;
+import com.jeeplus.modules.sys.entity.HpMemberForExport;
 import com.jeeplus.modules.sys.mapper.HpMemberMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -166,4 +167,11 @@ public class HpMemberService extends CrudService<HpMemberMapper, HpMember> {
     public HpMember getAPI(String memberId) {
         return mapper.getAPI(memberId);
     }
+
+    public Page<HpMemberForExport> findPageForExport(Page<HpMemberForExport> hpMemberPage, HpMemberForExport hpMemberForExport) {
+        dataRuleFilter(hpMemberForExport);
+        hpMemberForExport.setPage(hpMemberPage);
+        hpMemberPage.setList(mapper.findListForExport(hpMemberForExport));
+        return hpMemberPage;
+    }
 }

+ 4 - 3
src/main/java/com/jeeplus/modules/sys/web/HpMemberController.java

@@ -13,6 +13,7 @@ import javax.validation.ConstraintViolationException;
 
 import com.jeeplus.modules.hpuser.entity.HpUserContact;
 import com.jeeplus.modules.hpuser.service.HpUserContactService;
+import com.jeeplus.modules.sys.entity.HpMemberForExport;
 import com.jeeplus.modules.sys.entity.HpUser;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.service.HpUserService;
@@ -350,12 +351,12 @@ public class HpMemberController extends BaseController {
 	@ResponseBody
 	@RequiresPermissions("sys:hpMember:export")
     @RequestMapping(value = "export")
-    public AjaxJson exportFile(HpMember hpMember, HttpServletRequest request, HttpServletResponse response) {
+    public AjaxJson exportFile(HpMemberForExport hpMemberForExport, HttpServletRequest request, HttpServletResponse response) {
 		AjaxJson j = new AjaxJson();
 		try {
             String fileName = "会员表"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
-            Page<HpMember> page = hpMemberService.findPage(new Page<HpMember>(request, response, -1), hpMember);
-    		new ExportExcel("会员表", HpMember.class).setDataList(page.getList()).write(response, fileName).dispose();
+            Page<HpMemberForExport> page = hpMemberService.findPageForExport(new Page<HpMemberForExport>(request, response, -1), hpMemberForExport);
+    		new ExportExcel("会员表", HpMemberForExport.class).setDataList(page.getList()).write(response, fileName).dispose();
     		j.setSuccess(true);
     		j.setMsg("导出成功!");
     		return j;