Bladeren bron

1、更改配置文件编码

rayson 1 jaar geleden
bovenliggende
commit
6d6e709043

+ 2 - 2
src/main/java/com/wechat/dao/MdeJobAdvertisedDao.java

@@ -302,7 +302,7 @@ public class MdeJobAdvertisedDao extends BaseDao {
     /**
      * @description 获取已发布职位列表
      * @author rayson
-     * @param userCode
+     * @param map
      * @date 2023-09-19 14:34
      * @return PagingResult<AlreadyPublishPositionResp>
      **/
@@ -416,7 +416,7 @@ public class MdeJobAdvertisedDao extends BaseDao {
      */
     public int updatePublishDate(String userCode,Integer jobId) {
         Map<String, Object> map = new HashMap<String, Object>();
-        map.put("userCode", userCode);
+        map.put("publisher", userCode);
         map.put("jobId", jobId);
         return sqlSession.update("MdeJobAdvertisedMapper.updatePublishDate", map);
     }

+ 1 - 1
src/main/java/com/wechat/global/message/InfoMsg.java

@@ -119,7 +119,7 @@ public enum InfoMsg {
 	
 	ERROR_UNBINDING("4026","账号未绑定,请关注我们微信公众号并绑定!|Your Menduner account is unbound. Please follow our WeChat official account and bind it."),
 	ERROR_FILE_TOOLONG_ERROR("4027","文件名称过长,请修改后提交!|The file name is too long, please submit after modification!"),
-	
+	ERROR_FILE_SUFFIX_TYPE("4028","文件缀名仅支持pdf/doc/docs/xls/xlsx! |Suffix name only supports pdf/doc/docs/xls/xlsx!"),
 	ERROR_USERINFO_PREFERRED("4030","用户信息不完整,意向工作地未填写。|Personal information is incomplete. Your preferred work city is empty."),
 	ERROR_USERINFO_BIRTHDAY("4030","用户信息不完整,生日未填写。|Personal information is incomplete. Your date of birth is empty."),
 	ERROR_USERINFO_EDUCATION("4030","用户信息不完整,教育经历填写。|Personal information is incomplete. Your education background is empty."),

+ 8 - 0
src/main/java/com/wechat/model/dbEntity/MdeUser.java

@@ -57,6 +57,7 @@ public class MdeUser extends BaseEntity {
 
 	private String studentFlag;	// 学生标识[0-社招; 1-在校生]
 	private Integer experience;// 行业经验
+	private Integer educationResumeFlag; // 教育经历是否填写
 	private String addDetail;// 工作地点详细地址
 	private double addLongitude;// 工作地点-经度
 	private double addLatitude;// 工作地点-纬度
@@ -594,4 +595,11 @@ public class MdeUser extends BaseEntity {
 		this.topBackgroundMbl = topBackgroundMbl;
 	}
 
+	public Integer getEducationResumeFlag() {
+		return educationResumeFlag;
+	}
+
+	public void setEducationResumeFlag(Integer educationResumeFlag) {
+		this.educationResumeFlag = educationResumeFlag;
+	}
 }

+ 9 - 0
src/main/java/com/wechat/model/requestDto/PersonInformationReq.java

@@ -43,6 +43,8 @@ public class PersonInformationReq {
 
 	private String studentFlag;	// 学生标识[0-社招; 1-在校生]
 	private Integer experience;// 行业经验
+
+	private Integer educationResumeFlag; // 教育经历是否填写
 	private String addDetail;// 工作地点详细地址
 	private String website;// 企业官网
 	private Integer workStatus;// 工作状态(字典表维护)[0-无跳槽打算;1-在职-到岗时间待定;2-在职-到岗时间1月左右;3-离职]
@@ -409,4 +411,11 @@ public class PersonInformationReq {
 		this.shareCode = shareCode;
 	}
 
+	public Integer getEducationResumeFlag() {
+		return educationResumeFlag;
+	}
+
+	public void setEducationResumeFlag(Integer educationResumeFlag) {
+		this.educationResumeFlag = educationResumeFlag;
+	}
 }

+ 9 - 0
src/main/java/com/wechat/model/requestDto/UserInfoDto.java

@@ -27,6 +27,8 @@ public class UserInfoDto {
 	private String positionTitle; // 当前职位头衔
 	private String birthday; // 生日
 	private double experience; // 行业经验
+
+	private Integer educationResumeFlag; // 教育经历是否填写
 	private String addDetail;// 工作地点详细地址
 	private double addLongitude; // 工作地点-经度
 	private double addLatitude; // 工作地点-纬度
@@ -351,4 +353,11 @@ public class UserInfoDto {
 		this.prepareFlag = prepareFlag;
 	}
 
+	public Integer getEducationResumeFlag() {
+		return educationResumeFlag;
+	}
+
+	public void setEducationResumeFlag(Integer educationResumeFlag) {
+		this.educationResumeFlag = educationResumeFlag;
+	}
 }

+ 2 - 22
src/main/java/com/wechat/service/EnterpriseService.java

@@ -486,16 +486,6 @@ public class EnterpriseService extends BaseService {
      **/
     public Map<String, Object> searchUserCvByKeyWord(HttpServletRequest req, KeyWordReq keyWordReq, String model) {
         Map<String, Object> map = Maps.newHashMap();
-        if (keyWordReq != null && StringsUtils.isEmpty(keyWordReq.getKeyWord())) {
-            PagingResult<UserInfoResp> pagingResult = new PagingResult<>();
-            pagingResult.setCurrentPage(keyWordReq.getIndex());
-            pagingResult.setTotalSize(0);
-            pagingResult.setPageSize(keyWordReq.getSize());
-            pagingResult.setResultList(new ArrayList<UserInfoResp>());
-            pagingResult.setPageNoSize(10);
-            map.put("page", pagingResult);
-            return map;
-        }
         String language = commonService.getLanguage(req);
         String userCode = commonService.getUserCode(req);
         Pagination page = new Pagination(keyWordReq.getIndex(), keyWordReq.getSize());
@@ -666,7 +656,6 @@ public class EnterpriseService extends BaseService {
 
     /**
      * @param keyWordReq 关键词
-     * @param req
      * @param userCode   用户code
      * @return PagingResult<JobAdvertisedResp>
      * @description 已发职位关键词检索
@@ -674,19 +663,10 @@ public class EnterpriseService extends BaseService {
      * @date 2023-09-12 14:42
      **/
     public PagingResult<JobAdvertisedResp> searchAlreadyPublishByKeyWord(KeyWordReq keyWordReq, String userCode, HttpServletRequest req) {
-        if (keyWordReq != null && StringsUtils.isEmpty(keyWordReq.getKeyWord())) {
-            PagingResult<JobAdvertisedResp> pagingResult = new PagingResult<>();
-            pagingResult.setCurrentPage(keyWordReq.getIndex());
-            pagingResult.setTotalSize(0);
-            pagingResult.setPageSize(keyWordReq.getSize());
-            pagingResult.setResultList(new ArrayList<JobAdvertisedResp>());
-            pagingResult.setPageNoSize(10);
-            return pagingResult;
-        }
+
         String language = commonService.getLanguage(req);
 
         Pagination page = new Pagination(keyWordReq.getIndex(), keyWordReq.getSize());
-
         Map<Object, Object> pageParam = Maps.newHashMap();
         pageParam.put("userCode", userCode);
         pageParam.put("lang", language);
@@ -787,7 +767,7 @@ public class EnterpriseService extends BaseService {
      * @author rayson
      * @date 2023-09-26 15:58
      **/
-    @Transactional(rollbackFor = Exception.class)
+    @Transactional
     public void deleteJobAdvertised(String userCode, DeleteReq req) {
 
         Map<String, Object> map = new HashMap<>(4);

+ 2 - 0
src/main/java/com/wechat/service/LoginService.java

@@ -152,6 +152,8 @@ public class LoginService {
 		int workExperienceCount = mdeWorkExperienceService.findByUserCodeCount(userCode);
 		userDto.setWorkExperienceCount(workExperienceCount);
 
+		userDto.setEducationResumeFlag(mdeUser.getEducationResumeFlag());
+
 		rest.setResult(userDto);
 		
 		return rest;

+ 7 - 4
src/main/java/com/wechat/service/PersonCeneterService.java

@@ -160,14 +160,18 @@ public class PersonCeneterService {
                 if (StringsUtils.isEmpty(name)
                         || StringsUtils.isEmpty(workStatus)
                         || StringsUtils.isEmpty(birthday)
-                        || StringsUtils.isEmpty(firstWork)
+//                        || StringsUtils.isEmpty(firstWork)
                         || StringUtils.isEmpty(studentFlag)) {
                     throw new CustomException(InfoMsg.ERROR_PARAMS_ERROR);
                 }
                 user.setName(name);
                 user.setWorkStatus(Integer.valueOf(workStatus));
                 user.setEmail(email);
-                user.setFirstWork(DateUtils.stringToDate(firstWork, DateUtils.PATTEN_YMTOW));
+                if(null!= firstWork) {
+                    user.setFirstWork(DateUtils.stringToDate(firstWork, DateUtils.PATTEN_YMTOW));
+                }else {
+                    user.setFirstWork(null);
+                }
                 user.setBirthday(StringsUtils.isNotEmpty(birthday) ? birthday : "");
                 user.setUpdateBy(userCode + "");
 //				user.setAddrProvince(getRealValue(addrProvince));
@@ -546,7 +550,7 @@ public class PersonCeneterService {
         if (fileName.indexOf(".") > 0) {
             String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
             if (!checkFileType(fileType)) {
-                throw new CustomException(InfoMsg.ERROR_FILE_TYPE_ERROR);
+                throw new CustomException(InfoMsg.ERROR_FILE_SUFFIX_TYPE);
             }
 
             String path = "";
@@ -574,7 +578,6 @@ public class PersonCeneterService {
     }
 
     public boolean checkFileType(String fileName) {
-        // ========== 20230911 更改 【STORY】1000170 ==========
         if (fileName.equalsIgnoreCase("pdf")
                 || fileName.equalsIgnoreCase("doc")
                 || fileName.equalsIgnoreCase("docx")

+ 0 - 10
src/main/java/com/wechat/service/PositionService.java

@@ -169,22 +169,12 @@ public class PositionService extends BaseService {
 
     /**
      * @param keyWordReq 关键词
-     * @param req
      * @return PagingResult<JobAdvertisedListDto>
      * @description 职位关键词搜索(用户版)
      * @author rayson
      * @date 2023-09-13 14:22
      **/
     public PagingResult<JobAdvertisedListDto> searchPositionByKeyWord(KeyWordReq keyWordReq, HttpServletRequest req) {
-        if (keyWordReq != null && StringsUtils.isEmpty(keyWordReq.getKeyWord())) {
-            PagingResult<JobAdvertisedListDto> pagingResult = new PagingResult<>();
-            pagingResult.setCurrentPage(keyWordReq.getIndex());
-            pagingResult.setTotalSize(0);
-            pagingResult.setPageSize(keyWordReq.getSize());
-            pagingResult.setResultList(new ArrayList<JobAdvertisedListDto>());
-            pagingResult.setPageNoSize(10);
-            return pagingResult;
-        }
         String language = commonService.getLanguage(req);
 
         Pagination page = new Pagination(keyWordReq.getIndex(), keyWordReq.getSize());

+ 3 - 2
src/main/java/com/wechat/service/RegisterService.java

@@ -435,6 +435,7 @@ public class RegisterService {
 		}else {
 			userInfo.setFirstWork(null);
 		}
+        userInfo.setStudentFlag(jo.getStudentFlag());
         //个人用户不需要审核
         userInfo.setCheckStatus("2");
 
@@ -462,8 +463,8 @@ public class RegisterService {
             userInfo.setUserCode(userCode);
             String pre = now.getTime() + "_" + userCode;
             //上传用户头像并压缩
-            String headPortrait = LocalFileUtil.transferHeadProtraitForBase64(jo.getHeadPortrait(), basePackagePath, basePackagePathImage, pre);
-            userInfo.setHeadPortrait(headPortrait);
+//            String headPortrait = LocalFileUtil.transferHeadProtraitForBase64(jo.getHeadPortrait(), basePackagePath, basePackagePathImage, pre);
+//            userInfo.setHeadPortrait(headPortrait);
             //用户表存储
             mdeUserService.insertUserInfo(userInfo);
 

+ 7 - 10
src/main/java/com/wechat/service/TalentRetrievalService.java

@@ -114,17 +114,14 @@ public class TalentRetrievalService {
 //		return page;
 //	}
 
+	/**
+	 * @description 人才关键词检索
+	 * @author rayson
+	 * @param keyWordReq
+	 * @date 2023-10-23 10:30
+	 * @return PagingResult<TalentRetrievalDto>
+	 **/
 	public PagingResult<TalentRetrievalDto> searchKeyWord(KeyWordReq keyWordReq, HttpServletRequest req) {
-		if (keyWordReq != null && StringsUtils.isEmpty(keyWordReq.getKeyWord())) {
-			PagingResult<TalentRetrievalDto> pagingResult = new PagingResult<>();
-			pagingResult.setCurrentPage(keyWordReq.getIndex());
-			pagingResult.setTotalSize(0);
-			pagingResult.setPageSize(keyWordReq.getSize());
-			pagingResult.setResultList(new ArrayList<TalentRetrievalDto>());
-			pagingResult.setPageNoSize(10);
-			return pagingResult;
-		}
-
 		Pagination pagination = new Pagination(keyWordReq.getIndex(), keyWordReq.getSize());
 
 		Map<Object, Object> param = Maps.newHashMap();

+ 80 - 80
src/main/resources/conf.local.properties

@@ -1,4 +1,4 @@
-#weixin 公众号
+#weixin \u516c\u4f17\u53f7
 token=RdkcWechatToken2016
 weixin.appid=wx700ad9bf40b511db
 weixin.secret=2a8ac1cb6266187fdb9527d40e73c4b9
@@ -19,78 +19,78 @@ weixin.userinfo=https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&ope
 weixin.userinfo.list=https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token={0}
 weixin.menu=https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}
 weixin.shorturl=https://api.weixin.qq.com/cgi-bin/shorturl?access_token={0}
-#静默登陆
+#\u9759\u9ed8\u767b\u9646
 weixin.authorization.code=https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
 
-#weixin 小程序
-#视频面试
+#weixin \u5c0f\u7a0b\u5e8f
+#\u89c6\u9891\u9762\u8bd5
 wx.miniprog.video.token=Mde1ht7eD@tIof8b.b86ugsQddt
 wx.miniprog.video.appid=wx2258c25589859d8c
 wx.miniprog.video.secret=a44c4fd22083ff735cd551415cb590c8
 wx.miniprog.video.tmsg.invite.url=pages/index/index
-#跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
+#\u8df3\u8f6c\u5c0f\u7a0b\u5e8f\u7c7b\u578b\uff1adeveloper\u4e3a\u5f00\u53d1\u7248\uff1btrial\u4e3a\u4f53\u9a8c\u7248\uff1bformal\u4e3a\u6b63\u5f0f\u7248\uff1b\u9ed8\u8ba4\u4e3a\u6b63\u5f0f\u7248
 wx.miniprog.video.state=developer
 
-#小程序 登录
+#\u5c0f\u7a0b\u5e8f \u767b\u5f55
 wx.miniprog.login.url=https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code
-#小程序 下发小程序和公众号统一的服务消息
+#\u5c0f\u7a0b\u5e8f \u4e0b\u53d1\u5c0f\u7a0b\u5e8f\u548c\u516c\u4f17\u53f7\u7edf\u4e00\u7684\u670d\u52a1\u6d88\u606f
 wx.miniprog.tplmsg.url=https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token={0}
 
-#腾讯即时视频
+#\u817e\u8baf\u5373\u65f6\u89c6\u9891
 wx.video.appid=1400384566
 wx.video.secret=656440f384e8de3272ff0d6f293d72e3bff67d9b3386d717abea8b2f1279774a
 
 
-#领英
+#\u9886\u82f1
 linkedIn.clientId=81fdbcw6p7kx2c
 linkedIn.clientSecret=4HJvFKhEuC4AUT9q
 linkedIn.grantType=authorization_code
 linkedIn.redirect_url=https://www.menduner.com/user/login
 linkedIn.UserURl=https://api.linkedin.com/v2/me?projection=(id)
 #linkedIn.UserURl=https://api.linkedin.com/v2/me?projection=(id,firstName,lastName,profilePicture(displayImage~:playableStreams))
-#获取领英用户信息
+#\u83b7\u53d6\u9886\u82f1\u7528\u6237\u4fe1\u606f
 linkedIn.TokenUrl=https://www.linkedin.com/oauth/v2/accessToken
-#分享动态到领英
+#\u5206\u4eab\u52a8\u6001\u5230\u9886\u82f1
 linkedIn.shareTrendToLinkedIn=https://api.linkedin.com/v1/people/~/shares?format=json
 
-#微信第三方登录
+#\u5fae\u4fe1\u7b2c\u4e09\u65b9\u767b\u5f55
 weixin.authorization.tokenUrl=https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code
-#微信开放平台
+#\u5fae\u4fe1\u5f00\u653e\u5e73\u53f0
 weixin.open.appid=wxae181c656f9443fc
 weixin.open.secret=c3d39dea54f749c94a8b27a27b39e9ab
-#获取微信用户信息
+#\u83b7\u53d6\u5fae\u4fe1\u7528\u6237\u4fe1\u606f
 weixin.authorization.userinfo=https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN
-#微信推送 (接口地址)
+#\u5fae\u4fe1\u63a8\u9001 (\u63a5\u53e3\u5730\u5740)
 weixin.tmsg.send=https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}
 
-##模板消息
-#职位邀请通知 推送
+##\u6a21\u677f\u6d88\u606f
+#\u804c\u4f4d\u9080\u8bf7\u901a\u77e5 \u63a8\u9001
 position_template_id=NAXbtCr8VR71M78NWyPBpK_xASTMKDktb6H8zIgbOws
 position_url=https://www.menduner.com/#/mine/invitations/company
 
-#面试邀请通知  推送 <面试安排提醒>
+#\u9762\u8bd5\u9080\u8bf7\u901a\u77e5  \u63a8\u9001 <\u9762\u8bd5\u5b89\u6392\u63d0\u9192>
 interview_invitation_template_id=SVffJu9YWkXHd1_2hIS4tJU02msuVS4r0X3cCQr24zo
-#公众号链接
+#\u516c\u4f17\u53f7\u94fe\u63a5
 interview_invitation_url=https://www.menduner.com/#/mine/resume/delivery
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.invitation.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=1
 
-#面试时间变更通知  推送 <预约更改提醒>
+#\u9762\u8bd5\u65f6\u95f4\u53d8\u66f4\u901a\u77e5  \u63a8\u9001 <\u9884\u7ea6\u66f4\u6539\u63d0\u9192>
 interview.change.time.template.id=ioqHaLu4hJggfs09XCQWKYPh_eOKZbLcXBpQMo-38KI
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.change.time.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=1
 
-#面试时间确认通知  推送 <面试时间确认通知>
+#\u9762\u8bd5\u65f6\u95f4\u786e\u8ba4\u901a\u77e5  \u63a8\u9001 <\u9762\u8bd5\u65f6\u95f4\u786e\u8ba4\u901a\u77e5>
 interview.confirm.time.template.id=vM2Oqqmxqnenrd6VyLMvwN-DziM17wTMPvYpV5xKZHw
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.confirm.time.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=0
 
-#拒绝面试通知  推送 <拒绝面试邀请通知>
+#\u62d2\u7edd\u9762\u8bd5\u901a\u77e5  \u63a8\u9001 <\u62d2\u7edd\u9762\u8bd5\u9080\u8bf7\u901a\u77e5>
 interview.refuse.time.template.id=MoDQgpOLzEaaPGLdBs6ZkbV3wn1RTupYPzAZ3CVjGVg
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.refuse.time.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=0
 
-#百度API
+#\u767e\u5ea6API
 baidu.grant.type=client_credentials
 baidu.client.id=C5L7K5jHUYBxgj9ZKGb5A33G
 baidu.client.secret=Vt23lBP1zFZN5URRtQ4fhpLsSGa6TNdj
@@ -102,7 +102,7 @@ weixin.jsapi.reTime=6800
 weixin.jsapi.ticket=https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=jsapi
 weixin.jsapi.signature=jsapi_ticket={0}&noncestr={1}&timestamp={2}&url={3}
 
-#token 过期时间(分钟)
+#token \u8fc7\u671f\u65f6\u95f4\uff08\u5206\u949f\uff09
 token.expire.minute=120
 
 #reGet accessToke time
@@ -121,85 +121,85 @@ upload.path.html=htmls/
 upload.path.file=files/
 upload.path.card=card/
 upload.path.template=template/
-#企业相册
+#\u4f01\u4e1a\u76f8\u518c
 upload.path.image.album=album/
-#企业主页背景图
+#\u4f01\u4e1a\u4e3b\u9875\u80cc\u666f\u56fe
 upload.path.image.centerBg=centerBg/
-#临时文件
+#\u4e34\u65f6\u6587\u4ef6
 upload.path.image.temporary=temporary/
-#在职证明
+#\u5728\u804c\u8bc1\u660e
 upload.path.image.onjob=onjob/
 
 upload.refund.path=refund/
 upload.qrcode.path=qrcode/
 
 
-#默认请求每页数量
+#\u9ed8\u8ba4\u8bf7\u6c42\u6bcf\u9875\u6570\u91cf
 default.request.page.size=10
-#好友动态每页数量
+#\u597d\u53cb\u52a8\u6001\u6bcf\u9875\u6570\u91cf
 trends.friendTrends.limitSize=5
-#好友动态 发布动态,修改资料 距离今天的天数
+#\u597d\u53cb\u52a8\u6001 \u53d1\u5e03\u52a8\u6001,\u4fee\u6539\u8d44\u6599 \u8ddd\u79bb\u4eca\u5929\u7684\u5929\u6570
 trends.friendTrendsWithLimit.limitDay=7
-#可能认识的人每页数量
+#\u53ef\u80fd\u8ba4\u8bc6\u7684\u4eba\u6bcf\u9875\u6570\u91cf
 user.maybeFriends.limitSize=6
-#优选人才 每页数量
+#\u4f18\u9009\u4eba\u624d \u6bcf\u9875\u6570\u91cf
 user.superiorTalenRetrieval.limitSize=5
-#推荐人才 每页数量
+#\u63a8\u8350\u4eba\u624d \u6bcf\u9875\u6570\u91cf
 user.recommentTalenRetrieval.limitSize=5
-#用户详细信息  我的动态显示数量
+#\u7528\u6237\u8be6\u7ec6\u4fe1\u606f  \u6211\u7684\u52a8\u6001\u663e\u793a\u6570\u91cf
 user.detail.myTrends.limitSize=3
-#推荐职位每页数量
+#\u63a8\u8350\u804c\u4f4d\u6bcf\u9875\u6570\u91cf
 job.recommendJobs.limitSize=5
-#相似职位每页数量
+#\u76f8\u4f3c\u804c\u4f4d\u6bcf\u9875\u6570\u91cf
 job.similarJobs.limitSize=5
-#酒店其他职位每页数量
+#\u9152\u5e97\u5176\u4ed6\u804c\u4f4d\u6bcf\u9875\u6570\u91cf
 job.hotelOtherPosition.limitSize=5
-#推荐酒店每页数量
+#\u63a8\u8350\u9152\u5e97\u6bcf\u9875\u6570\u91cf
 hotel.recommentHotels.limitSize=5
-#相似酒店每页数量
+#\u76f8\u4f3c\u9152\u5e97\u6bcf\u9875\u6570\u91cf
 hotel.similarHotels.limitSize=5
-#我的好友每页数量
+#\u6211\u7684\u597d\u53cb\u6bcf\u9875\u6570\u91cf
 friends.myFriends.limitSize=6
-# 图片压缩大小控制
+# \u56fe\u7247\u538b\u7f29\u5927\u5c0f\u63a7\u5236
 compress.image.size=500
 
 #sms
 sms.appID=1400097875
 sms.appkey=c434c99479419bd8b3b3c4cb517c6753
-#普通短信模板(中国大陆)
+#\u666e\u901a\u77ed\u4fe1\u6a21\u677f\uff08\u4e2d\u56fd\u5927\u9646\uff09
 sms.templateId=438082
-#普通短信模板(国际)
+#\u666e\u901a\u77ed\u4fe1\u6a21\u677f\uff08\u56fd\u9645\uff09
 sms.templateId_en=179748
-#短信验证码过期时间(秒)
+#\u77ed\u4fe1\u9a8c\u8bc1\u7801\u8fc7\u671f\u65f6\u95f4\uff08\u79d2\uff09
 sms.phoneCode.expirationTime=600
-sms.sign=门墩儿
+sms.sign=\u95e8\u58a9\u513f
 sms.sign.en=Menduner
-#企业汇款短信模板Id
+#\u4f01\u4e1a\u6c47\u6b3e\u77ed\u4fe1\u6a21\u677fId
 sms.sendRemit.templateId=165764
-#企业邀请短信模板Id (中国大陆)
+#\u4f01\u4e1a\u9080\u8bf7\u77ed\u4fe1\u6a21\u677fId \uff08\u4e2d\u56fd\u5927\u9646\uff09
 sms.invitation.templateId=179431
-#企业邀请短信模板Id (国际)
+#\u4f01\u4e1a\u9080\u8bf7\u77ed\u4fe1\u6a21\u677fId \uff08\u56fd\u9645\uff09
 sms.international.invitation.templateId=179744
-#企业邀请面试短信Id
+#\u4f01\u4e1a\u9080\u8bf7\u9762\u8bd5\u77ed\u4fe1Id
 sms.interview.cn=727003
 sms.interview.en=727003
-#预约时间修改通知
+#\u9884\u7ea6\u65f6\u95f4\u4fee\u6539\u901a\u77e5
 sms.intv.time.upd=730206
-#预约时间确认通知
+#\u9884\u7ea6\u65f6\u95f4\u786e\u8ba4\u901a\u77e5
 sms.intv.time.ok=730218
-#拒绝面试
+#\u62d2\u7edd\u9762\u8bd5
 sms.intv.refuse=743398
 
 #order
-default.invoiceContent=咨询费
-default.accountName=苏州识喜识谊信息科技有限公司
-default.openingBank=招商银行股份有限公司苏州独墅湖支行
+default.invoiceContent=\u54a8\u8be2\u8d39
+default.accountName=\u82cf\u5dde\u8bc6\u559c\u8bc6\u8c0a\u4fe1\u606f\u79d1\u6280\u6709\u9650\u516c\u53f8
+default.openingBank=\u62db\u5546\u94f6\u884c\u80a1\u4efd\u6709\u9650\u516c\u53f8\u82cf\u5dde\u72ec\u5885\u6e56\u652f\u884c
 default.account=512908229410902
 
 default.invoiceContent_en=Consulting fee
 default.accountName_en=Suzhou Shixi Shiyi Hotel Management Co., Ltd.
 default.openingBank_en=China Merchants Bank Suzhou Dushu Lake Branch
-#默认运费
+#\u9ed8\u8ba4\u8fd0\u8d39
 default.freight=0
 
 #AliPay
@@ -215,54 +215,54 @@ AliPay.gatewayUrl=https://openapi.alipay.com/gateway.do
 #WXpay.appId=wx848cc247559f92f3
 WXpay.appKey=b1HxwCuWLfQIzuilI1ayBTTiXOBfEeMg
 #WXpay.appSecret=220609861baa9d70bc0576f382eb02aa
-#商户号
+#\u5546\u6237\u53f7
 WXpay.mchId=1505499481
-#回调地址
+#\u56de\u8c03\u5730\u5740
 WXpay.notifyUrl={0}RecruitmentApi/order/weChat_notify_url
-#code回调地址
+#code\u56de\u8c03\u5730\u5740
 WXpay.codeUrl={0}RecruitmentApi/order/weChat_code_url
 
 
-#企业注册激活连接
+#\u4f01\u4e1a\u6ce8\u518c\u6fc0\u6d3b\u8fde\u63a5
 enterprise.register.activeUrl={0}RecruitmentApi/login/activation
-#邮件激活跳转静态页面url
+#\u90ae\u4ef6\u6fc0\u6d3b\u8df3\u8f6c\u9759\u6001\u9875\u9762url
 enterprise.mail.activation.redirectUrl=https://www.menduner.com/#/emailTip
 
-#企业注册发送激活连接, 内容配置 (废弃)
-#enterprise.mail.companyName=苏州识喜识谊酒店管理有限公司
-#enterprise.mail.checkStatusName=审核待通过
+#\u4f01\u4e1a\u6ce8\u518c\u53d1\u9001\u6fc0\u6d3b\u8fde\u63a5, \u5185\u5bb9\u914d\u7f6e (\u5e9f\u5f03)
+#enterprise.mail.companyName=\u82cf\u5dde\u8bc6\u559c\u8bc6\u8c0a\u9152\u5e97\u7ba1\u7406\u6709\u9650\u516c\u53f8
+#enterprise.mail.checkStatusName=\u5ba1\u6838\u5f85\u901a\u8fc7
 #enterprise.mail.addMessage=xxx
 
-#企业线下支付 最终付款期限
+#\u4f01\u4e1a\u7ebf\u4e0b\u652f\u4ed8 \u6700\u7ec8\u4ed8\u6b3e\u671f\u9650
 deadline_payment=10
-#审核人邮箱地址
+#\u5ba1\u6838\u4eba\u90ae\u7bb1\u5730\u5740
 auditor_email_address=peter.pan@menduner.com
 
-#注册发送邮件
+#\u6ce8\u518c\u53d1\u9001\u90ae\u4ef6
 send_email_address=services@menduner.com
 send_email_password=I2x6hZzeWHOXptpR
-#图形验证码5分钟
+#\u56fe\u5f62\u9a8c\u8bc1\u78015\u5206\u949f
 captcha.expirationTime=300
 
-#五天之内不可投递同一职位
+#\u4e94\u5929\u4e4b\u5185\u4e0d\u53ef\u6295\u9012\u540c\u4e00\u804c\u4f4d
 position_five_day_whin=5
 
-#基础数据失效时间(一周 604800 )
+#\u57fa\u7840\u6570\u636e\u5931\u6548\u65f6\u95f4(\u4e00\u5468 604800 )
 base_data_expired_second=60
 
-#非付费企业月可发职位次数
+#\u975e\u4ed8\u8d39\u4f01\u4e1a\u6708\u53ef\u53d1\u804c\u4f4d\u6b21\u6570
 unvip_release_no=2
 
-#限制非VIP企业启动时间
+#\u9650\u5236\u975eVIP\u4f01\u4e1a\u542f\u52a8\u65f6\u95f4
 unvip_discount_date=2020-01-01
 
-#PV/UV记录失效时间(一周 7天 )
+#PV/UV\u8bb0\u5f55\u5931\u6548\u65f6\u95f4(\u4e00\u5468 7\u5929 )
 pvuv.expired.days=7
 
 #thymeleaf
 spring.thymeleaf.encoding=UTF-8  
 spring.thymeleaf.suffix=.html  
-#默认严格检查
+#\u9ed8\u8ba4\u4e25\u683c\u68c0\u67e5
 #spring.thymeleaf.mode=HTML5
-#非严格检查
+#\u975e\u4e25\u683c\u68c0\u67e5
 docx4j-ImportXHTML.Element.Heading.MapToStyle=true

+ 82 - 82
src/main/resources/conf.prod.properties

@@ -1,4 +1,4 @@
-#weixin 公众号
+#weixin \u516c\u4f17\u53f7
 token=
 weixin.appid=wx848cc247559f92f3
 weixin.secret=220609861baa9d70bc0576f382eb02aa
@@ -13,78 +13,78 @@ weixin.userinfo=https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&ope
 weixin.userinfo.list=https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token={0}
 weixin.menu=https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}
 weixin.shorturl=https://api.weixin.qq.com/cgi-bin/shorturl?access_token={0}
-#静默登陆
+#\u9759\u9ed8\u767b\u9646
 weixin.authorization.code=https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
 
-#weixin 小程序
-#视频面试
+#weixin \u5c0f\u7a0b\u5e8f
+#\u89c6\u9891\u9762\u8bd5
 wx.miniprog.video.token=Mde1ht7eD@tIof8b.b86ugsQddt
 wx.miniprog.video.appid=wx2258c25589859d8c
 wx.miniprog.video.secret=a44c4fd22083ff735cd551415cb590c8
 wx.miniprog.video.tmsg.invite.url=pages/index/index
-#跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
+#\u8df3\u8f6c\u5c0f\u7a0b\u5e8f\u7c7b\u578b\uff1adeveloper\u4e3a\u5f00\u53d1\u7248\uff1btrial\u4e3a\u4f53\u9a8c\u7248\uff1bformal\u4e3a\u6b63\u5f0f\u7248\uff1b\u9ed8\u8ba4\u4e3a\u6b63\u5f0f\u7248
 wx.miniprog.video.state=formal
 
-#小程序 登录
+#\u5c0f\u7a0b\u5e8f \u767b\u5f55
 wx.miniprog.login.url=https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code
-#小程序 下发小程序和公众号统一的服务消息
+#\u5c0f\u7a0b\u5e8f \u4e0b\u53d1\u5c0f\u7a0b\u5e8f\u548c\u516c\u4f17\u53f7\u7edf\u4e00\u7684\u670d\u52a1\u6d88\u606f
 wx.miniprog.tplmsg.url=https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token={0}
 
-#腾讯即时视频
+#\u817e\u8baf\u5373\u65f6\u89c6\u9891
 wx.video.appid=1400384566
 wx.video.secret=656440f384e8de3272ff0d6f293d72e3bff67d9b3386d717abea8b2f1279774a
 
 
-#领英第三方登录
+#\u9886\u82f1\u7b2c\u4e09\u65b9\u767b\u5f55
 linkedIn.clientId=81fdbcw6p7kx2c
 linkedIn.clientSecret=4HJvFKhEuC4AUT9q
 linkedIn.grantType=authorization_code
 linkedIn.redirect_url=https://www.menduner.com/user/login
 linkedIn.UserURl=https://api.linkedin.com/v2/me?projection=(id)
-#获取领英用户信息
+#\u83b7\u53d6\u9886\u82f1\u7528\u6237\u4fe1\u606f
 linkedIn.TokenUrl=https://www.linkedin.com/oauth/v2/accessToken
-#分享动态到领英
+#\u5206\u4eab\u52a8\u6001\u5230\u9886\u82f1
 linkedIn.shareTrendToLinkedIn=https://api.linkedin.com/v1/people/~/shares?format=json
 
-#微信第三方登录
+#\u5fae\u4fe1\u7b2c\u4e09\u65b9\u767b\u5f55
 weixin.authorization.tokenUrl=https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code
-#微信开放平台
+#\u5fae\u4fe1\u5f00\u653e\u5e73\u53f0
 weixin.open.appid=wxae181c656f9443fc
 weixin.open.secret=c3d39dea54f749c94a8b27a27b39e9ab
-#获取微信用户信息
+#\u83b7\u53d6\u5fae\u4fe1\u7528\u6237\u4fe1\u606f
 weixin.authorization.userinfo=https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN
 
-#微信推送 (接口地址)
+#\u5fae\u4fe1\u63a8\u9001 (\u63a5\u53e3\u5730\u5740)
 weixin.tmsg.send=https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}
 
-##模板消息
-#职位邀请通知 推送
+##\u6a21\u677f\u6d88\u606f
+#\u804c\u4f4d\u9080\u8bf7\u901a\u77e5 \u63a8\u9001
 position_template_id=NAXbtCr8VR71M78NWyPBpK_xASTMKDktb6H8zIgbOws
 position_url=https://www.menduner.com/#/mine/invitations/company
 
-#面试邀请通知  推送 <面试安排提醒>
+#\u9762\u8bd5\u9080\u8bf7\u901a\u77e5  \u63a8\u9001 <\u9762\u8bd5\u5b89\u6392\u63d0\u9192>
 interview_invitation_template_id=SVffJu9YWkXHd1_2hIS4tJU02msuVS4r0X3cCQr24zo
-#公众号链接
+#\u516c\u4f17\u53f7\u94fe\u63a5
 interview_invitation_url=https://www.menduner.com/#/mine/resume/delivery
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.invitation.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=1
 
-#面试时间变更通知  推送 <预约更改提醒>
+#\u9762\u8bd5\u65f6\u95f4\u53d8\u66f4\u901a\u77e5  \u63a8\u9001 <\u9884\u7ea6\u66f4\u6539\u63d0\u9192>
 interview.change.time.template.id=ioqHaLu4hJggfs09XCQWKYPh_eOKZbLcXBpQMo-38KI
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.change.time.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=1
 
-#面试时间确认通知  推送 <面试时间确认通知>
+#\u9762\u8bd5\u65f6\u95f4\u786e\u8ba4\u901a\u77e5  \u63a8\u9001 <\u9762\u8bd5\u65f6\u95f4\u786e\u8ba4\u901a\u77e5>
 interview.confirm.time.template.id=vM2Oqqmxqnenrd6VyLMvwN-DziM17wTMPvYpV5xKZHw
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.confirm.time.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=0
 
-#拒绝面试通知  推送 <面试拒绝提醒>
+#\u62d2\u7edd\u9762\u8bd5\u901a\u77e5  \u63a8\u9001 <\u9762\u8bd5\u62d2\u7edd\u63d0\u9192>
 interview.refuse.time.template.id=MoDQgpOLzEaaPGLdBs6ZkbV3wn1RTupYPzAZ3CVjGVg
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.refuse.time.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=0
 
-#百度API
+#\u767e\u5ea6API
 baidu.grant.type=client_credentials
 baidu.client.id=C5L7K5jHUYBxgj9ZKGb5A33G
 baidu.client.secret=Vt23lBP1zFZN5URRtQ4fhpLsSGa6TNdj
@@ -96,102 +96,102 @@ weixin.jsapi.reTime=6800
 weixin.jsapi.ticket=https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=jsapi
 weixin.jsapi.signature=jsapi_ticket={0}&noncestr={1}&timestamp={2}&url={3}
 
-#token 过期时间(分钟)
+#token \u8fc7\u671f\u65f6\u95f4\uff08\u5206\u949f\uff09
 token.expire.minute=180
 
 #reGet accessToke time
 weixin.reTime=4800
 
-#主域名
+#\u4e3b\u57df\u540d
 url.base=https://www.menduner.com/
 
-#上传文件绝对路径, 路径中不允许包含“userfiles”
-#和后台userfiles.basedir配置一致
+#\u4e0a\u4f20\u6587\u4ef6\u7edd\u5bf9\u8def\u5f84, \u8def\u5f84\u4e2d\u4e0d\u5141\u8bb8\u5305\u542b\u201cuserfiles\u201d
+#\u548c\u540e\u53f0userfiles.basedir\u914d\u7f6e\u4e00\u81f4
 upload.base.path=/data/uploadfiles/
 upload.path.image=images/
 upload.path.html=htmls/
 upload.path.file=files/
 upload.path.card=card/
 upload.path.template=template/
-#企业相册
+#\u4f01\u4e1a\u76f8\u518c
 upload.path.image.album=album/
-#企业主页背景图
+#\u4f01\u4e1a\u4e3b\u9875\u80cc\u666f\u56fe
 upload.path.image.centerBg=centerBg/
-#临时文件
+#\u4e34\u65f6\u6587\u4ef6
 upload.path.image.temporary=temporary/
-#在职证明
+#\u5728\u804c\u8bc1\u660e
 upload.path.image.onjob=onjob/
 
 upload.refund.path=refund/
 upload.qrcode.path=qrcode/
 
 
-#默认请求每页数量
+#\u9ed8\u8ba4\u8bf7\u6c42\u6bcf\u9875\u6570\u91cf
 default.request.page.size=10
-#好友动态每页数量
+#\u597d\u53cb\u52a8\u6001\u6bcf\u9875\u6570\u91cf
 trends.friendTrends.limitSize=5
-#好友动态 发布动态,修改资料 距离今天的天数
+#\u597d\u53cb\u52a8\u6001 \u53d1\u5e03\u52a8\u6001,\u4fee\u6539\u8d44\u6599 \u8ddd\u79bb\u4eca\u5929\u7684\u5929\u6570
 trends.friendTrendsWithLimit.limitDay=7
-#可能认识的人每页数量
+#\u53ef\u80fd\u8ba4\u8bc6\u7684\u4eba\u6bcf\u9875\u6570\u91cf
 user.maybeFriends.limitSize=6
-#优选人才 每页数量
+#\u4f18\u9009\u4eba\u624d \u6bcf\u9875\u6570\u91cf
 user.superiorTalenRetrieval.limitSize=5
-#推荐人才 每页数量
+#\u63a8\u8350\u4eba\u624d \u6bcf\u9875\u6570\u91cf
 user.recommentTalenRetrieval.limitSize=5
-#用户详细信息  我的动态显示数量
+#\u7528\u6237\u8be6\u7ec6\u4fe1\u606f  \u6211\u7684\u52a8\u6001\u663e\u793a\u6570\u91cf
 user.detail.myTrends.limitSize=3
-#推荐职位每页数量
+#\u63a8\u8350\u804c\u4f4d\u6bcf\u9875\u6570\u91cf
 job.recommendJobs.limitSize=5
-#相似职位每页数量
+#\u76f8\u4f3c\u804c\u4f4d\u6bcf\u9875\u6570\u91cf
 job.similarJobs.limitSize=5
-#酒店其他职位每页数量
+#\u9152\u5e97\u5176\u4ed6\u804c\u4f4d\u6bcf\u9875\u6570\u91cf
 job.hotelOtherPosition.limitSize=5
-#推荐酒店每页数量
+#\u63a8\u8350\u9152\u5e97\u6bcf\u9875\u6570\u91cf
 hotel.recommentHotels.limitSize=5
-#相似酒店每页数量
+#\u76f8\u4f3c\u9152\u5e97\u6bcf\u9875\u6570\u91cf
 hotel.similarHotels.limitSize=5
-#我的好友每页数量
+#\u6211\u7684\u597d\u53cb\u6bcf\u9875\u6570\u91cf
 friends.myFriends.limitSize=6
-# 图片压缩大小控制
+# \u56fe\u7247\u538b\u7f29\u5927\u5c0f\u63a7\u5236
 compress.image.size=600
 
 #sms
 sms.appID=1400097875
 sms.appkey=c434c99479419bd8b3b3c4cb517c6753
-#普通短信模板(中国大陆)
+#\u666e\u901a\u77ed\u4fe1\u6a21\u677f\uff08\u4e2d\u56fd\u5927\u9646\uff09
 sms.templateId=438082
-#普通短信模板(国际)
+#\u666e\u901a\u77ed\u4fe1\u6a21\u677f\uff08\u56fd\u9645\uff09
 sms.templateId_en=179748
-#短信验证码过期时间(秒)
+#\u77ed\u4fe1\u9a8c\u8bc1\u7801\u8fc7\u671f\u65f6\u95f4\uff08\u79d2\uff09
 sms.phoneCode.expirationTime=600
-sms.sign=门墩儿
+sms.sign=\u95e8\u58a9\u513f
 sms.sign.en=Menduner
-#企业汇款短信模板Id
+#\u4f01\u4e1a\u6c47\u6b3e\u77ed\u4fe1\u6a21\u677fId
 sms.sendRemit.templateId=165764
-#企业邀请短信模板Id (中国大陆)
+#\u4f01\u4e1a\u9080\u8bf7\u77ed\u4fe1\u6a21\u677fId \uff08\u4e2d\u56fd\u5927\u9646\uff09
 sms.invitation.templateId=179431
-#企业邀请短信模板Id (国际)
+#\u4f01\u4e1a\u9080\u8bf7\u77ed\u4fe1\u6a21\u677fId \uff08\u56fd\u9645\uff09
 sms.international.invitation.templateId=179744
-#企业邀请面试短信Id
+#\u4f01\u4e1a\u9080\u8bf7\u9762\u8bd5\u77ed\u4fe1Id
 sms.interview.cn=727003
 sms.interview.en=727003
-#预约时间修改通知
+#\u9884\u7ea6\u65f6\u95f4\u4fee\u6539\u901a\u77e5
 sms.intv.time.upd=730206
-#预约时间确认通知
+#\u9884\u7ea6\u65f6\u95f4\u786e\u8ba4\u901a\u77e5
 sms.intv.time.ok=730218
-#拒绝面试
+#\u62d2\u7edd\u9762\u8bd5
 sms.intv.refuse=743398
 
 #order
-default.invoiceContent=咨询费
-default.accountName=苏州识喜识谊信息科技有限公司
-default.openingBank=招商银行股份有限公司苏州独墅湖支行
+default.invoiceContent=\u54a8\u8be2\u8d39
+default.accountName=\u82cf\u5dde\u8bc6\u559c\u8bc6\u8c0a\u4fe1\u606f\u79d1\u6280\u6709\u9650\u516c\u53f8
+default.openingBank=\u62db\u5546\u94f6\u884c\u80a1\u4efd\u6709\u9650\u516c\u53f8\u82cf\u5dde\u72ec\u5885\u6e56\u652f\u884c
 default.account=512908229410902
 
 default.invoiceContent_en=Consulting fee
 default.accountName_en=Suzhou Shixi Shiyi Information Technology Co., Ltd.
 default.openingBank_en=China Merchants Bank Suzhou Dushu Lake Branch
-#默认运费
+#\u9ed8\u8ba4\u8fd0\u8d39
 default.freight=0
 
 #AliPay
@@ -206,49 +206,49 @@ AliPay.gatewayUrl=https://openapi.alipay.com/gateway.do
 
 #WeChatPay
 WXpay.appKey=b1HxwCuWLfQIzuilI1ayBTTiXOBfEeMg
-#公众号id
+#\u516c\u4f17\u53f7id
 WXpay.appid=wx848cc247559f92f3
 WXpay.appSecret=220609861baa9d70bc0576f382eb02aa
-#商户号
+#\u5546\u6237\u53f7
 WXpay.mchId=1505499481
-#回调地址
+#\u56de\u8c03\u5730\u5740
 WXpay.notifyUrl={0}RecruitmentApi/order/weChat_notify_url
-#code回调地址
+#code\u56de\u8c03\u5730\u5740
 WXpay.codeUrl={0}RecruitmentApi/order/weChat_code_url
 
-#企业注册激活连接
+#\u4f01\u4e1a\u6ce8\u518c\u6fc0\u6d3b\u8fde\u63a5
 enterprise.register.activeUrl={0}RecruitmentApi/login/activation
-#邮件激活跳转静态页面url
+#\u90ae\u4ef6\u6fc0\u6d3b\u8df3\u8f6c\u9759\u6001\u9875\u9762url
 enterprise.mail.activation.redirectUrl=https://www.menduner.com/#/emailTip
-#企业注册发送激活连接, 内容配置
-#enterprise.mail.companyName=苏州识喜识谊酒店管理有限公司
-#enterprise.mail.checkStatusName=审核待通过
+#\u4f01\u4e1a\u6ce8\u518c\u53d1\u9001\u6fc0\u6d3b\u8fde\u63a5, \u5185\u5bb9\u914d\u7f6e
+#enterprise.mail.companyName=\u82cf\u5dde\u8bc6\u559c\u8bc6\u8c0a\u9152\u5e97\u7ba1\u7406\u6709\u9650\u516c\u53f8
+#enterprise.mail.checkStatusName=\u5ba1\u6838\u5f85\u901a\u8fc7
 #enterprise.mail.addMessage=xxx
 
-#企业线下支付 最终付款期限
+#\u4f01\u4e1a\u7ebf\u4e0b\u652f\u4ed8 \u6700\u7ec8\u4ed8\u6b3e\u671f\u9650
 deadline_payment=10
 
-#审核人邮箱地址
+#\u5ba1\u6838\u4eba\u90ae\u7bb1\u5730\u5740
 auditor_email_address=peter.pan@menduner.com
 
-#注册发送邮件
+#\u6ce8\u518c\u53d1\u9001\u90ae\u4ef6
 send_email_address=services@menduner.com
 send_email_password=I2x6hZzeWHOXptpR
 
-#图形验证码5分钟
+#\u56fe\u5f62\u9a8c\u8bc1\u78015\u5206\u949f
 captcha.expirationTime=300
 
-#五天之内不可投递同一职位
+#\u4e94\u5929\u4e4b\u5185\u4e0d\u53ef\u6295\u9012\u540c\u4e00\u804c\u4f4d
 position_five_day_whin=30
 
-#基础数据失效时间(一周)
+#\u57fa\u7840\u6570\u636e\u5931\u6548\u65f6\u95f4(\u4e00\u5468)
 base_data_expired_second=604800
 
-#非付费企业可发职位次数
+#\u975e\u4ed8\u8d39\u4f01\u4e1a\u53ef\u53d1\u804c\u4f4d\u6b21\u6570
 unvip_release_no=3
 
-#限制非VIP企业启动时间 now>
+#\u9650\u5236\u975eVIP\u4f01\u4e1a\u542f\u52a8\u65f6\u95f4 now>
 unvip_discount_date=2020-04-30
 
-#PV/UV记录失效时间(一周 7天 )
+#PV/UV\u8bb0\u5f55\u5931\u6548\u65f6\u95f4(\u4e00\u5468 7\u5929 )
 pvuv.expired.days=7

+ 82 - 82
src/main/resources/conf.test.properties

@@ -1,4 +1,4 @@
-#weixin 公众号
+#weixin \u516c\u4f17\u53f7
 token=
 weixin.appid=wx700ad9bf40b511db
 weixin.secret=2a8ac1cb6266187fdb9527d40e73c4b9
@@ -15,78 +15,78 @@ weixin.userinfo=https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&ope
 weixin.userinfo.list=https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token={0}
 weixin.menu=https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}
 weixin.shorturl=https://api.weixin.qq.com/cgi-bin/shorturl?access_token={0}
-#静默登陆
+#\u9759\u9ed8\u767b\u9646
 weixin.authorization.code=https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
 
 
-#weixin 小程序
-#视频面试
+#weixin \u5c0f\u7a0b\u5e8f
+#\u89c6\u9891\u9762\u8bd5
 wx.miniprog.video.token=Mde1ht7eD@tIof8b.b86ugsQddt
 wx.miniprog.video.appid=wx2258c25589859d8c
 wx.miniprog.video.secret=a44c4fd22083ff735cd551415cb590c8
 wx.miniprog.video.tmsg.invite.url=pages/index/index
-#跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
+#\u8df3\u8f6c\u5c0f\u7a0b\u5e8f\u7c7b\u578b\uff1adeveloper\u4e3a\u5f00\u53d1\u7248\uff1btrial\u4e3a\u4f53\u9a8c\u7248\uff1bformal\u4e3a\u6b63\u5f0f\u7248\uff1b\u9ed8\u8ba4\u4e3a\u6b63\u5f0f\u7248
 wx.miniprog.video.state=trial
 
-#小程序 登录
+#\u5c0f\u7a0b\u5e8f \u767b\u5f55
 wx.miniprog.login.url=https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code
-#小程序 下发小程序和公众号统一的服务消息
+#\u5c0f\u7a0b\u5e8f \u4e0b\u53d1\u5c0f\u7a0b\u5e8f\u548c\u516c\u4f17\u53f7\u7edf\u4e00\u7684\u670d\u52a1\u6d88\u606f
 wx.miniprog.tplmsg.url=https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token={0}
 
-#腾讯即时视频
+#\u817e\u8baf\u5373\u65f6\u89c6\u9891
 wx.video.appid=1400384566
 wx.video.secret=656440f384e8de3272ff0d6f293d72e3bff67d9b3386d717abea8b2f1279774a
 
-#领英第三方登录
+#\u9886\u82f1\u7b2c\u4e09\u65b9\u767b\u5f55
 linkedIn.clientId=81fdbcw6p7kx2c
 linkedIn.clientSecret=4HJvFKhEuC4AUT9q
 linkedIn.grantType=authorization_code
 linkedIn.redirect_url=https://test.menduner.com/user/login
 linkedIn.UserURl=https://api.linkedin.com/v2/me?projection=(id)
-#获取领英用户信息
+#\u83b7\u53d6\u9886\u82f1\u7528\u6237\u4fe1\u606f
 linkedIn.TokenUrl=https://www.linkedin.com/oauth/v2/accessToken
-#分享动态到领英
+#\u5206\u4eab\u52a8\u6001\u5230\u9886\u82f1
 linkedIn.shareTrendToLinkedIn=https://api.linkedin.com/v1/people/~/shares?format=json
 
-#微信第三方登录
+#\u5fae\u4fe1\u7b2c\u4e09\u65b9\u767b\u5f55
 weixin.authorization.tokenUrl=https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code
-#微信开放平台
+#\u5fae\u4fe1\u5f00\u653e\u5e73\u53f0
 weixin.open.appid=wxae181c656f9443fc
 weixin.open.secret=c3d39dea54f749c94a8b27a27b39e9ab
-#获取微信用户信息
+#\u83b7\u53d6\u5fae\u4fe1\u7528\u6237\u4fe1\u606f
 weixin.authorization.userinfo=https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN
 
-#微信推送 (接口地址)
+#\u5fae\u4fe1\u63a8\u9001 (\u63a5\u53e3\u5730\u5740)
 weixin.tmsg.send=https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}
 
-##模板消息
-#职位邀请通知 推送
+##\u6a21\u677f\u6d88\u606f
+#\u804c\u4f4d\u9080\u8bf7\u901a\u77e5 \u63a8\u9001
 position_template_id=NAXbtCr8VR71M78NWyPBpK_xASTMKDktb6H8zIgbOws
 position_url=https://test.menduner.com/#/mine/invitations/company
 
-#面试邀请通知  推送 <面试安排提醒>
+#\u9762\u8bd5\u9080\u8bf7\u901a\u77e5  \u63a8\u9001 <\u9762\u8bd5\u5b89\u6392\u63d0\u9192>
 interview_invitation_template_id=SVffJu9YWkXHd1_2hIS4tJU02msuVS4r0X3cCQr24zo
-#公众号链接
+#\u516c\u4f17\u53f7\u94fe\u63a5
 interview_invitation_url=https://www.menduner.com/#/mine/resume/delivery
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.invitation.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=1
 
-#面试时间变更通知  推送 <预约更改提醒>
+#\u9762\u8bd5\u65f6\u95f4\u53d8\u66f4\u901a\u77e5  \u63a8\u9001 <\u9884\u7ea6\u66f4\u6539\u63d0\u9192>
 interview.change.time.template.id=ioqHaLu4hJggfs09XCQWKYPh_eOKZbLcXBpQMo-38KI
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.change.time.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=1
 
-#面试时间确认通知  推送 <面试时间确认通知>
+#\u9762\u8bd5\u65f6\u95f4\u786e\u8ba4\u901a\u77e5  \u63a8\u9001 <\u9762\u8bd5\u65f6\u95f4\u786e\u8ba4\u901a\u77e5>
 interview.confirm.time.template.id=vM2Oqqmxqnenrd6VyLMvwN-DziM17wTMPvYpV5xKZHw
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.confirm.time.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=0
 
-#拒绝面试通知  推送 <面试拒绝提醒>
+#\u62d2\u7edd\u9762\u8bd5\u901a\u77e5  \u63a8\u9001 <\u9762\u8bd5\u62d2\u7edd\u63d0\u9192>
 interview.refuse.time.template.id=MoDQgpOLzEaaPGLdBs6ZkbV3wn1RTupYPzAZ3CVjGVg
-#小程序链接
+#\u5c0f\u7a0b\u5e8f\u94fe\u63a5
 interview.refuse.time.minp.url=pages/interDetail/interDetail?id={0}&jobName={1}&isCheck=0
 
-#百度API
+#\u767e\u5ea6API
 baidu.grant.type=client_credentials
 baidu.client.id=C5L7K5jHUYBxgj9ZKGb5A33G
 baidu.client.secret=Vt23lBP1zFZN5URRtQ4fhpLsSGa6TNdj
@@ -98,102 +98,102 @@ weixin.jsapi.reTime=6800
 weixin.jsapi.ticket=https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=jsapi
 weixin.jsapi.signature=jsapi_ticket={0}&noncestr={1}&timestamp={2}&url={3}
 
-#token 过期时间(分钟)
+#token \u8fc7\u671f\u65f6\u95f4\uff08\u5206\u949f\uff09
 token.expire.minute=180
 
 #reGet accessToke time
 weixin.reTime=4800
 
-#主域名
+#\u4e3b\u57df\u540d
 url.base=https://test.menduner.com/
 
-#上传文件绝对路径, 路径中不允许包含“userfiles”
-#和后台userfiles.basedir配置一致
+#\u4e0a\u4f20\u6587\u4ef6\u7edd\u5bf9\u8def\u5f84, \u8def\u5f84\u4e2d\u4e0d\u5141\u8bb8\u5305\u542b\u201cuserfiles\u201d
+#\u548c\u540e\u53f0userfiles.basedir\u914d\u7f6e\u4e00\u81f4
 upload.base.path=/data/uploadfiles/test/
 upload.path.image=images/
 upload.path.html=htmls/
 upload.path.file=files/
 upload.path.card=card/
 upload.path.template=template/
-#企业相册
+#\u4f01\u4e1a\u76f8\u518c
 upload.path.image.album=album/
-#企业主页背景图
+#\u4f01\u4e1a\u4e3b\u9875\u80cc\u666f\u56fe
 upload.path.image.centerBg=centerBg/
-#临时文件
+#\u4e34\u65f6\u6587\u4ef6
 upload.path.image.temporary=temporary/
-#在职证明
+#\u5728\u804c\u8bc1\u660e
 upload.path.image.onjob=onjob/
 
 upload.refund.path=refund/
 upload.qrcode.path=qrcode/
 
 
-#默认请求每页数量
+#\u9ed8\u8ba4\u8bf7\u6c42\u6bcf\u9875\u6570\u91cf
 default.request.page.size=10
-#好友动态每页数量
+#\u597d\u53cb\u52a8\u6001\u6bcf\u9875\u6570\u91cf
 trends.friendTrends.limitSize=5
-#好友动态 发布动态,修改资料 距离今天的天数
+#\u597d\u53cb\u52a8\u6001 \u53d1\u5e03\u52a8\u6001,\u4fee\u6539\u8d44\u6599 \u8ddd\u79bb\u4eca\u5929\u7684\u5929\u6570
 trends.friendTrendsWithLimit.limitDay=7
-#可能认识的人每页数量
+#\u53ef\u80fd\u8ba4\u8bc6\u7684\u4eba\u6bcf\u9875\u6570\u91cf
 user.maybeFriends.limitSize=6
-#优选人才 每页数量
+#\u4f18\u9009\u4eba\u624d \u6bcf\u9875\u6570\u91cf
 user.superiorTalenRetrieval.limitSize=5
-#推荐人才 每页数量
+#\u63a8\u8350\u4eba\u624d \u6bcf\u9875\u6570\u91cf
 user.recommentTalenRetrieval.limitSize=5
-#用户详细信息  我的动态显示数量
+#\u7528\u6237\u8be6\u7ec6\u4fe1\u606f  \u6211\u7684\u52a8\u6001\u663e\u793a\u6570\u91cf
 user.detail.myTrends.limitSize=3
-#推荐职位每页数量
+#\u63a8\u8350\u804c\u4f4d\u6bcf\u9875\u6570\u91cf
 job.recommendJobs.limitSize=5
-#相似职位每页数量
+#\u76f8\u4f3c\u804c\u4f4d\u6bcf\u9875\u6570\u91cf
 job.similarJobs.limitSize=5
-#酒店其他职位每页数量
+#\u9152\u5e97\u5176\u4ed6\u804c\u4f4d\u6bcf\u9875\u6570\u91cf
 job.hotelOtherPosition.limitSize=5
-#推荐酒店每页数量
+#\u63a8\u8350\u9152\u5e97\u6bcf\u9875\u6570\u91cf
 hotel.recommentHotels.limitSize=5
-#相似酒店每页数量
+#\u76f8\u4f3c\u9152\u5e97\u6bcf\u9875\u6570\u91cf
 hotel.similarHotels.limitSize=5
-#我的好友每页数量
+#\u6211\u7684\u597d\u53cb\u6bcf\u9875\u6570\u91cf
 friends.myFriends.limitSize=6
-# 图片压缩大小控制
+# \u56fe\u7247\u538b\u7f29\u5927\u5c0f\u63a7\u5236
 compress.image.size=600
 
 #sms
 sms.appID=1400097875
 sms.appkey=c434c99479419bd8b3b3c4cb517c6753
-#普通短信模板(中国大陆)
+#\u666e\u901a\u77ed\u4fe1\u6a21\u677f\uff08\u4e2d\u56fd\u5927\u9646\uff09
 sms.templateId=438082
-#普通短信模板(国际)
+#\u666e\u901a\u77ed\u4fe1\u6a21\u677f\uff08\u56fd\u9645\uff09
 sms.templateId_en=179748
-#短信验证码过期时间(秒)
+#\u77ed\u4fe1\u9a8c\u8bc1\u7801\u8fc7\u671f\u65f6\u95f4\uff08\u79d2\uff09
 sms.phoneCode.expirationTime=600
-sms.sign=门墩儿
+sms.sign=\u95e8\u58a9\u513f
 sms.sign.en=Menduner
-#企业汇款短信模板Id
+#\u4f01\u4e1a\u6c47\u6b3e\u77ed\u4fe1\u6a21\u677fId
 sms.sendRemit.templateId=165764
-#企业邀请短信模板Id (中国大陆)
+#\u4f01\u4e1a\u9080\u8bf7\u77ed\u4fe1\u6a21\u677fId \uff08\u4e2d\u56fd\u5927\u9646\uff09
 sms.invitation.templateId=179431
-#企业邀请短信模板Id (国际)
+#\u4f01\u4e1a\u9080\u8bf7\u77ed\u4fe1\u6a21\u677fId \uff08\u56fd\u9645\uff09
 sms.international.invitation.templateId=179744
-#企业邀请面试短信Id
+#\u4f01\u4e1a\u9080\u8bf7\u9762\u8bd5\u77ed\u4fe1Id
 sms.interview.cn=727003
 sms.interview.en=727003
-#预约时间修改通知
+#\u9884\u7ea6\u65f6\u95f4\u4fee\u6539\u901a\u77e5
 sms.intv.time.upd=730206
-#预约时间确认通知
+#\u9884\u7ea6\u65f6\u95f4\u786e\u8ba4\u901a\u77e5
 sms.intv.time.ok=730218
-#拒绝面试
+#\u62d2\u7edd\u9762\u8bd5
 sms.intv.refuse=743398
 
 #order
-default.invoiceContent=咨询费
-default.accountName=苏州识喜识谊信息科技有限公司
-default.openingBank=招商银行股份有限公司苏州独墅湖支行
+default.invoiceContent=\u54a8\u8be2\u8d39
+default.accountName=\u82cf\u5dde\u8bc6\u559c\u8bc6\u8c0a\u4fe1\u606f\u79d1\u6280\u6709\u9650\u516c\u53f8
+default.openingBank=\u62db\u5546\u94f6\u884c\u80a1\u4efd\u6709\u9650\u516c\u53f8\u82cf\u5dde\u72ec\u5885\u6e56\u652f\u884c
 default.account=512908229410902
 
 default.invoiceContent_en=Consulting fee
 default.accountName_en=Suzhou Shixi Shiyi Information Technology Co., Ltd.
 default.openingBank_en=China Merchants Bank Suzhou Dushu Lake Branch
-#默认运费
+#\u9ed8\u8ba4\u8fd0\u8d39
 default.freight=0
 
 
@@ -209,49 +209,49 @@ AliPay.gatewayUrl=https://openapi.alipay.com/gateway.do
 #WeChatPay
 WXpay.appKey=b1HxwCuWLfQIzuilI1ayBTTiXOBfEeMg
 
-#公众号id
+#\u516c\u4f17\u53f7id
 WXpay.appid=wx848cc247559f92f3
 WXpay.appSecret=220609861baa9d70bc0576f382eb02aa
-#商户号
+#\u5546\u6237\u53f7
 WXpay.mchId=1505499481
-#回调地址
+#\u56de\u8c03\u5730\u5740
 WXpay.notifyUrl=https://www.menduner.com/RecruitmentApi/order/weChat_notify_url
-#code回调地址
+#code\u56de\u8c03\u5730\u5740
 WXpay.codeUrl={0}RecruitmentApi/order/weChat_code_url
 
-#企业注册激活连接
+#\u4f01\u4e1a\u6ce8\u518c\u6fc0\u6d3b\u8fde\u63a5
 enterprise.register.activeUrl={0}RecruitmentApi/login/activation
-#邮件激活跳转静态页面url
+#\u90ae\u4ef6\u6fc0\u6d3b\u8df3\u8f6c\u9759\u6001\u9875\u9762url
 enterprise.mail.activation.redirectUrl=https://test.menduner.com/#/emailTip
-#企业注册发送激活连接, 内容配置
-#enterprise.mail.companyName=苏州识喜识谊酒店管理有限公司
-#enterprise.mail.checkStatusName=审核待通过
+#\u4f01\u4e1a\u6ce8\u518c\u53d1\u9001\u6fc0\u6d3b\u8fde\u63a5, \u5185\u5bb9\u914d\u7f6e
+#enterprise.mail.companyName=\u82cf\u5dde\u8bc6\u559c\u8bc6\u8c0a\u9152\u5e97\u7ba1\u7406\u6709\u9650\u516c\u53f8
+#enterprise.mail.checkStatusName=\u5ba1\u6838\u5f85\u901a\u8fc7
 #enterprise.mail.addMessage=xxx
 
-#企业线下支付 最终付款期限
+#\u4f01\u4e1a\u7ebf\u4e0b\u652f\u4ed8 \u6700\u7ec8\u4ed8\u6b3e\u671f\u9650
 deadline_payment=10
 
-#审核人邮箱地址
+#\u5ba1\u6838\u4eba\u90ae\u7bb1\u5730\u5740
 auditor_email_address=peter.pan@menduner.com
 
-#注册发送邮件
+#\u6ce8\u518c\u53d1\u9001\u90ae\u4ef6
 send_email_address=services@menduner.com
 send_email_password=I2x6hZzeWHOXptpR
 
-#图形验证码5分钟
+#\u56fe\u5f62\u9a8c\u8bc1\u78015\u5206\u949f
 captcha.expirationTime=300
 
-#五天之内不可投递同一职位
+#\u4e94\u5929\u4e4b\u5185\u4e0d\u53ef\u6295\u9012\u540c\u4e00\u804c\u4f4d
 position_five_day_whin=5
 
-#基础数据失效时间(一周)
+#\u57fa\u7840\u6570\u636e\u5931\u6548\u65f6\u95f4(\u4e00\u5468)
 base_data_expired_second=604800
 
-#非付费企业月可发职位次数
+#\u975e\u4ed8\u8d39\u4f01\u4e1a\u6708\u53ef\u53d1\u804c\u4f4d\u6b21\u6570
 unvip_release_no=2
 
-#限制非VIP企业启动时间
+#\u9650\u5236\u975eVIP\u4f01\u4e1a\u542f\u52a8\u65f6\u95f4
 unvip_discount_date=2020-01-14
 
-#PV/UV记录失效时间(一周 7天 )
+#PV/UV\u8bb0\u5f55\u5931\u6548\u65f6\u95f4(\u4e00\u5468 7\u5929 )
 pvuv.expired.days=7

+ 1 - 1
src/main/resources/log4j.properties

@@ -1,4 +1,4 @@
- ### set log levels ###
+### set log levels ###
 #log4j.rootLogger=DEBUG, Error, Stdout
 log4j.rootLogger=INFO,Stdout,Info,Error
 

+ 13 - 13
src/main/resources/message.tmpl.properties

@@ -1,16 +1,16 @@
 #message template
-tmpl.subscribe=????????????
+tmpl.subscribe=\u611F\u8C22\u5173\u6CE8\u6DD8\u8C46\u5546\u57CE\u516C\u4F17\u53F7\uFF01
 
 #tmpl message info
-tmpl.tmsg.deliver.first=???????????????????\n
-tmpl.tmsg.deliver.remark=???????????????????????????????????????9:00-18:00
-tmpl.tmsg.sucess.first=?????????????\n
-tmpl.tmsg.sucess.remark=\n????????????????? >>
-tmpl.tmsg.wait.remark=\n????????????????????? >>
-tmpl.tmsg.prize.first=?????????????\n
-tmpl.tmsg.prize.remark=\n????????????????????????
-tmpl.tmsg.faile.remark=\n??????1-3??????????????????????????20??????????
-tmpl.tmsg.refound.first=?????????????\n
-tmpl.tmsg.refound.remark=\n???????????????????
-tmpl.tmsg.exchange.first=??????????\n
-tmpl.tmsg.exchange.remark=\n???????????????????????051266377777?
+tmpl.tmsg.deliver.first=\u4EB2\uFF0C\u5B9D\u8D1D\u5DF2\u7ECF\u542F\u7A0B\u4E86\uFF0C\u597D\u60F3\u5FEB\u70B9\u6765\u5230\u4F60\u8EAB\u8FB9\n
+tmpl.tmsg.deliver.remark=\u5907\u6CE8\uFF1A\u5982\u679C\u7591\u95EE\uFF0C\u8BF7\u76F4\u63A5\u5728\u5FAE\u4FE1\u670D\u52A1\u53F7\u4E2D\u7559\u8A00\uFF0C\u6211\u4EEC\u5C06\u5728\u7B2C\u4E00\u65F6\u95F4\u4E3A\u60A8\u670D\u52A1\uFF01\u670D\u52A1\u65F6\u95F4\uFF1A9:00-18:00
+tmpl.tmsg.sucess.first=\u606D\u559C\uFF0C\u60A8\u53C2\u4E0E\u7684\u56E2\u8D2D\u5DF2\u7ECF\u6210\u529F\n
+tmpl.tmsg.sucess.remark=\n\u6211\u4EEC\u5373\u5C06\u4E3A\u60A8\u53D1\u8D27\uFF0C\u70B9\u51FB\u67E5\u770B\u66F4\u591A\u62FC\u56E2 >>
+tmpl.tmsg.wait.remark=\n\u8BF7\u8010\u5FC3\u7B49\u5F85\u5F00\u5956\uFF0C\u795D\u60A8\u597D\u8FD0\uFF01\u70B9\u51FB\u67E5\u770B\u66F4\u591A\u62FC\u56E2 >>
+tmpl.tmsg.prize.first=\u4EB2\uFF0C\u60A8\u53C2\u4E0E\u7684\u62BD\u5956\u6D3B\u52A8\u5DF2\u4E2D\u5956\n
+tmpl.tmsg.prize.remark=\n\u8BE6\u60C5\u8BF7\u70B9\u51FB\u201C\u6DD8\u8C46\u62FC\u56E2\u201D\u4E0B\u65B9\u201C\u6211\u7684\u56E2\u201D\u67E5\u770B\u5F00\u5956\u7ED3\u679C
+tmpl.tmsg.faile.remark=\n\u60A8\u7684\u4ED8\u6B3E\u5C06\u57281-3\u4E2A\u5DE5\u4F5C\u65E5\u5185\u9000\u56DE\uFF0C\u4E3A\u4E86\u5F25\u8865\u60A8\u7684\u635F\u5931\uFF0C\u7279\u610F\u7ED9\u60A8\u51C6\u5907\u4E86\u4E00\u5F2020\u5143\u4F18\u60E0\u5238\uFF0C\u70B9\u51FB\u9886\u53D6\uFF01
+tmpl.tmsg.refound.first=\u60A8\u7684\u8BA2\u5355\u5DF2\u9000\u6B3E\uFF0C\u8BF7\u6CE8\u610F\u67E5\u6536\n
+tmpl.tmsg.refound.remark=\n\u5907\u6CE8\uFF1A\u5982\u9700\u66F4\u5FEB\u6377\u9000\u6B3E\uFF0C\u5EFA\u8BAE\u4F7F\u7528\u96F6\u94B1\u652F\u4ED8
+tmpl.tmsg.exchange.first=\u60A8\u7684\u5151\u6362\u7801\u5DF2\u6210\u529F\u5151\u6362\n
+tmpl.tmsg.exchange.remark=\n\u611F\u8C22\u60A8\u7684\u4F7F\u7528\u4E0E\u652F\u6301\uFF01\u5982\u6709\u7591\u95EE\uFF0C\u8BF7\u62E8\u6253\u5BA2\u670D\u70ED\u7EBF\uFF1A051266377777\uFF01

+ 7 - 6
src/main/resources/mybatis/MdeJobAdvertisedMapper.xml

@@ -516,7 +516,7 @@
         order by a.RECOMMEND_FLAG desc,a.update_date desc
         limit #{limitSize}
     </select>
-    <!-- 职位搜索  (未登录) -->
+    <!-- rayson-职位搜索  (未登录) -->
     <select id="searchJobNotLogin" resultMap="MdeJobAdvertised">
         SELECT
         j.JOB_ID,
@@ -564,7 +564,7 @@
         limit 10
     </select>
 
-    <!-- 职位搜索 -->
+    <!-- rayson-职位搜索 -->
     <select id="searchJob" resultType="com.wechat.model.dto.JobAdvertisedListDto">
         SELECT
         <include refid="mdeJobAdvertisedColumns"/>
@@ -701,7 +701,7 @@
     </select>
 
 
-    <!-- 职位关键词搜索(用户版) -->
+    <!-- rayson- 职位关键词搜索(用户版) -->
     <select id="searchPositionByKeyWord" resultType="com.wechat.model.dto.JobAdvertisedListDto">
         SELECT
         <include refid="mdeJobAdvertisedColumns"/>
@@ -749,7 +749,7 @@
         </where>
     </select>
 
-    <!-- 职位关键词搜索(用户版) 统计-->
+    <!-- rayson- 职位关键词搜索(用户版) 统计-->
     <select id="searchPositionByKeyWordCount"  resultType="java.lang.Integer">
         SELECT count(1) FROM
         (
@@ -1085,6 +1085,7 @@
             ad.DEL_FLAG = 0
             AND ad.PUBLISHER = #{userCode}
             AND p.DEL_FLAG =0
+            AND ad.JOB_STATUS = 0
         GROUP BY
             ad.JOB_NAME
         ORDER BY
@@ -1092,7 +1093,7 @@
             ad.UPDATE_DATE desc
     </select>
 
-    <!-- 已发职位关键词检索 统计 -->
+    <!-- rayson- 已发职位关键词检索 统计 -->
     <select id="searchAlreadyPublishByKeyWordCount" resultType="java.lang.Integer">
         SELECT
         count(1)
@@ -1115,7 +1116,7 @@
         </if>
     </select>
 
-    <!-- 已发职位关键词检索 -->
+    <!-- rayson- 已发职位关键词检索 -->
     <select id="searchAlreadyPublishByKeyWord" resultType="com.wechat.model.responseDto.JobAdvertisedResp">
         SELECT
         <include refid="mdeJobAdvertisedSelectCommon"/>

+ 2 - 2
src/main/resources/mybatis/MdePositionCvRelMapper.xml

@@ -633,7 +633,7 @@
         p.UPDATE_DATE DESC
     </select>
 
-    <!-- 已发简历关键词搜索统计 -->
+    <!-- rayson-已发简历关键词搜索统计 -->
     <select id="searchUserCvByKeyWordCount" resultType="java.lang.Integer">
         SELECT
         count(1)
@@ -701,7 +701,7 @@
         ) as count
     </select>
 
-    <!-- 已发简历关键词搜索 -->
+    <!-- rayson-已发简历关键词搜索 -->
     <select id="searchUserCvByKeyWord" resultMap="userInfoRespMap">
         SELECT
         j.JOB_NAME,

+ 1704 - 1577
src/main/resources/mybatis/MdeUserMapper.xml

@@ -1,87 +1,88 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="MdeUserMapper">
-	<resultMap type="com.wechat.model.dbEntity.MdeUser" id="MdeUser">
-		<id column="user_code" property="userCode" />
-		<result column="UNIONID" property="unionId"/>
-		<result column="OPENID" property="openId" />
-		<result column="openId_mini" property="openIdMini" />
-		<result column="linkedin_id" property="linkedinId" />
-		<result column="user_name" property="userName" />
-		<result column="password" property="password" />
-		<result column="name" property="name" />
-		<result column="hotel_brand" property="hotelBrand" />
-		<result column="hotel_brand_str" property="hotelBrandStr" />
-		<result column="ent_contacts" property="entContacts" />
-		<result column="ent_phone" property="entPhone" />
-		<result column="head_portrait" property="headPortrait" />
-		<result column="email" property="email" />
-		<result column="CHECK_STATUS" property="checkStatus"/>
-		<!-- <result column="addr_country" property="addrCountry" /> -->
-		<result column="addr_province" property="addrProvince" />
-		<result column="addr_city" property="addrCity" />
-		<result column="addr_area" property="addrArea" />
-		<result column="website" property="website" />
-		<result column="add_detail" property="addDetail" />
-		<result column="add_longitude" property="addLongitude" />
-		<result column="add_latitude" property="addLatitude" /> 
-		<result column="birthday" property="birthday" />
-		<result column="experience" property="experience" />
-		<result column="first_work" property="firstWork" />
-		<result column="phone_code" property="phoneCode" />
-		<result column="image" property="image" />
-		<result column="ON_JOB_IMAGE" property="onJobImage"/>
-		<result column="identity_flag" property="identityFlag" />
-		<result column="vip_flag" property="vipFlag" />
-		<result column="due_date" property="dueDate" />
-		<result column="allow_flag" property="allowFlag" />
-		<result column="care_about" property="careAbout" />
-		<result column="fans_count" property="fansCount" />
-		<result column="like_list" property="likeList" />
-		<result column="share_list" property="shareList" />
-		<result column="position_list" property="positionList" />
-		<result column="version_no" property="versionNo" />
-		<result column="remarks" property="remarks" />
-		<result column="del_flag" property="delFlag" />
-		<result column="create_by" property="createBy" />
-		<result column="create_date" property="createDate" />
-		<result column="update_by" property="updateBy" />
-		<result column="update_date" property="updateDate" />
-		<result column="work_status" property="workStatus" />
-		<result column="international" property="international" />
-		<result column="check_status" property="checkStatus" />
-		<result column="check_remarks" property="checkRemarks" />
-		<result column="position_title" property="positionTitle" />
-		<result column="foreign_name" property="foreignName"/>
-		<result column="inviter" property="inviter"/>
-		<result column="INTRODUCTION" property="introduction"/>
-		<result column="RECOMMEND_FLAG" property="recommendFlag"/>
-		<result column="PREPARE_FLAG" property="prepareFlag" />
-		<result column="PREPARE_YEAR" property="prepareYear" />
-		<result column="PREPARE_QUARTER" property="prepareQuarter" />
-		<result column="PRIVATE_FLAG" property="privateFlag" />
-		<result column="SUBSCRIBED_FLAG" property="subscribedFlag" />
-	</resultMap>
-	
-	<resultMap type="com.wechat.model.responseDto.ContactUserInfoResp" id="contactUserInfoResp">
-		<result column="USER_NAME" property="phoneNo"/>		
-		<result column="HEAD_PORTRAIT" property="headImage"/>	
-		<result column="NAME" property="name"/>	
-		<result column="EMAIL" property="email"/>	
-		<result column="USER_CODE" property="userCode"/>
-		<result column="FOREIGN_NAME" property="foreignName"/>
-		<collection property="workExperience" ofType="com.wechat.model.responseDto.WorkExperienceResp">
-			<id column="WORK_ID" property="workId"/>
-			<result column="POSITION_TITLE" property="positionTitle"/>	
-			<result column="CO_NAME" property="coName"/>
-			<result column="ENTER_DATE" property="enterDate"/>	
-			<result column="QUIT_DATE" property="quitDate"/> 
-		</collection>
-	</resultMap>
-	
-	<!-- 简要的用户信息 排除敏感字段和多余字段 -->
-	<sql id="mdeUserColumns">
-		a.user_code AS "userCode",
+    <resultMap type="com.wechat.model.dbEntity.MdeUser" id="MdeUser">
+        <id column="user_code" property="userCode"/>
+        <result column="UNIONID" property="unionId"/>
+        <result column="OPENID" property="openId"/>
+        <result column="openId_mini" property="openIdMini"/>
+        <result column="linkedin_id" property="linkedinId"/>
+        <result column="user_name" property="userName"/>
+        <result column="password" property="password"/>
+        <result column="name" property="name"/>
+        <result column="hotel_brand" property="hotelBrand"/>
+        <result column="hotel_brand_str" property="hotelBrandStr"/>
+        <result column="ent_contacts" property="entContacts"/>
+        <result column="ent_phone" property="entPhone"/>
+        <result column="head_portrait" property="headPortrait"/>
+        <result column="email" property="email"/>
+        <result column="CHECK_STATUS" property="checkStatus"/>
+        <!-- <result column="addr_country" property="addrCountry" /> -->
+        <result column="addr_province" property="addrProvince"/>
+        <result column="addr_city" property="addrCity"/>
+        <result column="addr_area" property="addrArea"/>
+        <result column="website" property="website"/>
+        <result column="add_detail" property="addDetail"/>
+        <result column="add_longitude" property="addLongitude"/>
+        <result column="add_latitude" property="addLatitude"/>
+        <result column="birthday" property="birthday"/>
+        <result column="experience" property="experience"/>
+        <result column="first_work" property="firstWork"/>
+        <result column="phone_code" property="phoneCode"/>
+        <result column="image" property="image"/>
+        <result column="ON_JOB_IMAGE" property="onJobImage"/>
+        <result column="identity_flag" property="identityFlag"/>
+        <result column="vip_flag" property="vipFlag"/>
+        <result column="due_date" property="dueDate"/>
+        <result column="allow_flag" property="allowFlag"/>
+        <result column="care_about" property="careAbout"/>
+        <result column="fans_count" property="fansCount"/>
+        <result column="like_list" property="likeList"/>
+        <result column="share_list" property="shareList"/>
+        <result column="position_list" property="positionList"/>
+        <result column="version_no" property="versionNo"/>
+        <result column="remarks" property="remarks"/>
+        <result column="del_flag" property="delFlag"/>
+        <result column="create_by" property="createBy"/>
+        <result column="create_date" property="createDate"/>
+        <result column="update_by" property="updateBy"/>
+        <result column="update_date" property="updateDate"/>
+        <result column="work_status" property="workStatus"/>
+        <result column="international" property="international"/>
+        <result column="check_status" property="checkStatus"/>
+        <result column="check_remarks" property="checkRemarks"/>
+        <result column="position_title" property="positionTitle"/>
+        <result column="foreign_name" property="foreignName"/>
+        <result column="inviter" property="inviter"/>
+        <result column="INTRODUCTION" property="introduction"/>
+        <result column="RECOMMEND_FLAG" property="recommendFlag"/>
+        <result column="PREPARE_FLAG" property="prepareFlag"/>
+        <result column="PREPARE_YEAR" property="prepareYear"/>
+        <result column="PREPARE_QUARTER" property="prepareQuarter"/>
+        <result column="PRIVATE_FLAG" property="privateFlag"/>
+        <result column="SUBSCRIBED_FLAG" property="subscribedFlag"/>
+        <result column="STUDENT_FLAG" property="studentFlag"/>
+    </resultMap>
+
+    <resultMap type="com.wechat.model.responseDto.ContactUserInfoResp" id="contactUserInfoResp">
+        <result column="USER_NAME" property="phoneNo"/>
+        <result column="HEAD_PORTRAIT" property="headImage"/>
+        <result column="NAME" property="name"/>
+        <result column="EMAIL" property="email"/>
+        <result column="USER_CODE" property="userCode"/>
+        <result column="FOREIGN_NAME" property="foreignName"/>
+        <collection property="workExperience" ofType="com.wechat.model.responseDto.WorkExperienceResp">
+            <id column="WORK_ID" property="workId"/>
+            <result column="POSITION_TITLE" property="positionTitle"/>
+            <result column="CO_NAME" property="coName"/>
+            <result column="ENTER_DATE" property="enterDate"/>
+            <result column="QUIT_DATE" property="quitDate"/>
+        </collection>
+    </resultMap>
+
+    <!-- 简要的用户信息 排除敏感字段和多余字段 -->
+    <sql id="mdeUserColumns">
+        a.user_code AS "userCode",
 		a.user_name AS "userName",
 		a.name AS "name",
 		a.hotel_brand AS "hotelBrand",
@@ -118,6 +119,7 @@
 		a.birthday AS "birthday",
 		TIMESTAMPDIFF( YEAR, a.FIRST_WORK, CURDATE( ) ) AS experience,
 		a.first_work as "firstWork",
+		a.student_flag AS "studentFlag",
 		a.website AS "website",
 		a.work_status AS "workStatus",
 		a.international AS "international",
@@ -129,1529 +131,1654 @@
 		a.SUBSCRIBED_FLAG as subscribedFlag,
 		b.position_title as "positionTitle",
 		b.co_name as "coName"
-	</sql>
-	<!-- 敏感字段 -->
-	<sql id="mdeUserColumns_other">
-		,a.unionId AS "unionId"
+    </sql>
+    <!-- 敏感字段 -->
+    <sql id="mdeUserColumns_other">
+        ,a.unionId AS "unionId"
 		,a.openId AS "openId"
 		,a.openId_mini AS "openIdMini"
 		,a.linkedin_id AS "linkedinId"
 		,a.password AS "password"
 		,a.create_date AS "createDate"
-	</sql>
-	<sql id="mdeFriendRelationColumn">
-	, CASE t.userCode WHEN IFNULL(t.userCode,NULL) THEN 1 ELSE  0 END as isFriend	
-	</sql>
-	<sql id="mdeUserJoins">
-		left join mde_work_experience b on b.user_code = a.user_code and b.show_flag=0 and b.del_flag = 0
-	</sql>
-	<sql id="mdeAnotherNameJoins">
-		left join MDE_POSITION_ANOTHER_NAME d on b.POSITION_TITLE = d.POSITION_NAME and b.show_flag=0 and d.del_flag = 0
-	</sql>
-	<!-- 按职级排序 -->
-	<sql id="orderByPositionGrade">
-		order by IFNULL(d.POSITION_GRADE,10),a.UPDATE_DATE desc 
-	</sql>
-	
-	
-	<sql id="mdeFriendRelationJoin">
-		LEFT JOIN (
+    </sql>
+    <sql id="mdeFriendRelationColumn">
+        , CASE t.userCode WHEN IFNULL(t.userCode,NULL) THEN 1 ELSE  0 END as isFriend
+    </sql>
+    <sql id="mdeUserJoins">
+        left join mde_work_experience b on b.user_code = a.user_code and b.show_flag=0 and b.del_flag = 0
+    </sql>
+    <sql id="mdeAnotherNameJoins">
+        left join MDE_POSITION_ANOTHER_NAME d on b.POSITION_TITLE = d.POSITION_NAME and b.show_flag=0 and d.del_flag = 0
+    </sql>
+    <!-- 按职级排序 -->
+    <sql id="orderByPositionGrade">
+        order by IFNULL(d.POSITION_GRADE,10),a.UPDATE_DATE
+        desc
+    </sql>
+
+
+    <sql id="mdeFriendRelationJoin">
+        LEFT JOIN (
 			SELECT 
-				CASE #{userCode} 
-				WHEN u.USER_ID_1 THEN u.USER_ID_2 
-				WHEN u.USER_ID_2 THEN u.USER_ID_1 
-				END AS userCode
-			FROM
-				mde_friend_relation u
-			WHERE
-				u.USER_ID_1 = #{userCode} OR u.USER_ID_2 = #{userCode} AND u.DEL_FLAG =0
-		) t on t.userCode = a.USER_CODE
-	</sql>
-	<select id="get" resultMap="MdeUser">
-		SELECT
-		<include refid="mdeUserColumns" />
-		,concat(c.name,d.name) as 'address' 
-		,a.create_date as createDate
-		FROM mde_user a
-		<include refid="mdeUserJoins" />
-		left join sys_area c on c.code=a.addr_province 
-		left join sys_area d on d.code=a.addr_city 
-		left join sys_area e on e.code=a.addr_area 
-		WHERE a.user_code = #{userCode} and a.del_flag=0
-	</select>
-	<select id="getWithLang" resultMap="MdeUser">
-		SELECT
-			<include refid="mdeUserColumns" />
-			<choose>
-				<when test="lang != null and lang == 'en'.toString()">
-					,concat(c.name_en,d.name_en) as 'address'
-				</when>
-				<otherwise>
-					,concat(c.name,d.name) as 'address'
-				</otherwise>
-			</choose>
-			,a.create_date as createDate
-			,a.PREPARE_YEAR as prepareYear
-			,a.PREPARE_QUARTER as prepareQuarter
-			,a.PRIVATE_FLAG as privateFlag
-		FROM mde_user a
-		<include refid="mdeUserJoins" />
-		left join sys_area c on c.code=a.addr_province 
-		left join sys_area d on d.code=a.addr_city 
-		left join sys_area e on e.code=a.addr_area 
-		WHERE a.user_code = #{userCode} and a.del_flag=0
-	</select>
-	<select id="getUser" resultMap="MdeUser">
-		SELECT
-		<include refid="mdeUserColumns" />
-		,concat(c.name,d.name) as 'address' 
-		,a.create_date as createDate
-		FROM mde_user a
-		<include refid="mdeUserJoins" />
-		left join sys_area c on c.code=a.addr_province 
-		left join sys_area d on d.code=a.addr_city 
-		left join sys_area e on e.code=a.addr_area 
-		WHERE (a.user_code = #{userCode} or a.user_name = #{userName}) and a.del_flag=0
-	</select>
-	<!-- 获取用户敏感信息 -->
-	<select id="getUserSensitiveInfo" resultMap="MdeUser">
-		SELECT
-			a.user_code AS "userCode",
-			a.user_name AS "userName",
-			a.name AS "name"
-			<include refid="mdeUserColumns_other" />
-		FROM mde_user a
-		WHERE a.user_code = #{userCode} and a.del_flag=0
-	</select>
-	
-	<select id="getFullInfo" resultMap="MdeUser">
-		SELECT
-		<include refid="mdeUserColumns" /> 
-		<include refid="mdeUserColumns_other" />
-		FROM mde_user a 
-		<include refid="mdeUserJoins" />
-		WHERE a.user_code = #{userCode} and a.del_flag=0
-	</select>
+				CASE
+        #{userCode}
+        WHEN
+        u
+        .
+        USER_ID_1
+        THEN
+        u
+        .
+        USER_ID_2
+        WHEN
+        u
+        .
+        USER_ID_2
+        THEN
+        u
+        .
+        USER_ID_1
+        END
+        AS
+        userCode
+        FROM
+        mde_friend_relation
+        u
+        WHERE
+        u
+        .
+        USER_ID_1
+        =
+        #{userCode}
+        OR
+        u
+        .
+        USER_ID_2
+        =
+        #{userCode}
+        AND
+        u
+        .
+        DEL_FLAG
+        =
+        0
+        )
+        t
+        on
+        t
+        .
+        userCode
+        =
+        a
+        .
+        USER_CODE
+    </sql>
+    <select id="get" resultMap="MdeUser">
+        SELECT
+        <include refid="mdeUserColumns"/>
+        ,concat(c.name,d.name) as 'address'
+        ,a.create_date as createDate
+        FROM mde_user a
+        <include refid="mdeUserJoins"/>
+        left join sys_area c on c.code=a.addr_province
+        left join sys_area d on d.code=a.addr_city
+        left join sys_area e on e.code=a.addr_area
+        WHERE a.user_code = #{userCode} and a.del_flag=0
+    </select>
+    <select id="getWithLang" resultMap="MdeUser">
+        SELECT
+        <include refid="mdeUserColumns"/>
+        <choose>
+            <when test="lang != null and lang == 'en'.toString()">
+                ,concat(c.name_en,d.name_en) as 'address'
+            </when>
+            <otherwise>
+                ,concat(c.name,d.name) as 'address'
+            </otherwise>
+        </choose>
+        ,a.create_date as createDate
+        ,a.PREPARE_YEAR as prepareYear
+        ,a.PREPARE_QUARTER as prepareQuarter
+        ,a.PRIVATE_FLAG as privateFlag
+        ,
+        CASE
+        WHEN exp.EDUCATION IS NULL THEN 0
+        ELSE 1
+        END AS educationResumeFlag
+        FROM mde_user a
+        <include refid="mdeUserJoins"/>
+        left join mde_education_experience exp on exp.user_code = a.user_code and exp.del_flag=0
+        left join sys_area c on c.code=a.addr_province
+        left join sys_area d on d.code=a.addr_city
+        left join sys_area e on e.code=a.addr_area
+        WHERE a.user_code = #{userCode} and a.del_flag=0
+        GROUP BY a.user_code
+    </select>
+    <select id="getUser" resultMap="MdeUser">
+        SELECT
+        <include refid="mdeUserColumns"/>
+        ,concat(c.name,d.name) as 'address'
+        ,a.create_date as createDate
+        FROM mde_user a
+        <include refid="mdeUserJoins"/>
+        left join sys_area c on c.code=a.addr_province
+        left join sys_area d on d.code=a.addr_city
+        left join sys_area e on e.code=a.addr_area
+        WHERE (a.user_code = #{userCode} or a.user_name = #{userName}) and a.del_flag=0
+    </select>
+    <!-- 获取用户敏感信息 -->
+    <select id="getUserSensitiveInfo" resultMap="MdeUser">
+        SELECT
+        a.user_code AS "userCode",
+        a.user_name AS "userName",
+        a.name AS "name"
+        <include refid="mdeUserColumns_other"/>
+        FROM mde_user a
+        WHERE a.user_code = #{userCode} and a.del_flag=0
+    </select>
+
+    <select id="getFullInfo" resultMap="MdeUser">
+        SELECT
+        <include refid="mdeUserColumns"/>
+        <include refid="mdeUserColumns_other"/>
+        FROM mde_user a
+        <include refid="mdeUserJoins"/>
+        WHERE a.user_code = #{userCode} and a.del_flag=0
+    </select>
+
+    <select id="checkMobileIsRegester" resultMap="MdeUser">
+        SELECT a.user_code
+        FROM mde_user a
+        WHERE a.DEL_FLAG = 0
+          AND a.USER_NAME = #{mobile}
+    </select>
+
+    <insert id="insert">
+        INSERT INTO mde_user(
+        user_code,
+        unionId,
+        openId,
+        linkedin_id,
+        user_name,
+        password,
+        name,
+        hotel_brand,
+        hotel_brand_str,
+        ent_contacts,
+        ent_phone,
+        head_portrait,
+        email,
+        <!-- addr_country, -->
+        addr_province,
+        addr_city,
+        addr_area,
+        phone_code,
+        image,
+        ON_JOB_IMAGE,
+        identity_flag,
+        <!-- vip_flag, -->
+        due_date,
+        <!-- 	allow_flag, -->
+        care_about,
+        <!-- fans_count, -->
+        like_list,
+        share_list,
+        position_list,
+        <!-- version_no, -->
+        remarks,
+        <!-- del_flag, -->
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        add_detail,
+        add_longitude,
+        add_latitude,
+        birthday,
+        experience,
+        FIRST_WORK,
+        website,
+        work_status,
+        check_status,
+        international,
+        INVITER,
+        <if test="prepareFlag !=null and prepareFlag != ''">
+            PREPARE_FLAG,
+        </if>
+        <if test="prepareYear !=null and prepareYear != ''">
+            PREPARE_YEAR,
+            PREPARE_QUARTER,
+        </if>
+        foreign_name,
+        STUDENT_FLAG
+        ) VALUES (
+        #{userCode},
+        #{unionId},
+        #{openId},
+        #{linkedinId},
+        #{userName},
+        #{password},
+        #{name},
+        #{hotelBrand},
+        #{hotelBrandStr},
+        #{entContacts},
+        #{entPhone},
+        #{headPortrait},
+        #{email},
+        <!-- #{addrCountry}, -->
+        #{addrProvince},
+        #{addrCity},
+        #{addrArea},
+        #{phoneCode},
+        #{image},
+        #{onJobImage},
+        #{identityFlag},
+        <!-- #{vipFlag}, -->
+        #{dueDate},
+        <!-- 	#{allowFlag}, -->
+        #{careAbout},
+        <!-- #{fansCount}, -->
+        #{likeList},
+        #{shareList},
+        #{positionList},
+        <!-- #{versionNo}, -->
+        #{remarks},
+        <!-- #{delFlag}, -->
+        #{createBy},
+        #{createDate},
+        #{updateBy},
+        #{updateDate},
 
-	<select id="checkMobileIsRegester" resultMap="MdeUser">
-		SELECT a.user_code
-		FROM mde_user a
-		WHERE a.DEL_FLAG =0 AND a.USER_NAME = #{mobile}
-	</select>
+        #{addDetail},
+        #{addLongitude},
+        #{addLatitude},
+        #{birthday},
+        #{experience},
+        #{firstWork},
+        #{website},
+        #{workStatus},
+        #{checkStatus},
+        #{international},
+        #{inviter},
+        <if test="prepareFlag !=null and prepareFlag != ''">
+            #{prepareFlag},
+        </if>
+        <if test="prepareYear !=null and prepareYear != ''">
+            #{prepareYear},
+            #{prepareQuarter},
+        </if>
+        #{foreignName},
+        #{studentFlag}
+        )
+    </insert>
 
-	<insert id="insert">
-		INSERT INTO mde_user(
-		user_code,
-		unionId,
-		openId,
-		linkedin_id,
-		user_name,
-		password,
-		name,
-		hotel_brand,
-		hotel_brand_str,
-		ent_contacts,
-		ent_phone,
-		head_portrait,
-		email,
-		<!-- addr_country, -->
-		addr_province,
-		addr_city,
-		addr_area,
-		phone_code,
-		image,
-		ON_JOB_IMAGE,
-		identity_flag,
-		<!-- vip_flag, -->
-		due_date,
-	<!-- 	allow_flag, -->
-		care_about,
-		<!-- fans_count, -->
-		like_list,
-		share_list,
-		position_list,
-		<!-- version_no, -->
-		remarks,
-		<!-- del_flag, -->
-		create_by,
-		create_date,
-		update_by,
-		update_date,
-		add_detail,
-		add_longitude,
-		add_latitude,
-		birthday,
-		experience,
-		FIRST_WORK,
-		website,
-		work_status,
-		check_status,
-		international,
-		INVITER,
-		<if test="prepareFlag !=null and prepareFlag != ''" > 
-			PREPARE_FLAG,
-		</if>
-		<if test="prepareYear !=null and prepareYear != ''" > 
-			PREPARE_YEAR,
-			PREPARE_QUARTER,
-		</if>
-		foreign_name
-		) VALUES (
-		#{userCode},
-		#{unionId},
-		#{openId},
-		#{linkedinId},
-		#{userName},
-		#{password},
-		#{name},
-		#{hotelBrand},
-		#{hotelBrandStr},
-		#{entContacts},
-		#{entPhone},
-		#{headPortrait},
-		#{email},
-		<!-- #{addrCountry}, -->
-		#{addrProvince},
-		#{addrCity},
-		#{addrArea},
-		#{phoneCode},
-		#{image},
-		#{onJobImage},
-		#{identityFlag},
-		<!-- #{vipFlag}, -->
-		#{dueDate},
-	<!-- 	#{allowFlag}, -->
-		#{careAbout},
-		<!-- #{fansCount}, -->
-		#{likeList},
-		#{shareList},
-		#{positionList},
-		<!-- #{versionNo}, -->
-		#{remarks},
-		<!-- #{delFlag}, -->
-		#{createBy},
-		#{createDate},
-		#{updateBy},
-		#{updateDate},
-		
-		#{addDetail},
-		#{addLongitude},
-		#{addLatitude},
-		#{birthday},
-		#{experience},
-		#{firstWork},
-		#{website},
-		#{workStatus},
-		#{checkStatus},
-		#{international},
-		#{inviter},
-		<if test="prepareFlag !=null and prepareFlag != ''" > 
-			#{prepareFlag},
-		</if>
-		<if test="prepareYear !=null and prepareYear != ''" > 
-			#{prepareYear},
-			#{prepareQuarter},
-		</if>
-		#{foreignName}
-		)
-	</insert>
+    <update id="update">
+        UPDATE mde_user SET
+        <if test="unionId !=null and unionId !=''">
+            unionId = #{unionId},
+        </if>
+        <if test="openId !=null and openId !=''">
+            openId = #{openId},
+        </if>
+        <if test="linkedinId !=null and linkedinId !=''">
+            linkedin_id = #{linkedinId},
+        </if>
+        <if test="userName !=null">
+            user_name = #{userName},
+        </if>
+        <if test="password !=null">
+            password = #{password},
+        </if>
+        <if test="name !=null">
+            name = #{name},
+        </if>
+        <if test="hotelBrand !=null">
+            hotel_brand = #{hotelBrand},
+        </if>
+        <if test="hotelBrandStr !=null">
+            hotel_brand_str = #{hotelBrandStr},
+        </if>
+        <if test="entContacts!=null">
+            ent_contacts = #{entContacts},
+        </if>
+        <if test="entPhone !=null">
+            ent_phone = #{entPhone},
+        </if>
+        <if test="headPortrait !=null">
+            head_portrait = #{headPortrait},
+        </if>
+        <if test="email !=null">
+            email = #{email},
+        </if>
+        <!-- <if test="addrCountry !=null" > addr_country = #{addrCountry},             </if> -->
+        <if test="addrProvince !=null">
+            addr_province = #{addrProvince},
+        </if>
+        <if test="addrCity !=null">
+            addr_city = #{addrCity},
+        </if>
+        <if test="addrArea !=null">
+            addr_area = #{addrArea},
+        </if>
+        <if test="phoneCode !=null">
+            phone_code = #{phoneCode},
+        </if>
+        <if test="image !=null">
+            image = #{image},
+        </if>
+        <if test="onJobImage">
+            ON_JOB_IMAGE=#{onJobImage},
+        </if>
+        <if test="identityFlag !=null">
+            identity_flag = #{identityFlag},
+        </if>
+        <if test="vipFlag !=null and vipFlag != '0'">
+            vip_flag = #{vipFlag},
+        </if>
+        <if test="dueDate !=null">
+            due_date = #{dueDate},
+        </if>
+        <if test="allowFlag !=null">
+            allow_flag = #{allowFlag},
+        </if>
+        <if test="careAbout !=null">
+            care_about = #{careAbout},
+        </if>
+        <if test="fansCount !=null">
+            fans_count = #{fansCount},
+        </if>
+        <!-- <if test="likeList !=null" > like_list =
+            CASE find_in_set( #{likeList}, IFNULL( like_list, "" ) )
+                WHEN 0 THEN concat( IFNULL( like_list, "" ), #{likeList}, "," )
+                ELSE REPLACE ( IFNULL( like_list, "" ), concat( #{likeList}, "," ), "" )
+            END ,
+        </if>
+        <if test="shareList !=null" > share_list =
+            CASE find_in_set( #{shareList}, IFNULL( share_list, "" ) )
+                WHEN 0 THEN concat( IFNULL( share_list, "" ), #{shareList}, "," )
+                ELSE share_list
+            END ,
+        </if> -->
+        <if test="positionList !=null">
+            position_list = #{positionList},
+        </if>
+        <if test="remarks !=null">
+            remarks = #{remarks},
+        </if>
+        <if test="updateBy !=null">
+            update_by = #{updateBy},
+        </if>
+        <if test="updateDate !=null">
+            update_date = #{updateDate},
+        </if>
 
-	<update id="update">
-		UPDATE mde_user SET
-		<if test="unionId !=null and unionId !=''" > unionId = #{unionId},                       </if>
-		<if test="openId !=null and openId !=''" > openId = #{openId},                       </if>
-		<if test="linkedinId !=null and linkedinId !=''" > linkedin_id = #{linkedinId},               </if>
-		<if test="userName !=null" > user_name = #{userName},                   </if>
-		<if test="password !=null" > password = #{password},                    </if>
-		<if test="name !=null" > name = #{name},                            </if>
-		<if test="hotelBrand !=null" > hotel_brand = #{hotelBrand},               </if>
-		<if test="hotelBrandStr !=null" > hotel_brand_str = #{hotelBrandStr},        </if>
-		<if test="entContacts!=null" > ent_contacts = #{entContacts},             </if>
-		<if test="entPhone !=null" > ent_phone = #{entPhone},                   </if>
-		<if test="headPortrait !=null" > head_portrait = #{headPortrait},           </if>
-		<if test="email !=null" > email = #{email},                          </if>
-		<!-- <if test="addrCountry !=null" > addr_country = #{addrCountry},             </if> -->
-		<if test="addrProvince !=null" > addr_province = #{addrProvince},           </if>
-		<if test="addrCity !=null" > addr_city = #{addrCity},                   </if>
-		<if test="addrArea !=null" > addr_area = #{addrArea},                   </if>
-		<if test="phoneCode !=null" > phone_code = #{phoneCode},             </if>
-		<if test="image !=null" > image = #{image},                          </if>
-		<if test="onJobImage">ON_JOB_IMAGE=#{onJobImage},</if>
-		<if test="identityFlag !=null" > identity_flag = #{identityFlag},           </if>
-		<if test="vipFlag !=null and vipFlag != '0'" > vip_flag = #{vipFlag},                     </if>
-		<if test="dueDate !=null" > due_date = #{dueDate},                     </if>
-		<if test="allowFlag !=null" > allow_flag = #{allowFlag},                 </if>
-		<if test="careAbout !=null" > care_about = #{careAbout},                 </if>
-		<if test="fansCount !=null" > fans_count = #{fansCount},                 </if>
-		<!-- <if test="likeList !=null" > like_list = 
-			CASE find_in_set( #{likeList}, IFNULL( like_list, "" ) ) 
-				WHEN 0 THEN concat( IFNULL( like_list, "" ), #{likeList}, "," ) 
-				ELSE REPLACE ( IFNULL( like_list, "" ), concat( #{likeList}, "," ), "" ) 
-			END ,
-		</if>
-		<if test="shareList !=null" > share_list =  
-			CASE find_in_set( #{shareList}, IFNULL( share_list, "" ) ) 
-				WHEN 0 THEN concat( IFNULL( share_list, "" ), #{shareList}, "," ) 
-				ELSE share_list 
-			END ,
-		</if> -->
-		<if test="positionList !=null" > position_list = #{positionList},           </if>
-		<if test="remarks !=null" > remarks = #{remarks},                      </if>
-		<if test="updateBy !=null" > update_by = #{updateBy},                </if>
-		<if test="updateDate !=null" > update_date = #{updateDate},                </if>
-		
-		<if test="addDetail !=null" > add_detail = #{addDetail},                </if>
-		<if test="addLongitude !=null" > add_longitude = #{addLongitude},                </if>
-		<if test="addLatitude !=null" > add_latitude = #{addLatitude},                </if>
-		<if test="birthday !=null" > birthday = #{birthday},                </if>
-		<if test="experience !=null"> experience = #{experience},                </if>
-		<if test="website !=null" > website = #{website},                </if>
-		<if test="foreignName != null and foreignName != ''">foreign_name=#{foreignName},  </if>
-		<if test="workStatus !=null" >work_status = #{workStatus},                </if>
-		<if test="checkStatus !=null" >check_status = #{checkStatus},                </if>
-		<if test="international !=null" >international = #{international},                </if>
-		version_no = version_no+1
-		WHERE user_code = #{userCode} 
-		<if test="versionNo !=null" > and version_no = #{versionNo} </if>
-	</update>
-	<update id="updateUserPicture">
-		UPDATE mde_user SET 
-		<if test="headPortrait !=null" > head_portrait = #{headPortrait},           </if>
-		<if test="image !=null" > image = #{image},                          </if>
-		<if test="onJobImage">ON_JOB_IMAGE=#{onJobImage},</if>
-		<if test="updateBy !=null" > update_by = #{updateBy},                </if>
-		<if test="updateDate !=null" > update_date = #{updateDate},                </if>
-		version_no = version_no+1
-		WHERE user_code = #{userCode} <if test="versionNo !=null" > and version_no = #{versionNo} </if>
-	</update>
-	
-	<update id="unbind">
-        UPDATE mde_user SET 
-	        <if test="linkedinId ==null or linkedinId == ''" > 
-	        	unionId = null
-	        	,openId = null
-	        	,openId_mini = null
-	        </if>
-	        <if test="linkedinId !=null and linkedinId != ''" > 
-	        	linkedin_id = null
-	        </if>
-        WHERE 
-        	user_code != #{userCode}
-	        <if test="linkedinId ==null or linkedinId == ''" > 
-	        	and (unionId = #{unionId} or openId = #{openId} or openId_mini = #{openIdMini})
-	        </if>
-	        <if test="linkedinId !=null and linkedinId != ''" > 
-	        	and linkedin_id = #{linkedinId}
-	        </if>
+        <if test="addDetail !=null">
+            add_detail = #{addDetail},
+        </if>
+        <if test="addLongitude !=null">
+            add_longitude = #{addLongitude},
+        </if>
+        <if test="addLatitude !=null">
+            add_latitude = #{addLatitude},
+        </if>
+        <if test="birthday !=null">
+            birthday = #{birthday},
+        </if>
+        <if test="experience !=null">
+            experience = #{experience},
+        </if>
+        <if test="website !=null">
+            website = #{website},
+        </if>
+        <if test="foreignName != null and foreignName != ''">
+            foreign_name=#{foreignName},
+        </if>
+        <if test="workStatus !=null">
+            work_status = #{workStatus},
+        </if>
+        <if test="checkStatus !=null">
+            check_status = #{checkStatus},
+        </if>
+        <if test="international !=null">
+            international = #{international},
+        </if>
+        <if test="studentFlag != null and studentFlag != ''">
+            STUDENT_FLAG = #{studentFlag},
+        </if>
+        version_no = version_no+1
+        WHERE user_code = #{userCode}
+        <if test="versionNo !=null">
+            and version_no = #{versionNo}
+        </if>
     </update>
-    
+    <update id="updateUserPicture">
+        UPDATE mde_user SET
+        <if test="headPortrait !=null">
+            head_portrait = #{headPortrait},
+        </if>
+        <if test="image !=null">
+            image = #{image},
+        </if>
+        <if test="onJobImage">
+            ON_JOB_IMAGE=#{onJobImage},
+        </if>
+        <if test="updateBy !=null">
+            update_by = #{updateBy},
+        </if>
+        <if test="updateDate !=null">
+            update_date = #{updateDate},
+        </if>
+        version_no = version_no+1
+        WHERE user_code = #{userCode}
+        <if test="versionNo !=null">
+            and version_no = #{versionNo}
+        </if>
+    </update>
+
+    <update id="unbind">
+        UPDATE mde_user SET
+        <if test="linkedinId ==null or linkedinId == ''">
+            unionId = null
+            ,openId = null
+            ,openId_mini = null
+        </if>
+        <if test="linkedinId !=null and linkedinId != ''">
+            linkedin_id = null
+        </if>
+        WHERE
+        user_code != #{userCode}
+        <if test="linkedinId ==null or linkedinId == ''">
+            and (unionId = #{unionId} or openId = #{openId} or openId_mini = #{openIdMini})
+        </if>
+        <if test="linkedinId !=null and linkedinId != ''">
+            and linkedin_id = #{linkedinId}
+        </if>
+    </update>
+
     <update id="updateBind">
-		UPDATE mde_user SET
-		<if test="openId !=null and openId !=''" > openId = #{openId},                       </if>
-		<if test="openIdMini !=null and openIdMini !=''" > openId_mini = #{openIdMini},      </if>
-		<if test="unionId !=null and unionId !=''" > unionId = #{unionId},      </if>
-		<if test="linkedinId !=null and linkedinId !=''" > linkedin_id = #{linkedinId},      </if>
-		version_no = version_no+1
-		WHERE user_code = #{userCode} 
-		<if test="versionNo !=null" > and version_no = #{versionNo} </if>
-	</update>
-	
-	
-	<update id="updateUser">
-		UPDATE mde_user SET
-		  <if test="foreignName != null" >
-	        FOREIGN_NAME = #{foreignName},
-	      </if>
-	      <if test="name != null" >
-	        NAME = #{name},
-	      </if>
-			<if test="identityFlag == '0'.toString()">
-				<if test="workStatus != null" >
-		        	WORK_STATUS = #{workStatus},
-		      	</if>
-		     	<if test="firstWork != null" >
-			        FIRST_WORK = #{firstWork},
-			    </if>
-			    <if test="birthday != null" >
-			        BIRTHDAY = #{birthday},
-			    </if>
-			    <if test="image != null" >
-			        IMAGE = #{image},
-			    </if>
-		        <if test="email != null" >
-			        EMAIL = #{email},
-			    </if>
-			    <if test="privateFlag != null" >
-			        PRIVATE_FLAG = #{privateFlag},
-			    </if>
-			</if>  
-			<if test="identityFlag == '1'.toString()"> 
-			    <if test="entContacts != null" >
-			        ENT_CONTACTS = #{entContacts},
-			    </if>
-			    <if test="entPhone != null" >
-			        ENT_PHONE = #{entPhone},
-			    </if>                      
-				<if test="onJobImage != null" >
-			        ON_JOB_IMAGE = #{onJobImage},
-			    </if>
-				<if test="website != null" >
-					WEBSITE = #{website},
-				</if>
-				<if test="addrArea != null" >
-        			ADDR_AREA = #{addrArea},
-				</if> 
-				PREPARE_FLAG = #{prepareFlag}, 
-				PREPARE_YEAR = #{prepareYear}, 
-				PREPARE_QUARTER = #{prepareQuarter}, 
-		  	</if>
-		  	<if test="addrProvince != null" >
-		        ADDR_PROVINCE = #{addrProvince},
-	      	</if>
-	      	<if test="addrCity != null" >
-	        	ADDR_CITY = #{addrCity},
-	      	</if>                        
-			<if test="addDetail != null" >
-	        	ADD_DETAIL = #{addDetail},
-	      	</if>
-		    <if test="introduction != null" >
-		        INTRODUCTION = #{introduction},
-		    </if>       
-			update_by = #{updateBy},                
-			update_date = #{updateDate},               
-			version_no = version_no+1
-		WHERE user_code = #{userCode}  <if test="versionNo != null">and version_no = #{versionNo}</if>
-	</update>
-	
-	<update id="updatePrivateFlag">
-		UPDATE mde_user SET
-			    <if test="privateFlag != null" >
-			        PRIVATE_FLAG = #{privateFlag},
-			    </if>
-			update_by = #{updateBy},                
-			update_date = #{updateDate},               
-			version_no = version_no+1
-		WHERE user_code = #{userCode}  <if test="versionNo != null">and version_no = #{versionNo}</if>
-	</update>
-	
-	
-	<update id="delete">
-		UPDATE mde_user SET
-		del_flag = #{DEL_FLAG_DELETE}
-		WHERE
-		user_code = #{id}
-	</update>
+        UPDATE mde_user SET
+        <if test="openId !=null and openId !=''">
+            openId = #{openId},
+        </if>
+        <if test="openIdMini !=null and openIdMini !=''">
+            openId_mini = #{openIdMini},
+        </if>
+        <if test="unionId !=null and unionId !=''">
+            unionId = #{unionId},
+        </if>
+        <if test="linkedinId !=null and linkedinId !=''">
+            linkedin_id = #{linkedinId},
+        </if>
+        version_no = version_no+1
+        WHERE user_code = #{userCode}
+        <if test="versionNo !=null">
+            and version_no = #{versionNo}
+        </if>
+    </update>
 
-	<select id="findByUserName" resultMap="MdeUser">
-		select
-		<include refid="mdeUserColumns"/>
-		<include refid="mdeUserColumns_other"/>
-		from mde_user a 
-		<include refid="mdeUserJoins" />
-		 where a.USER_NAME=#{userName} and a.DEL_FLAG=0
-	</select>
 
-	<!-- 关键词搜索好友 -->
-	<select id="findByKeyWord" resultMap="MdeUser">
-		SELECT
-			<include refid="mdeUserColumns"/>
-			<include refid="mdeFriendRelationColumn"></include>
-		FROM
-			mde_user a 
-			<include refid="mdeUserJoins" />
-			<include refid="mdeFriendRelationJoin"></include>
-		WHERE
-			a.DEL_FLAG = '0' 
-			and a.ALLOW_FLAG = '0' 
-			and a.user_code &lt;&gt; #{userCode}
-			AND concat(
-				a.NAME,
-				IFNULL( a.ENT_CONTACTS, '' ),
-				IFNULL( a.foreign_name, '' ),
-				IFNULL( a.EMAIL, '' ),
-				IFNULL( b.CO_NAME, '' ) 
-			) LIKE concat( '%', #{keyWord}, '%' )
-	</select>
-	
-	<select id="findByKeyWordCount" resultType="java.lang.Integer">
-	SELECT
-			count(1)
-		FROM
-			mde_user a 
-			<include refid="mdeUserJoins" />
-		WHERE
-			a.DEL_FLAG = '0' 
-			and a.ALLOW_FLAG = '0' 
-			and a.user_code &lt;&gt; #{userCode}
-			AND concat(
-				a.NAME,
-				IFNULL( a.ENT_CONTACTS, '' ),
-				IFNULL( a.foreign_name, '' ),
-				IFNULL( a.EMAIL, '' ),
-				IFNULL( b.CO_NAME, '' ) 
-			) LIKE concat( '%', #{keyWord}, '%' );
-	</select>
+    <update id="updateUser">
+        UPDATE mde_user SET
+        <if test="foreignName != null">
+            FOREIGN_NAME = #{foreignName},
+        </if>
+        <if test="name != null">
+            NAME = #{name},
+        </if>
+        <if test="identityFlag == '0'.toString()">
+            FIRST_WORK = #{firstWork},
+            <if test="workStatus != null">
+                WORK_STATUS = #{workStatus},
+            </if>
+            <if test="birthday != null">
+                BIRTHDAY = #{birthday},
+            </if>
+            <if test="image != null">
+                IMAGE = #{image},
+            </if>
+            <if test="email != null">
+                EMAIL = #{email},
+            </if>
+            <if test="privateFlag != null">
+                PRIVATE_FLAG = #{privateFlag},
+            </if>
+        </if>
+        <if test="identityFlag == '1'.toString()">
+            <if test="entContacts != null">
+                ENT_CONTACTS = #{entContacts},
+            </if>
+            <if test="entPhone != null">
+                ENT_PHONE = #{entPhone},
+            </if>
+            <if test="onJobImage != null">
+                ON_JOB_IMAGE = #{onJobImage},
+            </if>
+            <if test="website != null">
+                WEBSITE = #{website},
+            </if>
+            <if test="addrArea != null">
+                ADDR_AREA = #{addrArea},
+            </if>
+            PREPARE_FLAG = #{prepareFlag},
+            PREPARE_YEAR = #{prepareYear},
+            PREPARE_QUARTER = #{prepareQuarter},
+        </if>
+        <if test="addrProvince != null">
+            ADDR_PROVINCE = #{addrProvince},
+        </if>
+        <if test="addrCity != null">
+            ADDR_CITY = #{addrCity},
+        </if>
+        <if test="addDetail != null">
+            ADD_DETAIL = #{addDetail},
+        </if>
+        <if test="introduction != null">
+            INTRODUCTION = #{introduction},
+        </if>
+        <if test="studentFlag != null and studentFlag != ''">
+            STUDENT_FLAG = #{studentFlag},
+        </if>
+        update_by = #{updateBy},
+        update_date = #{updateDate},
+        version_no = version_no+1
+        WHERE user_code = #{userCode}
+        <if test="versionNo != null">
+            and version_no = #{versionNo}
+        </if>
+    </update>
 
-	<select id="findByUnionId" resultMap="MdeUser">
-		select
-		<include refid="mdeUserColumns"/>
-		<include refid="mdeUserColumns_other"/>
-		from mde_user a 
-		<include refid="mdeUserJoins" />
-		where a.unionId=#{unionId} and a.DEL_FLAG=0
-	</select>
+    <update id="updatePrivateFlag">
+        UPDATE mde_user SET
+        <if test="privateFlag != null">
+            PRIVATE_FLAG = #{privateFlag},
+        </if>
+        update_by = #{updateBy},
+        update_date = #{updateDate},
+        version_no = version_no+1
+        WHERE user_code = #{userCode}
+        <if test="versionNo != null">
+            and version_no = #{versionNo}
+        </if>
+    </update>
 
-	<select id="findByLinkedId" resultMap="MdeUser">
-		select
-		<include refid="mdeUserColumns"/>
-		<include refid="mdeUserColumns_other"/>
-		from mde_user a
-		<include refid="mdeUserJoins" />
-		where a.linkedin_id=#{linkedId} and a.DEL_FLAG=0
-	</select>
-	<!-- 可能认识的人 -->
-	<!-- <select id="getMaybeFriendsOfPerson" resultMap="MdeUser">
-		SELECT
-		<include refid="mdeUserColumns" />
-		FROM mde_user a
-		<include refid="mdeUserJoins" />
-		<include refid="mdeAnotherNameJoins" />
-		<where>
-			a.del_flag = 0 and a.identity_flag = 0 and a.ALLOW_FLAG = 0 
-			and a.user_code not in (
-				select #{userCode}
-				union all
-				SELECT
-					case #{userCode} 
-						when user_id_1 then user_id_2 
-						when user_id_2 then user_id_1 
-					end as user_code
-				FROM
-					mde_friend_relation 
-				WHERE
-					( USER_ID_1 = #{userCode} OR USER_ID_2 = #{userCode} ) 	AND del_flag = 0
-			)
-			<![CDATA[ AND d.POSITION_GRADE < 5 ]]>
-			and a.user_code like CONCAT('%',(select FLOOR(RAND() * 10)),'%') 
-		</where>
-		ORDER BY RAND()
-		limit #{limitSize}
-	</select> -->
-	<select id="getMaybeFriendsOfPerson" resultMap="MdeUser">
-		SELECT
-		<include refid="mdeUserColumns" />
-		FROM mde_user a
-		<include refid="mdeUserJoins" />
-		<include refid="mdeAnotherNameJoins" />
-		<where>
-			a.del_flag = 0 and a.identity_flag = 0 and a.ALLOW_FLAG = '0'
-			AND a.USER_CODE !=#{userCode}
-			AND a.RECOMMEND_FLAG ='1'
-			and  NOT EXISTS (
-				SELECT
-					1
-				FROM
-					mde_friend_relation rel
-				WHERE
-					(
-						rel.USER_ID_1 = #{userCode} and a.USER_CODE = rel.user_id_2
-					) 
-					AND rel.del_flag = 0 
-			UNION ALL
-				SELECT
-					1
-				FROM
-					mde_friend_relation rel
-				WHERE
-					(
-						rel.USER_ID_2 = #{userCode} and a.USER_CODE = rel.user_id_1 
-					) 
-					AND rel.del_flag = 0 	
-				)  
-			<![CDATA[ AND d.POSITION_GRADE < 5 ]]>
-			and a.user_code like CONCAT('%',(select FLOOR(RAND() * 10)),'%') 
-		</where>
-		ORDER BY RAND()
-		limit #{limitSize}
-	</select>
-	<!-- 在该企业工作过的,企业朋友的朋友(一级) -->
-	<select id="getMaybeFriendsOfEnterprise" resultMap="MdeUser">
-		SELECT
-			a.user_code AS "userCode",
-			a.NAME AS "name",
-			a.head_portrait AS "headPortrait",
-			a.email AS "email",
-			a.identity_flag AS "identityFlag",
-			a.vip_flag AS "vipFlag",
-			a.foreign_name AS "foreignName",
-			b.position_title AS "positionTitle",
-			b.co_name AS "coName" 
-		FROM
-			mde_user a
-		INNER JOIN 
-		  (
-			  	<!-- 获取工作经历和发布中职位相关的1名人员 -->
-			  (SELECT DISTINCT
-					a.user_code 
-				FROM
-					MDE_JOB_ADVERTISED jobAd
-					LEFT JOIN MDE_POSITION_ANOTHER_NAME pos ON jobAd.POSITION_ID = pos.POSITION_ID
-					LEFT JOIN mde_work_experience a ON a.POSITION_TITLE = pos.POSITION_NAME 
-				WHERE
-					a.del_flag = 0 
-					AND pos.del_flag = 0 
-					AND jobAd.PUBLISHER = #{userCode}
-					<!-- 屏蔽本酒店人员 -->
-					AND ( a.co_name != #{name} AND a.co_name != #{foreignName} ) 
-				limit 1)
-			UNION
-				<!-- 获取我好友的好友 并且排除共同好友-->
-				(SELECT
-					CASE	
-					WHEN allF.user_id_1 = myF.user_code 
-					THEN allF.user_id_2 
-					WHEN allF.user_id_2 = myF.user_code 
-					THEN allF.user_id_1 
-					END AS user_code 
-				FROM
-					mde_friend_relation allF
-				INNER JOIN 
-				  (
-					SELECT
-						CASE
-						#{userCode} 
-						WHEN user_id_1 THEN
-						user_id_2 
-						WHEN user_id_2 THEN
-						user_id_1 
-					END AS user_code 
-					FROM
-						mde_friend_relation 
-					WHERE
-						( USER_ID_1 = #{userCode} OR USER_ID_2 = #{userCode} ) 
-						AND del_flag = 0 
-						AND CONFIRM_TIME IS NOT NULL 
-				  ) myF 
-				ON (allF.user_id_1 = myF.user_code and allF.user_id_2 != myF.user_code)
-					OR (allF.user_id_2 = myF.user_code and allF.user_id_1 != myF.user_code)
-				WHERE
-					allF.user_id_1 != #{userCode} 
-					AND allF.user_id_2 != #{userCode} 
-					AND allF.del_flag = 0 
-					AND CONFIRM_TIME IS NOT NULL )
-			  ) friend 
-			  ON a.user_code = friend.user_code
-			<include refid="mdeUserJoins" />
-			<include refid="mdeAnotherNameJoins" />
-			WHERE
-				a.del_flag = 0 
-			AND a.RECOMMEND_FLAG ='1'
-			<!-- 排除已添加的好友-->
-			AND NOT EXISTS (
-					SELECT
-						1 
-					FROM
-						mde_friend_relation rel 
-					WHERE
-						(
-							rel.USER_ID_1 = #{userCode} AND a.USER_CODE = rel.user_id_2 
-						) 
-						AND rel.del_flag = 0 
-				UNION ALL	
-					SELECT
-						1 
-					FROM
-						mde_friend_relation rel 
-					WHERE
-						(
-							rel.USER_ID_2 = #{userCode} AND a.USER_CODE = rel.user_id_1
-						) 
-						AND rel.del_flag = 0 
-			) 
-			<!-- 屏蔽本酒店人员 -->
-			AND ( b.co_name != #{name} AND b.co_name != #{foreignName} ) 
-			AND a.identity_flag = 0 
-		<![CDATA[ AND d.POSITION_GRADE < 5 ]]>
-		ORDER BY RAND() 
-		limit #{limitSize}
-	</select>
-	<!-- 查找全部好友 -->
-	<select id="getFriendsByCode" resultMap="MdeUser">
-		SELECT
-		a.user_code AS "userCode",
-		a.NAME AS "name",
-		a.foreign_name as "foreignName",
-		a.identity_flag as "identityFlag",
-		a.head_portrait AS "headPortrait",
-		b.POSITION_TITLE as "positionTitle",
-		b.CO_NAME as coName
-		FROM mde_user a 
-		<include refid="mdeUserJoins" />
-		<include refid="mdeAnotherNameJoins" />
-		<where>
-			a.del_flag = 0 and a.user_code in (
-				SELECT
-					case #{userCode} 
-						when user_id_1 then user_id_2 
-						when user_id_2 then user_id_1 
-					end as user_code
-				FROM
-					mde_friend_relation 
-				WHERE
-					( USER_ID_1 = #{userCode} OR USER_ID_2 = #{userCode} ) 	AND del_flag = 0 AND CONFIRM_TIME IS NOT NULL
-			)
-		</where>
-		<include refid="orderByPositionGrade" />
-	</select>
-	
-	<select id="getFriendsCounts" resultType="java.lang.Integer">
-		SELECT
-		count(1)
-		FROM mde_user a 
-		<include refid="mdeUserJoins" />
-		<include refid="mdeAnotherNameJoins" />
-		<where>
-			a.del_flag = 0 and a.user_code in (
-				SELECT
-					case #{userCode} 
-						when user_id_1 then user_id_2 
-						when user_id_2 then user_id_1 
-					end as user_code
-				FROM
-					mde_friend_relation 
-				WHERE
-					( USER_ID_1 = #{userCode} OR USER_ID_2 = #{userCode} ) 	AND del_flag = 0 AND CONFIRM_TIME IS NOT NULL
-			)
-			</where>
-			<include refid="orderByPositionGrade" />
-	</select>
 
-	
-	<select id="getInfoByJobId" resultMap="MdeUser">
-		SELECT
-			a.user_code AS "userCode",
-			a.user_name AS "userName",
-			a.name AS "name",
-			a.hotel_brand AS "hotelBrand",
-			a.hotel_brand_str AS "hotelBrandStr",
-			a.ent_contacts AS "entContacts",
-			a.ent_phone AS "entPhone",
-			a.head_portrait AS "headPortrait",
-			a.email AS "email",
-			a.CHECK_STATUS AS "checkStatus",
-			a.addr_province AS "addrProvince",
-			a.addr_city AS "addrCity",
-			a.addr_area AS "addrArea",
-			a.phone_code AS "phoneCode",
-			a.image AS "image",
-			a.ON_JOB_IMAGE as "onJobImage",
-			a.identity_flag AS "identityFlag",
-			a.vip_flag AS "vipFlag",
-			a.due_date AS "dueDate",
-			a.allow_flag AS "allowFlag",
-			a.care_about AS "careAbout",
-			a.fans_count AS "fansCount",
-			a.like_list AS "likeList",
-			a.share_list AS "shareList",
-			a.position_list AS "positionList",
-			a.version_no AS "versionNo",
-			a.remarks AS "remarks",
-			a.del_flag AS "delFlag",
-			a.update_by AS "updateBy",
-			a.update_date AS "updateDate",
-			a.foreign_name AS "foreignName",
-			a.add_detail AS "addDetail",
-			a.add_longitude AS "addLongitude",
-			a.add_latitude AS "addLatitude",
-			a.birthday AS "birthday",
-			TIMESTAMPDIFF( YEAR, a.FIRST_WORK, CURDATE( ) ) AS experience,
-			a.first_work as "firstWork",
-			a.website AS "website",
-			a.work_status AS "workStatus",
-			a.international AS "international",
-			a.check_status AS "checkStatus",
-			a.check_remarks AS "checkRemarks",
-			a.INTRODUCTION as introduction,
-			a.RECOMMEND_FLAG as recommendFlag,
-			a.PREPARE_FLAG as prepareFlag,
-			a.create_date AS createDate,
-			a.PREPARE_YEAR as prepareYear,
-			a.PREPARE_QUARTER as prepareQuarter
-		FROM 
-			mde_user a 
-		inner join 
-			mde_job_advertised b 
-		on a.user_code = b.publisher
-		<where>
-			a.del_flag = 0
-			and b.job_id=#{jobId}
-		</where>
-	</select>
+    <update id="delete">
+        UPDATE mde_user
+        SET del_flag = #{DEL_FLAG_DELETE}
+        WHERE user_code = #{id}
+    </update>
+
+    <select id="findByUserName" resultMap="MdeUser">
+        select
+        <include refid="mdeUserColumns"/>
+        <include refid="mdeUserColumns_other"/>
+        from mde_user a
+        <include refid="mdeUserJoins"/>
+        where a.USER_NAME=#{userName} and a.DEL_FLAG=0
+    </select>
+
+    <!-- 关键词搜索好友 -->
+    <select id="findByKeyWord" resultMap="MdeUser">
+        SELECT
+        <include refid="mdeUserColumns"/>
+        <include refid="mdeFriendRelationColumn">
+        </include>
+        FROM
+        mde_user a
+        <include refid="mdeUserJoins"/>
+        <include refid="mdeFriendRelationJoin">
+        </include>
+        WHERE
+        a.DEL_FLAG = '0'
+        and a.ALLOW_FLAG = '0'
+        and a.user_code &lt;&gt; #{userCode}
+        AND concat(
+        a.NAME,
+        IFNULL( a.ENT_CONTACTS, '' ),
+        IFNULL( a.foreign_name, '' ),
+        IFNULL( a.EMAIL, '' ),
+        IFNULL( b.CO_NAME, '' )
+        ) LIKE concat( '%', #{keyWord}, '%' )
+    </select>
+
+    <select id="findByKeyWordCount" resultType="java.lang.Integer">
+        SELECT
+        count(1)
+        FROM
+        mde_user a
+        <include refid="mdeUserJoins"/>
+        WHERE
+        a.DEL_FLAG = '0'
+        and a.ALLOW_FLAG = '0'
+        and a.user_code &lt;&gt; #{userCode}
+        AND concat(
+        a.NAME,
+        IFNULL( a.ENT_CONTACTS, '' ),
+        IFNULL( a.foreign_name, '' ),
+        IFNULL( a.EMAIL, '' ),
+        IFNULL( b.CO_NAME, '' )
+        ) LIKE concat( '%', #{keyWord}, '%' );
+    </select>
 
-	<select id="getUserInfoByCode" resultMap="MdeUser">
-		SELECT
-		<include refid="mdeUserColumns" />
-		FROM mde_user a
-		<include refid="mdeUserJoins" />
-		where a.del_flag = 0 and a.user_code = #{userCode}
-	</select>
-	<!-- 职位收藏  与取消 -->
-	<update id="updateUserPositionList">
-		UPDATE mde_user 
-		SET position_list =
-			CASE find_in_set( #{jobId}, IFNULL( position_list, "" ) ) 
-				WHEN 0 THEN concat( IFNULL( position_list, "" ), #{jobId}, "," ) 
-				ELSE REPLACE ( IFNULL( position_list, "" ), concat( #{jobId}, "," ), "" ) 
-			END
-		WHERE user_code =#{userCode} and del_flag=0
-	</update>
+    <select id="findByUnionId" resultMap="MdeUser">
+        select
+        <include refid="mdeUserColumns"/>
+        <include refid="mdeUserColumns_other"/>
+        from mde_user a
+        <include refid="mdeUserJoins"/>
+        where a.unionId=#{unionId} and a.DEL_FLAG=0
+    </select>
+
+    <select id="findByLinkedId" resultMap="MdeUser">
+        select
+        <include refid="mdeUserColumns"/>
+        <include refid="mdeUserColumns_other"/>
+        from mde_user a
+        <include refid="mdeUserJoins"/>
+        where a.linkedin_id=#{linkedId} and a.DEL_FLAG=0
+    </select>
+    <!-- 可能认识的人 -->
+    <!-- <select id="getMaybeFriendsOfPerson" resultMap="MdeUser">
+        SELECT
+        <include refid="mdeUserColumns" />
+        FROM mde_user a
+        <include refid="mdeUserJoins" />
+        <include refid="mdeAnotherNameJoins" />
+        <where>
+            a.del_flag = 0 and a.identity_flag = 0 and a.ALLOW_FLAG = 0
+            and a.user_code not in (
+                select #{userCode}
+                union all
+                SELECT
+                    case #{userCode}
+                        when user_id_1 then user_id_2
+                        when user_id_2 then user_id_1
+                    end as user_code
+                FROM
+                    mde_friend_relation
+                WHERE
+                    ( USER_ID_1 = #{userCode} OR USER_ID_2 = #{userCode} ) 	AND del_flag = 0
+            )
+            <![CDATA[ AND d.POSITION_GRADE < 5 ]]>
+            and a.user_code like CONCAT('%',(select FLOOR(RAND() * 10)),'%')
+        </where>
+        ORDER BY RAND()
+        limit #{limitSize}
+    </select> -->
+    <select id="getMaybeFriendsOfPerson" resultMap="MdeUser">
+        SELECT
+        <include refid="mdeUserColumns"/>
+        FROM mde_user a
+        <include refid="mdeUserJoins"/>
+        <include refid="mdeAnotherNameJoins"/>
+        <where>
+            a.del_flag = 0 and a.identity_flag = 0 and a.ALLOW_FLAG = '0'
+            AND a.USER_CODE !=#{userCode}
+            AND a.RECOMMEND_FLAG ='1'
+            and NOT EXISTS (
+            SELECT
+            1
+            FROM
+            mde_friend_relation rel
+            WHERE
+            (
+            rel.USER_ID_1 = #{userCode} and a.USER_CODE = rel.user_id_2
+            )
+            AND rel.del_flag = 0
+            UNION ALL
+            SELECT
+            1
+            FROM
+            mde_friend_relation rel
+            WHERE
+            (
+            rel.USER_ID_2 = #{userCode} and a.USER_CODE = rel.user_id_1
+            )
+            AND rel.del_flag = 0
+            )
+            <![CDATA[ AND d.POSITION_GRADE < 5 ]]>
+            and a.user_code like CONCAT('%',(select FLOOR(RAND() * 10)),'%')
+        </where>
+        ORDER BY RAND()
+        limit #{limitSize}
+    </select>
+    <!-- 在该企业工作过的,企业朋友的朋友(一级) -->
+    <select id="getMaybeFriendsOfEnterprise" resultMap="MdeUser">
+        SELECT
+        a.user_code AS "userCode",
+        a.NAME AS "name",
+        a.head_portrait AS "headPortrait",
+        a.email AS "email",
+        a.identity_flag AS "identityFlag",
+        a.vip_flag AS "vipFlag",
+        a.foreign_name AS "foreignName",
+        b.position_title AS "positionTitle",
+        b.co_name AS "coName"
+        FROM
+        mde_user a
+        INNER JOIN
+        (
+        <!-- 获取工作经历和发布中职位相关的1名人员 -->
+        (SELECT DISTINCT
+        a.user_code
+        FROM
+        MDE_JOB_ADVERTISED jobAd
+        LEFT JOIN MDE_POSITION_ANOTHER_NAME pos ON jobAd.POSITION_ID = pos.POSITION_ID
+        LEFT JOIN mde_work_experience a ON a.POSITION_TITLE = pos.POSITION_NAME
+        WHERE
+        a.del_flag = 0
+        AND pos.del_flag = 0
+        AND jobAd.PUBLISHER = #{userCode}
+        <!-- 屏蔽本酒店人员 -->
+        AND ( a.co_name != #{name} AND a.co_name != #{foreignName} )
+        limit 1)
+        UNION
+        <!-- 获取我好友的好友 并且排除共同好友-->
+        (SELECT
+        CASE
+        WHEN allF.user_id_1 = myF.user_code
+        THEN allF.user_id_2
+        WHEN allF.user_id_2 = myF.user_code
+        THEN allF.user_id_1
+        END AS user_code
+        FROM
+        mde_friend_relation allF
+        INNER JOIN
+        (
+        SELECT
+        CASE
+        #{userCode}
+        WHEN user_id_1 THEN
+        user_id_2
+        WHEN user_id_2 THEN
+        user_id_1
+        END AS user_code
+        FROM
+        mde_friend_relation
+        WHERE
+        ( USER_ID_1 = #{userCode} OR USER_ID_2 = #{userCode} )
+        AND del_flag = 0
+        AND CONFIRM_TIME IS NOT NULL
+        ) myF
+        ON (allF.user_id_1 = myF.user_code and allF.user_id_2 != myF.user_code)
+        OR (allF.user_id_2 = myF.user_code and allF.user_id_1 != myF.user_code)
+        WHERE
+        allF.user_id_1 != #{userCode}
+        AND allF.user_id_2 != #{userCode}
+        AND allF.del_flag = 0
+        AND CONFIRM_TIME IS NOT NULL )
+        ) friend
+        ON a.user_code = friend.user_code
+        <include refid="mdeUserJoins"/>
+        <include refid="mdeAnotherNameJoins"/>
+        WHERE
+        a.del_flag = 0
+        AND a.RECOMMEND_FLAG ='1'
+        <!-- 排除已添加的好友-->
+        AND NOT EXISTS (
+        SELECT
+        1
+        FROM
+        mde_friend_relation rel
+        WHERE
+        (
+        rel.USER_ID_1 = #{userCode} AND a.USER_CODE = rel.user_id_2
+        )
+        AND rel.del_flag = 0
+        UNION ALL
+        SELECT
+        1
+        FROM
+        mde_friend_relation rel
+        WHERE
+        (
+        rel.USER_ID_2 = #{userCode} AND a.USER_CODE = rel.user_id_1
+        )
+        AND rel.del_flag = 0
+        )
+        <!-- 屏蔽本酒店人员 -->
+        AND ( b.co_name != #{name} AND b.co_name != #{foreignName} )
+        AND a.identity_flag = 0
+        <![CDATA[ AND d.POSITION_GRADE < 5 ]]>
+        ORDER BY RAND()
+        limit #{limitSize}
+    </select>
+    <!-- 查找全部好友 -->
+    <select id="getFriendsByCode" resultMap="MdeUser">
+        SELECT
+        a.user_code AS "userCode",
+        a.NAME AS "name",
+        a.foreign_name as "foreignName",
+        a.identity_flag as "identityFlag",
+        a.head_portrait AS "headPortrait",
+        b.POSITION_TITLE as "positionTitle",
+        b.CO_NAME as coName
+        FROM mde_user a
+        <include refid="mdeUserJoins"/>
+        <include refid="mdeAnotherNameJoins"/>
+        <where>
+            a.del_flag = 0 and a.user_code in (
+            SELECT
+            case #{userCode}
+            when user_id_1 then user_id_2
+            when user_id_2 then user_id_1
+            end as user_code
+            FROM
+            mde_friend_relation
+            WHERE
+            ( USER_ID_1 = #{userCode} OR USER_ID_2 = #{userCode} ) AND del_flag = 0 AND CONFIRM_TIME IS NOT NULL
+            )
+        </where>
+        <include refid="orderByPositionGrade"/>
+    </select>
+
+    <select id="getFriendsCounts" resultType="java.lang.Integer">
+        SELECT
+        count(1)
+        FROM mde_user a
+        <include refid="mdeUserJoins"/>
+        <include refid="mdeAnotherNameJoins"/>
+        <where>
+            a.del_flag = 0 and a.user_code in (
+            SELECT
+            case #{userCode}
+            when user_id_1 then user_id_2
+            when user_id_2 then user_id_1
+            end as user_code
+            FROM
+            mde_friend_relation
+            WHERE
+            ( USER_ID_1 = #{userCode} OR USER_ID_2 = #{userCode} ) AND del_flag = 0 AND CONFIRM_TIME IS NOT NULL
+            )
+        </where>
+        <include refid="orderByPositionGrade"/>
+    </select>
+
+
+    <select id="getInfoByJobId" resultMap="MdeUser">
+        SELECT
+        a.user_code AS "userCode",
+        a.user_name AS "userName",
+        a.name AS "name",
+        a.hotel_brand AS "hotelBrand",
+        a.hotel_brand_str AS "hotelBrandStr",
+        a.ent_contacts AS "entContacts",
+        a.ent_phone AS "entPhone",
+        a.head_portrait AS "headPortrait",
+        a.email AS "email",
+        a.CHECK_STATUS AS "checkStatus",
+        a.addr_province AS "addrProvince",
+        a.addr_city AS "addrCity",
+        a.addr_area AS "addrArea",
+        a.phone_code AS "phoneCode",
+        a.image AS "image",
+        a.ON_JOB_IMAGE as "onJobImage",
+        a.identity_flag AS "identityFlag",
+        a.vip_flag AS "vipFlag",
+        a.due_date AS "dueDate",
+        a.allow_flag AS "allowFlag",
+        a.care_about AS "careAbout",
+        a.fans_count AS "fansCount",
+        a.like_list AS "likeList",
+        a.share_list AS "shareList",
+        a.position_list AS "positionList",
+        a.version_no AS "versionNo",
+        a.remarks AS "remarks",
+        a.del_flag AS "delFlag",
+        a.update_by AS "updateBy",
+        a.update_date AS "updateDate",
+        a.foreign_name AS "foreignName",
+        a.add_detail AS "addDetail",
+        a.add_longitude AS "addLongitude",
+        a.add_latitude AS "addLatitude",
+        a.birthday AS "birthday",
+        TIMESTAMPDIFF( YEAR, a.FIRST_WORK, CURDATE( ) ) AS experience,
+        a.first_work as "firstWork",
+        a.website AS "website",
+        a.work_status AS "workStatus",
+        a.international AS "international",
+        a.check_status AS "checkStatus",
+        a.check_remarks AS "checkRemarks",
+        a.INTRODUCTION as introduction,
+        a.RECOMMEND_FLAG as recommendFlag,
+        a.PREPARE_FLAG as prepareFlag,
+        a.create_date AS createDate,
+        a.PREPARE_YEAR as prepareYear,
+        a.PREPARE_QUARTER as prepareQuarter
+        FROM
+        mde_user a
+        inner join
+        mde_job_advertised b
+        on a.user_code = b.publisher
+        <where>
+            a.del_flag = 0
+            and b.job_id=#{jobId}
+        </where>
+    </select>
+
+    <select id="getUserInfoByCode" resultMap="MdeUser">
+        SELECT
+        <include refid="mdeUserColumns"/>
+        FROM mde_user a
+        <include refid="mdeUserJoins"/>
+        where a.del_flag = 0 and a.user_code = #{userCode}
+    </select>
+    <!-- 职位收藏  与取消 -->
+    <update id="updateUserPositionList">
+        UPDATE mde_user
+        SET position_list =
+                CASE find_in_set(#{jobId}, IFNULL(position_list, ""))
+                    WHEN 0 THEN concat(IFNULL(position_list, ""), #{jobId}, ",")
+                    ELSE REPLACE(IFNULL(position_list, ""), concat(#{jobId}, ","), "")
+                    END
+        WHERE user_code = #{userCode}
+          and del_flag = 0
+    </update>
 
-	<!-- 获取联系方式 -->
-	<select id="getContactNumber" resultMap="contactUserInfoResp">
-		SELECT
-			u.USER_NAME,
-			u.FOREIGN_NAME,
-			u.identity_flag ,
-			e.WORK_ID,
-			u.HEAD_PORTRAIT,
-			u.`NAME`,
-			u.EMAIL ,
-			u.USER_CODE, 
-			e.ENTER_DATE,
-			e.QUIT_DATE,
-			e.POSITION_TITLE,
-			e.CO_NAME 
-		FROM
-			mde_user u,
-			mde_work_experience e
-		WHERE
-			 u.USER_CODE = e.USER_CODE
-			AND e.DEL_FLAG = 0
-			AND u.DEL_FLAG = 0
-			AND u.IDENTITY_FLAG = 0
-			AND u.USER_CODE =#{userCode}
-		ORDER BY e.ENTER_DATE DESC ,e.QUIT_DATE DESC
-	</select>
-	
-	<select id="getEducationId" resultType="java.lang.String">
-		SELECT
-			s.`value` as eduId
-		FROM
-			sys_dict s
-		<where>
-		s.type = 'education'
-		and 
-			<foreach collection="keyWord" item="key" open="(" close=")" separator="or">
-			 s.label LIKE CONCAT('%', #{key}, '%')
-			</foreach>
-		</where>
-		order by s.`value` desc
-		limit 1
-	</select>
-	
-	
-	<!-- 人才关键词检索 -->
-<!--	<select id="searchKeyWord" resultType="com.wechat.model.dto.TalentRetrievalDto">-->
-<!--		SELECT-->
-<!--			u.USER_CODE AS userCode,-->
-<!--			e.POSITION_TITLE AS positionTitle,-->
-<!--			TIMESTAMPDIFF( YEAR, u.FIRST_WORK, CURDATE( ) ) AS experience,-->
-<!--			u.FIRST_WORK as firstWork,-->
-<!--			u.HOTEL_BRAND_STR AS brandStr,-->
-<!--			u.HEAD_PORTRAIT AS headImage,-->
-<!--			u.NAME AS NAME,-->
-<!--			u.foreign_name as foreignName,-->
-<!--			u.identity_flag as identityFlag,-->
-<!--			min( w.EDUCATION ) as education,-->
-<!--			u.VIP_FLAG as vipFlag,-->
-<!--			e.co_name as coName-->
-<!--			FROM mde_user u-->
-<!--		LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE-->
-<!--		LEFT JOIN  mde_education_experience w ON u.USER_CODE = w.USER_CODE-->
-<!--		<where>-->
-<!--			e.DEL_FLAG = 0 AND u.DEL_FLAG = 0 AND u.IDENTITY_FLAG = 0 and u.ALLOW_FLAG = 0 AND u.WORK_STATUS != 0-->
-<!--			<if test="keyWord != null">-->
-<!--				AND-->
-<!--				<foreach collection="keyWord" item="key" open="(" close=")" separator="or">-->
-<!--					e.POSITION_TITLE LIKE CONCAT('%', #{key}, '%')-->
-<!--				</foreach>-->
-<!--			</if>-->
-<!--			<if test = "experience != null and experience != ''">-->
-<!--			 	<![CDATA[  -->
-<!--					AND u.FIRST_WORK >= #{from}  AND u.FIRST_WORK <= #{to}-->
-<!--				]]>-->
-<!--			</if>-->
-<!--			and e.SHOW_FLAG = 0-->
-<!--			AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})-->
-<!--		</where>-->
-<!--		group by u.USER_CODE-->
-<!--		order by u.VIP_FLAG desc-->
-<!--		-->
-<!--	</select>-->
-	<select id="searchKeyWord" resultType="com.wechat.model.dto.TalentRetrievalDto">
-		SELECT
-		u.USER_CODE AS userCode,
-		e.POSITION_TITLE AS positionTitle,
-		TIMESTAMPDIFF( YEAR, u.FIRST_WORK, CURDATE( ) ) AS experience,
-		u.FIRST_WORK as firstWork,
-		u.HOTEL_BRAND_STR AS brandStr,
-		u.HEAD_PORTRAIT AS headImage,
-		u.NAME AS NAME,
-		u.foreign_name as foreignName,
-		u.identity_flag as identityFlag,
-		min( w.EDUCATION ) as education,
-		u.VIP_FLAG as vipFlag,
-		e.co_name as coName
-		FROM mde_user u
-		LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE
-		LEFT JOIN  mde_education_experience w ON u.USER_CODE = w.USER_CODE
-		LEFT JOIN mde_interested_adds adds ON u.USER_CODE = adds.USER_CODE	AND adds.DEL_FLAG =0
-		<where>
-			e.DEL_FLAG = 0
-			AND u.DEL_FLAG = 0
-			AND u.IDENTITY_FLAG = 0
-			AND u.ALLOW_FLAG = 0
-			AND u.WORK_STATUS != 0
-			<if test="keyWord != null">
-				AND
-				(
-					MATCH(e.CO_NAME,e.POSITION_TITLE) AGAINST(#{keyWord} IN BOOLEAN MODE)
-					OR
-					MATCH(adds.INTD_PROVINCE_NAME,adds.INTD_CITY_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
-				)
-			</if>
-			and e.SHOW_FLAG = 0
-			AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})
-		</where>
-		group by u.USER_CODE
-		order by u.VIP_FLAG desc
+    <!-- 获取联系方式 -->
+    <select id="getContactNumber" resultMap="contactUserInfoResp">
+        SELECT u.USER_NAME,
+               u.FOREIGN_NAME,
+               u.identity_flag,
+               e.WORK_ID,
+               u.HEAD_PORTRAIT,
+               u.`NAME`,
+               u.EMAIL,
+               u.USER_CODE,
+               e.ENTER_DATE,
+               e.QUIT_DATE,
+               e.POSITION_TITLE,
+               e.CO_NAME
+        FROM mde_user u,
+             mde_work_experience e
+        WHERE u.USER_CODE = e.USER_CODE
+          AND e.DEL_FLAG = 0
+          AND u.DEL_FLAG = 0
+          AND u.IDENTITY_FLAG = 0
+          AND u.USER_CODE = #{userCode}
+        ORDER BY e.ENTER_DATE DESC, e.QUIT_DATE DESC
+    </select>
 
-	</select>
-	
-<!--	<select id="searchKeyWordCount" resultType="java.lang.Integer">-->
-<!--		SELECT -->
-<!--			count(DISTINCT u.USER_CODE)-->
-<!--		FROM mde_user u-->
-<!--		LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE-->
-<!--		LEFT JOIN  mde_education_experience w ON u.USER_CODE = w.USER_CODE-->
+    <select id="getEducationId" resultType="java.lang.String">
+        SELECT
+        s.`value` as eduId
+        FROM
+        sys_dict s
+        <where>
+            s.type = 'education'
+            and
+            <foreach collection="keyWord" item="key" open="(" close=")" separator="or">
+                s.label LIKE CONCAT('%', #{key}, '%')
+            </foreach>
+        </where>
+        order by s.`value` desc
+        limit 1
+    </select>
 
-<!--		<where>-->
-<!--			e.DEL_FLAG = 0 AND u.DEL_FLAG = 0 AND u.IDENTITY_FLAG = 0 and u.ALLOW_FLAG = 0 and u.WORK_STATUS != 0-->
-<!--			<if test="keyWord != null">-->
-<!--				AND-->
-<!--				<foreach collection="keyWord" item="key" open="(" close=")" separator="or">-->
-<!--					e.POSITION_TITLE LIKE CONCAT('%', #{key}, '%')-->
-<!--				</foreach>-->
-<!--			</if>-->
-<!--			<if test = "experience != null and experience != ''">-->
-<!--			 	<![CDATA[  -->
-<!--					AND u.FIRST_WORK >= #{from}  AND u.FIRST_WORK <= #{to}-->
-<!--				]]>-->
-<!--			</if>-->
-<!--			and e.SHOW_FLAG = 0-->
-<!--			AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})-->
-<!--		</where>-->
-<!--	</select>-->
 
-	<select id="searchKeyWordCount" resultType="java.lang.Integer">
-		SELECT
-		count(DISTINCT u.USER_CODE)
-		FROM mde_user u
-		LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE
-		LEFT JOIN  mde_education_experience w ON u.USER_CODE = w.USER_CODE
-		LEFT JOIN mde_interested_adds adds ON u.USER_CODE = adds.USER_CODE AND adds.DEL_FLAG =0
-		<where>
-			e.DEL_FLAG = 0
-			AND u.DEL_FLAG = 0
-			AND u.IDENTITY_FLAG = 0
-			AND u.ALLOW_FLAG = 0
-			AND u.WORK_STATUS != 0
-			<if test="keyWord != null">
-				AND
-				(
-					MATCH(e.CO_NAME,e.POSITION_TITLE) AGAINST(#{keyWord} IN BOOLEAN MODE)
-					OR
-					MATCH(adds.INTD_PROVINCE_NAME,adds.INTD_CITY_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
-				)
-			</if>
-			and e.SHOW_FLAG = 0
-			AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})
-		</where>
-	</select>
-	
-	<!-- 人才筛选 -->
-	<select id="filterPersonAbility" resultType="com.wechat.model.dto.TalentRetrievalDto">
-		SELECT
-			u.USER_CODE AS userCode,
-			e.POSITION_TITLE AS positionTitle,
-			TIMESTAMPDIFF( YEAR, u.FIRST_WORK, CURDATE( ) ) AS experience,
-			u.FIRST_WORK as firstWork,
-			u.HOTEL_BRAND_STR AS brandStr,
-			u.HEAD_PORTRAIT AS headImage,
-			u.NAME AS NAME,
-			u.foreign_name as foreignName,
-			u.identity_flag as identityFlag,
-			u.VIP_FLAG as vipFlag,
-			min( ee.EDUCATION ) as education,
-			e.co_name as coName
-			FROM mde_user u
-		LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE
-		LEFT JOIN mde_education_experience ee ON ee.USER_CODE = u.USER_CODE
-		LEFT JOIN mde_interested_adds intadd ON intadd.USER_CODE = u.USER_CODE 
-		<where>
-			u.DEL_FLAG = 0
-			AND e.DEL_FLAG = 0
-			AND u.WORK_STATUS != 0
-			AND u.IDENTITY_FLAG = 0 
-			and u.ALLOW_FLAG = 0 
-			<if test="positionIdList != null">
-				AND e.POSITION_TITLE IN (
-					SELECT a.POSITION_NAME 
-					FROM mde_position_another_name a
-					WHERE a.del_flag=0 AND a.POSITION_ID in
-					<foreach collection="positionIdList" item="positionId" separator="," open="(" close=")">
-						#{positionId}
-					</foreach>
-				)
-			</if>
-			<if test="provinceId != null and provinceId != ''">
-				AND intadd.INTD_PROVINCE = #{provinceId}
-			</if>
-			<if test="cityId != null and cityId != ''">
-				AND intadd.INTD_CITY = #{cityId}
-			</if>
-		 	<if test="brandIdList != null">
-				AND u.HOTEL_BRAND in
-				<foreach collection="brandIdList" item="brandId" separator="," open="(" close=")">
-				 	#{brandId}
-				</foreach>
-		 	</if>
-			<if test="workExperience != null and workExperience != ''">
-			 	<![CDATA[  
+    <!-- 人才关键词检索 -->
+    <!--	<select id="searchKeyWord" resultType="com.wechat.model.dto.TalentRetrievalDto">-->
+    <!--		SELECT-->
+    <!--			u.USER_CODE AS userCode,-->
+    <!--			e.POSITION_TITLE AS positionTitle,-->
+    <!--			TIMESTAMPDIFF( YEAR, u.FIRST_WORK, CURDATE( ) ) AS experience,-->
+    <!--			u.FIRST_WORK as firstWork,-->
+    <!--			u.HOTEL_BRAND_STR AS brandStr,-->
+    <!--			u.HEAD_PORTRAIT AS headImage,-->
+    <!--			u.NAME AS NAME,-->
+    <!--			u.foreign_name as foreignName,-->
+    <!--			u.identity_flag as identityFlag,-->
+    <!--			min( w.EDUCATION ) as education,-->
+    <!--			u.VIP_FLAG as vipFlag,-->
+    <!--			e.co_name as coName-->
+    <!--			FROM mde_user u-->
+    <!--		LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE-->
+    <!--		LEFT JOIN  mde_education_experience w ON u.USER_CODE = w.USER_CODE-->
+    <!--		<where>-->
+    <!--			e.DEL_FLAG = 0 AND u.DEL_FLAG = 0 AND u.IDENTITY_FLAG = 0 and u.ALLOW_FLAG = 0 AND u.WORK_STATUS != 0-->
+    <!--			<if test="keyWord != null">-->
+    <!--				AND-->
+    <!--				<foreach collection="keyWord" item="key" open="(" close=")" separator="or">-->
+    <!--					e.POSITION_TITLE LIKE CONCAT('%', #{key}, '%')-->
+    <!--				</foreach>-->
+    <!--			</if>-->
+    <!--			<if test = "experience != null and experience != ''">-->
+    <!--			 	<![CDATA[  -->
+    <!--					AND u.FIRST_WORK >= #{from}  AND u.FIRST_WORK <= #{to}-->
+    <!--				]]>-->
+    <!--			</if>-->
+    <!--			and e.SHOW_FLAG = 0-->
+    <!--			AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})-->
+    <!--		</where>-->
+    <!--		group by u.USER_CODE-->
+    <!--		order by u.VIP_FLAG desc-->
+    <!--		-->
+    <!--	</select>-->
+
+    <!-- rayson-人才关键词检索 -->
+    <select id="searchKeyWord" resultType="com.wechat.model.dto.TalentRetrievalDto">
+        SELECT
+        u.USER_CODE AS userCode,
+        e.POSITION_TITLE AS positionTitle,
+        TIMESTAMPDIFF( YEAR, u.FIRST_WORK, CURDATE( ) ) AS experience,
+        u.FIRST_WORK as firstWork,
+        u.HOTEL_BRAND_STR AS brandStr,
+        u.HEAD_PORTRAIT AS headImage,
+        u.NAME AS NAME,
+        u.foreign_name as foreignName,
+        u.identity_flag as identityFlag,
+        min( w.EDUCATION ) as education,
+        u.VIP_FLAG as vipFlag,
+        e.co_name as coName
+        FROM mde_user u
+        LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE
+        LEFT JOIN mde_education_experience w ON u.USER_CODE = w.USER_CODE
+        LEFT JOIN mde_interested_adds adds ON u.USER_CODE = adds.USER_CODE AND adds.DEL_FLAG =0
+        <where>
+            e.DEL_FLAG = 0
+            AND u.DEL_FLAG = 0
+            AND u.IDENTITY_FLAG = 0
+            AND u.ALLOW_FLAG = 0
+            AND u.WORK_STATUS != 0
+            <if test="keyWord != null">
+                AND
+                (
+                MATCH(e.CO_NAME,e.POSITION_TITLE) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                OR
+                MATCH(adds.INTD_PROVINCE_NAME,adds.INTD_CITY_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                )
+            </if>
+            and e.SHOW_FLAG = 0
+            AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})
+        </where>
+        group by u.USER_CODE
+        order by u.VIP_FLAG desc
+    </select>
+
+    <!--	<select id="searchKeyWordCount" resultType="java.lang.Integer">-->
+    <!--		SELECT -->
+    <!--			count(DISTINCT u.USER_CODE)-->
+    <!--		FROM mde_user u-->
+    <!--		LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE-->
+    <!--		LEFT JOIN  mde_education_experience w ON u.USER_CODE = w.USER_CODE-->
+
+    <!--		<where>-->
+    <!--			e.DEL_FLAG = 0 AND u.DEL_FLAG = 0 AND u.IDENTITY_FLAG = 0 and u.ALLOW_FLAG = 0 and u.WORK_STATUS != 0-->
+    <!--			<if test="keyWord != null">-->
+    <!--				AND-->
+    <!--				<foreach collection="keyWord" item="key" open="(" close=")" separator="or">-->
+    <!--					e.POSITION_TITLE LIKE CONCAT('%', #{key}, '%')-->
+    <!--				</foreach>-->
+    <!--			</if>-->
+    <!--			<if test = "experience != null and experience != ''">-->
+    <!--			 	<![CDATA[  -->
+    <!--					AND u.FIRST_WORK >= #{from}  AND u.FIRST_WORK <= #{to}-->
+    <!--				]]>-->
+    <!--			</if>-->
+    <!--			and e.SHOW_FLAG = 0-->
+    <!--			AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})-->
+    <!--		</where>-->
+    <!--	</select>-->
+
+    <select id="searchKeyWordCount" resultType="java.lang.Integer">
+        SELECT
+        count(DISTINCT u.USER_CODE)
+        FROM mde_user u
+        LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE
+        LEFT JOIN mde_education_experience w ON u.USER_CODE = w.USER_CODE
+        LEFT JOIN mde_interested_adds adds ON u.USER_CODE = adds.USER_CODE AND adds.DEL_FLAG =0
+        <where>
+            e.DEL_FLAG = 0
+            AND u.DEL_FLAG = 0
+            AND u.IDENTITY_FLAG = 0
+            AND u.ALLOW_FLAG = 0
+            AND u.WORK_STATUS != 0
+            <if test="keyWord != null">
+                AND
+                (
+                MATCH(e.CO_NAME,e.POSITION_TITLE) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                OR
+                MATCH(adds.INTD_PROVINCE_NAME,adds.INTD_CITY_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
+                )
+            </if>
+            and e.SHOW_FLAG = 0
+            AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})
+        </where>
+    </select>
+
+    <!-- 人才筛选 -->
+    <select id="filterPersonAbility" resultType="com.wechat.model.dto.TalentRetrievalDto">
+        SELECT
+        u.USER_CODE AS userCode,
+        e.POSITION_TITLE AS positionTitle,
+        TIMESTAMPDIFF( YEAR, u.FIRST_WORK, CURDATE( ) ) AS experience,
+        u.FIRST_WORK as firstWork,
+        u.HOTEL_BRAND_STR AS brandStr,
+        u.HEAD_PORTRAIT AS headImage,
+        u.NAME AS NAME,
+        u.foreign_name as foreignName,
+        u.identity_flag as identityFlag,
+        u.VIP_FLAG as vipFlag,
+        min( ee.EDUCATION ) as education,
+        e.co_name as coName
+        FROM mde_user u
+        LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE
+        LEFT JOIN mde_education_experience ee ON ee.USER_CODE = u.USER_CODE
+        LEFT JOIN mde_interested_adds intadd ON intadd.USER_CODE = u.USER_CODE
+        <where>
+            u.DEL_FLAG = 0
+            AND e.DEL_FLAG = 0
+            AND u.WORK_STATUS != 0
+            AND u.IDENTITY_FLAG = 0
+            and u.ALLOW_FLAG = 0
+            <if test="positionIdList != null">
+                AND e.POSITION_TITLE IN (
+                SELECT a.POSITION_NAME
+                FROM mde_position_another_name a
+                WHERE a.del_flag=0 AND a.POSITION_ID in
+                <foreach collection="positionIdList" item="positionId" separator="," open="(" close=")">
+                    #{positionId}
+                </foreach>
+                )
+            </if>
+            <if test="provinceId != null and provinceId != ''">
+                AND intadd.INTD_PROVINCE = #{provinceId}
+            </if>
+            <if test="cityId != null and cityId != ''">
+                AND intadd.INTD_CITY = #{cityId}
+            </if>
+            <if test="brandIdList != null">
+                AND u.HOTEL_BRAND in
+                <foreach collection="brandIdList" item="brandId" separator="," open="(" close=")">
+                    #{brandId}
+                </foreach>
+            </if>
+            <if test="workExperience != null and workExperience != ''">
+                <![CDATA[
 					AND u.FIRST_WORK >= #{from}  AND u.FIRST_WORK <= #{to}
-				]]> 
-			</if>
-			<if test="eduExperience != null and eduExperience != ''">
-			 	<![CDATA[  
+				]]>
+            </if>
+            <if test="eduExperience != null and eduExperience != ''">
+                <![CDATA[
 					AND ee.EDUCATION <= #{eduExperience}
-				]]> 
-			</if>
-			and e.SHOW_FLAG = 0
-			AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})
-		</where>
-		group by u.USER_CODE
-		order by u.VIP_FLAG desc
-	</select>
-	
-	<!-- 人才筛选数量 -->
-	<select id="filterPersonAbilityCount" resultType="java.lang.Integer">
-		SELECT 
-			count(DISTINCT u.USER_CODE)
-		FROM mde_user u
-		LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE
-		LEFT JOIN mde_education_experience ee ON ee.USER_CODE = u.USER_CODE 
-		LEFT JOIN mde_interested_adds intadd ON intadd.USER_CODE = u.USER_CODE 
-		<where>
-			u.DEL_FLAG = 0
-			AND e.DEL_FLAG = 0
-			AND u.WORK_STATUS != 0
-			AND u.IDENTITY_FLAG = 0
-		    and u.ALLOW_FLAG = 0 
-			<if test="positionIdList != null">
-				AND e.POSITION_TITLE IN (
-					SELECT a.POSITION_NAME 
-					FROM mde_position_another_name a
-					WHERE a.del_flag=0 AND a.POSITION_ID in
-					<foreach collection="positionIdList" item="positionId" separator="," open="(" close=")">
-						#{positionId}
-					</foreach>
-				)
-			</if>
-			<if test="provinceId != null and provinceId != ''">
-				AND intadd.INTD_PROVINCE = #{provinceId}
-			</if>
-			<if test="cityId != null and cityId != ''">
-				AND intadd.INTD_CITY = #{cityId}
-			</if>
-		 	<if test="brandIdList != null">
-				AND u.HOTEL_BRAND in
-				<foreach collection="brandIdList" item="brandId" separator="," open="(" close=")">
-				 	#{brandId}
-				</foreach>
-		 	</if>
-			<if test="workExperience != null and workExperience != ''">
-			 	<![CDATA[  
+				]]>
+            </if>
+            and e.SHOW_FLAG = 0
+            AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})
+        </where>
+        group by u.USER_CODE
+        order by u.VIP_FLAG desc
+    </select>
+
+    <!-- 人才筛选数量 -->
+    <select id="filterPersonAbilityCount" resultType="java.lang.Integer">
+        SELECT
+        count(DISTINCT u.USER_CODE)
+        FROM mde_user u
+        LEFT JOIN mde_work_experience e ON e.USER_CODE = u.USER_CODE
+        LEFT JOIN mde_education_experience ee ON ee.USER_CODE = u.USER_CODE
+        LEFT JOIN mde_interested_adds intadd ON intadd.USER_CODE = u.USER_CODE
+        <where>
+            u.DEL_FLAG = 0
+            AND e.DEL_FLAG = 0
+            AND u.WORK_STATUS != 0
+            AND u.IDENTITY_FLAG = 0
+            and u.ALLOW_FLAG = 0
+            <if test="positionIdList != null">
+                AND e.POSITION_TITLE IN (
+                SELECT a.POSITION_NAME
+                FROM mde_position_another_name a
+                WHERE a.del_flag=0 AND a.POSITION_ID in
+                <foreach collection="positionIdList" item="positionId" separator="," open="(" close=")">
+                    #{positionId}
+                </foreach>
+                )
+            </if>
+            <if test="provinceId != null and provinceId != ''">
+                AND intadd.INTD_PROVINCE = #{provinceId}
+            </if>
+            <if test="cityId != null and cityId != ''">
+                AND intadd.INTD_CITY = #{cityId}
+            </if>
+            <if test="brandIdList != null">
+                AND u.HOTEL_BRAND in
+                <foreach collection="brandIdList" item="brandId" separator="," open="(" close=")">
+                    #{brandId}
+                </foreach>
+            </if>
+            <if test="workExperience != null and workExperience != ''">
+                <![CDATA[
 					AND u.FIRST_WORK >= #{from}  AND u.FIRST_WORK <= #{to}
 				]]>
-			</if>
-			<if test="eduExperience != null and eduExperience != ''">
-			 	<![CDATA[  
+            </if>
+            <if test="eduExperience != null and eduExperience != ''">
+                <![CDATA[
 					AND ee.EDUCATION <= #{eduExperience}
-				]]> 
-			</if>
-			and e.SHOW_FLAG = 0
-			AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})
-		</where>
-		<!-- SELECT count(DISTINCT(t.userCode))
-		FROM mde_work_experience p
-		INNER JOIN (
-			SELECT 
-				u.USER_CODE AS userCode,
-				e.CO_NAME AS coName,
-				e.POSITION_TITLE AS positionTitle,
-				u.EXPERIENCE AS experience,
-				u.HOTEL_BRAND_STR AS brandStr,
-				u.HEAD_PORTRAIT AS headImage,
-				u.name as name
-			FROM
-				mde_user u
-			LEFT JOIN mde_work_experience e ON u.USER_CODE = e.USER_CODE
-			WHERE
-				u.DEL_FLAG = 0
-				AND e.DEL_FLAG = 0
-				AND u.WORK_STATUS != 0
-				AND u.IDENTITY_FLAG = 0
-				<if test="positionIdList != null">
-					AND e.POSITION_TITLE IN (
-						SELECT a.POSITION_NAME 
-						FROM mde_position_another_name a
-						WHERE a.del_flag=0 AND a.POSITION_ID in
-						<foreach collection="positionIdList" item="positionId" separator="," open="(" close=")">
-							#{positionId}
-						</foreach>
-					)
-				</if>
-				<if test="provinceId != null and provinceId != ''">
-					AND u.ADDR_PROVINCE = #{provinceId}
-				</if>
-				<if test="cityId != null and cityId != ''">
-					AND u.ADDR_CITY = #{cityId}
-				</if>
-			 	<if test="brandIdList != null">
-					AND u.HOTEL_BRAND in
-					<foreach collection="brandIdList" item="brandId" separator="," open="(" close=")">
-					 	#{brandId}
-					</foreach>
-			 	</if>
-				<if test="workExperience != null and workExperience != ''">
-				 	<choose>
-						<when test="workExperience == 1">
-							AND u.EXPERIENCE &gt;= 1  AND u.EXPERIENCE &lt;= 3
-						</when>
-						<when test="workExperience == 3">
-							AND u.EXPERIENCE &gt;= 3 and u.EXPERIENCE &lt;= 5
-						</when>
-						<when test="workExperience == 5">
-							AND u.EXPERIENCE &gt;= 5 and u.EXPERIENCE &lt;= 10
-						</when>
-						<when test="workExperience == 10">
-							AND u.EXPERIENCE &gt;= 10
-						</when>
-					</choose>
-				</if>
-		 	GROUP BY u.USER_CODE 
-		 ) t ON p.USER_CODE = t.userCode
-		<where>
-			p.SHOW_FLAG = 0
-			AND p.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})
-		</where> -->
-	</select>
-	<!-- 用户简历下载    用户简历附件为空时  调用 -->
-	<select id="exportUserCvDoc" resultMap="MdeUser">
-		SELECT
-			a.name,
-			a.user_name as userName,
-			CAST(IFNULL(a.experience,0) as SIGNED)  AS experience,
-			a.email as email,
-			concat(c.name,d.name) as address,
-			a.birthday AS birthday,
-			a.head_portrait as headPortrait
-		FROM mde_user a
-		left join sys_area c on c.code=a.addr_province 
-		left join sys_area d on d.code=a.addr_city 
-		where a.user_code=#{userCode} and a.del_flag=0
-	</select>
-	<!-- 推荐酒店  (大于50)-->
-	<select id="getRecommentHotelsJoinRand" resultMap="MdeUser">
-						SELECT 
-							t1.USER_CODE,
-							t1.HEAD_PORTRAIT,
-							t1.`NAME`,
-							t1.HOTEL_BRAND_STR,
-							t1.ADDR_PROVINCE,
-							t1.ADDR_CITY,
-							t1.addr_area
-			 from (
-						SELECT 
-							u.USER_CODE,
-							u.HEAD_PORTRAIT,
-							u.`NAME`,
-							u.HOTEL_BRAND_STR,
-							u.ADDR_PROVINCE,
-							u.ADDR_CITY,
-							u.addr_area
-			FROM mde_user u where 
-			 u.DEL_FLAG = 0
-			AND u.IDENTITY_FLAG = 1 
-			AND u.VIP_FLAG !=0
-			) AS t1
-			 JOIN (SELECT ROUND(RAND() * (
-			(SELECT MAX(USER_CODE) FROM mde_user)-(SELECT MIN(USER_CODE) FROM mde_user))+(SELECT MIN(USER_CODE) FROM mde_user)) AS USER_CODE) AS t2
-			WHERE t1.USER_CODE &gt;= t2.USER_CODE 
-			ORDER BY t1.USER_CODE 
-			LIMIT #{limitSize};
-	</select>
-	<!-- 酒店推荐  小于50 -->
-	 <select id="getRecommentHotelsRand" resultMap="MdeUser">
-			SELECT
-				u.USER_CODE,
-				u.`NAME`,
-				u.foreign_name,
-				u.PREPARE_FLAG,
-				u.identity_flag,
-				u.HOTEL_BRAND_STR,
-				u.HEAD_PORTRAIT,
-				u.ADDR_PROVINCE,
-				u.ADDR_CITY,
-				u.addr_area
-			FROM
-				mde_user u
-			WHERE
-				u.DEL_FLAG = 0
-			AND u.VIP_FLAG != 0
-			AND u.IDENTITY_FLAG = 1
-			ORDER BY
-				RAND()
-			LIMIT #{limitSize}
-	 </select>
-	<!-- 相似酒店的数量 -->
-	<select id="getRecommentHotelsCount" resultType = "java.lang.Integer">
-			SELECT
-				count(1)
-			FROM
-				mde_user u
-			WHERE
-				u.DEL_FLAG = 0
-			AND u.VIP_FLAG != 0
-			AND u.IDENTITY_FLAG = 1
-			AND u.user_code > 0
-	</select>
-	<!-- 相似酒店酒店 -->
-	<select id="getSimilarHotel" resultMap="MdeUser">
-			SELECT 
-							t1.USER_CODE,
-							t1.HEAD_PORTRAIT,
-							t1.`NAME`,
-							t1.HOTEL_BRAND_STR,
-							t1.ADDR_PROVINCE,
-							t1.ADDR_CITY,
-							t1.addr_area
-			 from (
-						SELECT 
-							u.USER_CODE,
-							u.HEAD_PORTRAIT,
-							u.`NAME`,
-							u.HOTEL_BRAND_STR,
-							u.ADDR_PROVINCE,
-							u.ADDR_CITY,
-							u.addr_area
-			FROM mde_user u where 
-			 u.DEL_FLAG = 0
-			AND u.IDENTITY_FLAG = 1 
-			AND u.VIP_FLAG !=0
-			) AS t1
-			 JOIN (SELECT ROUND(RAND() * (
-			(SELECT MAX(USER_CODE) FROM mde_user)-(SELECT MIN(USER_CODE) FROM mde_user))+(SELECT MIN(USER_CODE) FROM mde_user)) AS USER_CODE) AS t2
-			WHERE t1.USER_CODE &gt;= t2.USER_CODE 
-			ORDER BY t1.USER_CODE 
-			LIMIT #{limitSize}
-	</select>
-	
-	<!-- 推荐人才 -->
-	<select id="getRecommentPeople" resultMap="MdeUser">
-			SELECT
-			<include refid="mdeUserColumns" />
-			FROM
-			mde_user a,
-			mde_work_experience b
-		WHERE
-			a.USER_CODE = b.USER_CODE
-		AND b.SHOW_FLAG = 0
-		AND a.DEL_FLAG = 0
-		AND a.IDENTITY_FLAG = 0
-		AND a.VIP_FLAG != 0
-		AND a.ALLOW_FLAG = 0
-		and a.user_code LIKE CONCAT( '%', ( SELECT FLOOR( RAND( ) * 10 ) ), '%' ) 
-		order by RAND() 
-		LIMIT #{limitSize}
-	</select>
-	<update id="updateLikeOrShareList">
-		UPDATE mde_user SET 
-		<if test="likeList !=null" > like_list = 
-			CASE find_in_set( #{likeList}, IFNULL( like_list, "" ) ) 
-				WHEN 0 THEN concat( IFNULL( like_list, "" ), #{likeList}, "," ) 
-				ELSE REPLACE ( IFNULL( like_list, "" ), concat( #{likeList}, "," ), "" ) 
-			END ,
-		</if>
-		<if test="shareList !=null" > share_list =  
-			CASE find_in_set( #{shareList}, IFNULL( share_list, "" ) ) 
-				WHEN 0 THEN concat( IFNULL( share_list, "" ), #{shareList}, "," ) 
-				ELSE share_list 
-			END ,
-		</if>
-		<!-- <if test="likeList !=null and likeList != ''" > 
-			like_list = #{likeList} 
-		</if>
-		<if test="shareList !=null and shareList != ''" > 
-			share_list = #{shareList}
-		</if> -->
-		version_no = version_no+1
-		WHERE user_code = #{userCode} <if test="versionNo !=null" > and version_no = #{versionNo} </if>
-	</update>
-	
-	<!-- 查询邀请人数 -->
-	<select id="getInvitationNum" resultType="com.wechat.model.dto.InvitationNumDto">
-		SELECT
-			max(totail) as totail,
-			max(qualityNum) as qualityNum,
-			max(exchangeQuality) as exchangeQuality,
-			max(exchangeNormal) as exchangeNormal
-		FROM
-			(
-				( SELECT count( 1 ) AS totail, 0 AS qualityNum, 0 AS exchangeQuality, 0 AS exchangeNormal FROM mde_user WHERE inviter = #{inviter} and IDENTITY_FLAG='0' and DEL_FLAG='0' ) 
-				UNION All
-				(
-				SELECT
-					0 AS totail,
-					count( USER_CODE ) AS qualityNum,
-					0 AS exchangeQuality,
-					0 AS exchangeNormal 
-				FROM
-					(
-					SELECT
-						a.USER_CODE 
-					FROM
-						mde_user a
-						INNER JOIN mde_work_experience b ON a.USER_CODE = b.USER_CODE
-						LEFT JOIN mde_position_another_name c ON c.POSITION_NAME = b.POSITION_TITLE 
-					WHERE
-						a.inviter = #{inviter} 
-						AND c.POSITION_NAME IS NOT NULL 
+				]]>
+            </if>
+            and e.SHOW_FLAG = 0
+            AND e.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})
+        </where>
+        <!-- SELECT count(DISTINCT(t.userCode))
+        FROM mde_work_experience p
+        INNER JOIN (
+            SELECT
+                u.USER_CODE AS userCode,
+                e.CO_NAME AS coName,
+                e.POSITION_TITLE AS positionTitle,
+                u.EXPERIENCE AS experience,
+                u.HOTEL_BRAND_STR AS brandStr,
+                u.HEAD_PORTRAIT AS headImage,
+                u.name as name
+            FROM
+                mde_user u
+            LEFT JOIN mde_work_experience e ON u.USER_CODE = e.USER_CODE
+            WHERE
+                u.DEL_FLAG = 0
+                AND e.DEL_FLAG = 0
+                AND u.WORK_STATUS != 0
+                AND u.IDENTITY_FLAG = 0
+                <if test="positionIdList != null">
+                    AND e.POSITION_TITLE IN (
+                        SELECT a.POSITION_NAME
+                        FROM mde_position_another_name a
+                        WHERE a.del_flag=0 AND a.POSITION_ID in
+                        <foreach collection="positionIdList" item="positionId" separator="," open="(" close=")">
+                            #{positionId}
+                        </foreach>
+                    )
+                </if>
+                <if test="provinceId != null and provinceId != ''">
+                    AND u.ADDR_PROVINCE = #{provinceId}
+                </if>
+                <if test="cityId != null and cityId != ''">
+                    AND u.ADDR_CITY = #{cityId}
+                </if>
+                 <if test="brandIdList != null">
+                    AND u.HOTEL_BRAND in
+                    <foreach collection="brandIdList" item="brandId" separator="," open="(" close=")">
+                         #{brandId}
+                    </foreach>
+                 </if>
+                <if test="workExperience != null and workExperience != ''">
+                     <choose>
+                        <when test="workExperience == 1">
+                            AND u.EXPERIENCE &gt;= 1  AND u.EXPERIENCE &lt;= 3
+                        </when>
+                        <when test="workExperience == 3">
+                            AND u.EXPERIENCE &gt;= 3 and u.EXPERIENCE &lt;= 5
+                        </when>
+                        <when test="workExperience == 5">
+                            AND u.EXPERIENCE &gt;= 5 and u.EXPERIENCE &lt;= 10
+                        </when>
+                        <when test="workExperience == 10">
+                            AND u.EXPERIENCE &gt;= 10
+                        </when>
+                    </choose>
+                </if>
+             GROUP BY u.USER_CODE
+         ) t ON p.USER_CODE = t.userCode
+        <where>
+            p.SHOW_FLAG = 0
+            AND p.CO_NAME &lt;&gt; (SELECT `NAME` FROM mde_user WHERE USER_CODE = #{publisher})
+        </where> -->
+    </select>
+    <!-- 用户简历下载    用户简历附件为空时  调用 -->
+    <select id="exportUserCvDoc" resultMap="MdeUser">
+        SELECT a.name,
+               a.user_name                             as userName,
+               CAST(IFNULL(a.experience, 0) as SIGNED) AS experience,
+               a.email                                 as email,
+               concat(c.name, d.name)                  as address,
+               a.birthday                              AS birthday,
+               a.head_portrait                         as headPortrait
+        FROM mde_user a
+                 left join sys_area c on c.code = a.addr_province
+                 left join sys_area d on d.code = a.addr_city
+        where a.user_code = #{userCode}
+          and a.del_flag = 0
+    </select>
+    <!-- 推荐酒店  (大于50)-->
+    <select id="getRecommentHotelsJoinRand" resultMap="MdeUser">
+        SELECT t1.USER_CODE,
+               t1.HEAD_PORTRAIT,
+               t1.`NAME`,
+               t1.HOTEL_BRAND_STR,
+               t1.ADDR_PROVINCE,
+               t1.ADDR_CITY,
+               t1.addr_area
+        from (SELECT u.USER_CODE,
+                     u.HEAD_PORTRAIT,
+                     u.`NAME`,
+                     u.HOTEL_BRAND_STR,
+                     u.ADDR_PROVINCE,
+                     u.ADDR_CITY,
+                     u.addr_area
+              FROM mde_user u
+              where u.DEL_FLAG = 0
+                AND u.IDENTITY_FLAG = 1
+                AND u.VIP_FLAG != 0) AS t1
+                 JOIN (SELECT ROUND(RAND() * (
+                (SELECT MAX(USER_CODE) FROM mde_user) - (SELECT MIN(USER_CODE) FROM mde_user)) +
+                                    (SELECT MIN(USER_CODE) FROM mde_user)) AS USER_CODE) AS t2
+        WHERE t1.USER_CODE &gt;= t2.USER_CODE
+        ORDER BY t1.USER_CODE
+        LIMIT #{limitSize};
+    </select>
+    <!-- 酒店推荐  小于50 -->
+    <select id="getRecommentHotelsRand" resultMap="MdeUser">
+        SELECT u.USER_CODE,
+               u.`NAME`,
+               u.foreign_name,
+               u.PREPARE_FLAG,
+               u.identity_flag,
+               u.HOTEL_BRAND_STR,
+               u.HEAD_PORTRAIT,
+               u.ADDR_PROVINCE,
+               u.ADDR_CITY,
+               u.addr_area
+        FROM mde_user u
+        WHERE u.DEL_FLAG = 0
+          AND u.VIP_FLAG != 0
+          AND u.IDENTITY_FLAG = 1
+        ORDER BY RAND()
+        LIMIT #{limitSize}
+    </select>
+    <!-- 相似酒店的数量 -->
+    <select id="getRecommentHotelsCount" resultType="java.lang.Integer">
+        SELECT count(1)
+        FROM mde_user u
+        WHERE u.DEL_FLAG = 0
+          AND u.VIP_FLAG != 0
+          AND u.IDENTITY_FLAG = 1
+          AND u.user_code > 0
+    </select>
+    <!-- 相似酒店酒店 -->
+    <select id="getSimilarHotel" resultMap="MdeUser">
+        SELECT t1.USER_CODE,
+               t1.HEAD_PORTRAIT,
+               t1.`NAME`,
+               t1.HOTEL_BRAND_STR,
+               t1.ADDR_PROVINCE,
+               t1.ADDR_CITY,
+               t1.addr_area
+        from (SELECT u.USER_CODE,
+                     u.HEAD_PORTRAIT,
+                     u.`NAME`,
+                     u.HOTEL_BRAND_STR,
+                     u.ADDR_PROVINCE,
+                     u.ADDR_CITY,
+                     u.addr_area
+              FROM mde_user u
+              where u.DEL_FLAG = 0
+                AND u.IDENTITY_FLAG = 1
+                AND u.VIP_FLAG != 0) AS t1
+                 JOIN (SELECT ROUND(RAND() * (
+                (SELECT MAX(USER_CODE) FROM mde_user) - (SELECT MIN(USER_CODE) FROM mde_user)) +
+                                    (SELECT MIN(USER_CODE) FROM mde_user)) AS USER_CODE) AS t2
+        WHERE t1.USER_CODE &gt;= t2.USER_CODE
+        ORDER BY t1.USER_CODE
+        LIMIT #{limitSize}
+    </select>
+
+    <!-- 推荐人才 -->
+    <select id="getRecommentPeople" resultMap="MdeUser">
+        SELECT
+        <include refid="mdeUserColumns"/>
+        FROM
+        mde_user a,
+        mde_work_experience b
+        WHERE
+        a.USER_CODE = b.USER_CODE
+        AND b.SHOW_FLAG = 0
+        AND a.DEL_FLAG = 0
+        AND a.IDENTITY_FLAG = 0
+        AND a.VIP_FLAG != 0
+        AND a.ALLOW_FLAG = 0
+        and a.user_code LIKE CONCAT( '%', ( SELECT FLOOR( RAND( ) * 10 ) ), '%' )
+        order by RAND()
+        LIMIT #{limitSize}
+    </select>
+    <update id="updateLikeOrShareList">
+        UPDATE mde_user SET
+        <if test="likeList !=null">
+            like_list =
+            CASE find_in_set( #{likeList}, IFNULL( like_list, "" ) )
+            WHEN 0 THEN concat( IFNULL( like_list, "" ), #{likeList}, "," )
+            ELSE REPLACE ( IFNULL( like_list, "" ), concat( #{likeList}, "," ), "" )
+            END ,
+        </if>
+        <if test="shareList !=null">
+            share_list =
+            CASE find_in_set( #{shareList}, IFNULL( share_list, "" ) )
+            WHEN 0 THEN concat( IFNULL( share_list, "" ), #{shareList}, "," )
+            ELSE share_list
+            END ,
+        </if>
+        <!-- <if test="likeList !=null and likeList != ''" >
+            like_list = #{likeList}
+        </if>
+        <if test="shareList !=null and shareList != ''" >
+            share_list = #{shareList}
+        </if> -->
+        version_no = version_no+1
+        WHERE user_code = #{userCode}
+        <if test="versionNo !=null">
+            and version_no = #{versionNo}
+        </if>
+    </update>
+
+    <!-- 查询邀请人数 -->
+    <select id="getInvitationNum" resultType="com.wechat.model.dto.InvitationNumDto">
+        SELECT max(totail)          as totail,
+               max(qualityNum)      as qualityNum,
+               max(exchangeQuality) as exchangeQuality,
+               max(exchangeNormal)  as exchangeNormal
+        FROM ((SELECT count(1) AS totail, 0 AS qualityNum, 0 AS exchangeQuality, 0 AS exchangeNormal
+               FROM mde_user
+               WHERE inviter = #{inviter}
+                 and IDENTITY_FLAG = '0'
+                 and DEL_FLAG = '0')
+              UNION All
+              (SELECT 0                AS totail,
+                      count(USER_CODE) AS qualityNum,
+                      0                AS exchangeQuality,
+                      0                AS exchangeNormal
+               FROM (SELECT a.USER_CODE
+                     FROM mde_user a
+                              INNER JOIN mde_work_experience b ON a.USER_CODE = b.USER_CODE
+                              LEFT JOIN mde_position_another_name c ON c.POSITION_NAME = b.POSITION_TITLE
+                     WHERE a.inviter = #{inviter}
+                       AND c.POSITION_NAME IS NOT NULL
 						<![CDATA[ AND c.POSITION_GRADE < 5 ]]> 
-						and a.DEL_FLAG='0'
-						and b.DEL_FLAG='0'
-						and c.DEL_FLAG='0'
-					GROUP BY
-						a.USER_CODE 
-					) m 
-				) UNION All
-				(
-				SELECT
-					0 AS totail,
-					0 AS qualityNum,
-					sum( CASE `STATUS` WHEN '1' THEN EXCHANGE_QUALITY WHEN '2' THEN ACTUAL_QUALITY ELSE 0 END ) AS exchangeQuality,
-					sum( CASE `STATUS` WHEN '1' THEN EXCHANGE_NORMAL WHEN '2' THEN ACTUAL_NORMAL ELSE 0 END ) AS exchangeNormal 
-				FROM
-					MDE_EXCHANGE_HIS 
-				WHERE
-					USER_CODE = #{userCode} 
-					and DEL_FLAG='0'
+						and a.DEL_FLAG = '0'
+                       and b.DEL_FLAG = '0'
+                       and c.DEL_FLAG = '0'
+                     GROUP BY a.USER_CODE) m)
+              UNION All
+              (SELECT 0                                                                                         AS totail,
+                      0                                                                                         AS qualityNum,
+                      sum(CASE `STATUS`
+                              WHEN '1' THEN EXCHANGE_QUALITY
+                              WHEN '2' THEN ACTUAL_QUALITY
+                              ELSE 0 END)                                                                       AS exchangeQuality,
+                      sum(CASE `STATUS`
+                              WHEN '1' THEN EXCHANGE_NORMAL
+                              WHEN '2' THEN ACTUAL_NORMAL
+                              ELSE 0 END)                                                                       AS exchangeNormal
+               FROM MDE_EXCHANGE_HIS
+               WHERE USER_CODE = #{userCode}
+                 and DEL_FLAG = '0'
 				<![CDATA[ and STATUS != 9 ]]> 
-					and ACT_ID=#{actId} 
-				) 
-			) unionTb
-	</select>
-	
-	<!-- 查询受邀详情 -->
-	<select id="getBeInvitedDtl" resultType="com.wechat.model.dto.BeInvitedDtlDto">
-		SELECT
-			a.USER_NAME as userName,
-			a.`NAME` as name,
-			a.CREATE_DATE as createDate,
-			IFNULL(min(c.POSITION_GRADE),10) as positionGrade
-		FROM
-			mde_user a
-			LEFT JOIN mde_work_experience b ON a.USER_CODE = b.USER_CODE AND b.DEL_FLAG = '0' 
-			LEFT JOIN mde_position_another_name c ON c.POSITION_NAME = b.POSITION_TITLE AND c.DEL_FLAG = '0' 
-		WHERE
-			a.inviter = #{inviter} 
-			AND a.DEL_FLAG = '0' 
-		GROUP BY
-			a.USER_CODE
-	</select>
-	
+					and ACT_ID = #{actId})) unionTb
+    </select>
+
+    <!-- 查询受邀详情 -->
+    <select id="getBeInvitedDtl" resultType="com.wechat.model.dto.BeInvitedDtlDto">
+        SELECT a.USER_NAME                       as userName,
+               a.`NAME`                          as name,
+               a.CREATE_DATE                     as createDate,
+               IFNULL(min(c.POSITION_GRADE), 10) as positionGrade
+        FROM mde_user a
+                 LEFT JOIN mde_work_experience b ON a.USER_CODE = b.USER_CODE AND b.DEL_FLAG = '0'
+                 LEFT JOIN mde_position_another_name c ON c.POSITION_NAME = b.POSITION_TITLE AND c.DEL_FLAG = '0'
+        WHERE a.inviter = #{inviter}
+          AND a.DEL_FLAG = '0'
+        GROUP BY a.USER_CODE
+    </select>
+
+
+    <select id="getUserAndIsFriend" resultType="com.wechat.model.dto.UserAndIsFriendDto">
+        SELECT
+        a.user_code AS "userCode",
+        a.name AS "name",
+        a.foreign_name AS "foreignName",
+        a.head_portrait AS "headPortrait",
+        a.email AS "email",
+        a.addr_province AS "addrProvince",
+        a.addr_city AS "addrCity",
+        a.addr_area AS "addrArea",
+        a.INTRODUCTION as introduction,
+        a.phone_code AS "phoneCode",
+        a.identity_flag AS "identityFlag",
+        a.image AS "image",
+        a.vip_flag AS "vipFlag",
+        a.birthday AS "birthday",
+        TIMESTAMPDIFF( YEAR, a.FIRST_WORK, CURDATE( ) ) AS experience,
+        a.first_work as "firstWork",
+        a.add_detail AS "addDetail",
+        a.PREPARE_FLAG as prepareFlag,
+        a.PREPARE_YEAR as prepareYear,
+        a.PREPARE_QUARTER as prepareQuarter,
+        a.add_longitude AS "addLongitude",
+        a.add_latitude AS "addLatitude",
+        a.website AS "website",
+        a.create_date AS "createDate",
+        <choose>
+            <when test="beViewed != null and beViewed != theSearch">
+                case when rel.TO_BE_CONFIRMED is null then 0
+                when rel.TO_BE_CONFIRMED is not null and rel.CONFIRM_TIME is not null then 1
+                when rel.TO_BE_CONFIRMED = #{theSearch} and rel.CONFIRM_TIME is null then 2
+                when rel.TO_BE_CONFIRMED = #{beViewed} and rel.CONFIRM_TIME is null then 3
+                end as isFriend
+            </when>
+            <otherwise>
+                9 as isFriend
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="lang != null and lang == 'en'.toString()">
+                ,concat(c.name_en,d.name_en) as 'address'
+            </when>
+            <otherwise>
+                ,concat(c.name,d.name) as 'address'
+            </otherwise>
+        </choose>
+        ,b.position_title as "positionTitle"
+        ,b.co_name as "coName"
+        FROM
+        mde_user a
+        <include refid="mdeUserJoins"/>
+        left join sys_area c on c.code=a.addr_province
+        left join sys_area d on d.code=a.addr_city
+        <if test="beViewed != null and beViewed != theSearch">
+            left join mde_friend_relation rel
+            on rel.del_flag = 0
+            AND (( rel.USER_ID_1 = #{theSearch} AND rel.USER_ID_2 = a.user_code )
+            OR ( rel.USER_ID_1 = a.user_code AND rel.USER_ID_2 = #{theSearch} ) )
+        </if>
+        WHERE a.user_code = #{beViewed} and a.del_flag=0
+    </select>
+
+    <!-- 优选人才推荐-分页 -->
+    <select id="getPagingRecommentTalent" resultType="com.wechat.model.dto.TalentRetrievalDto">
+        SELECT usrs.USER_CODE                                  as userCode,
+               usrs.NAME                                       as name,
+               usrs.VIP_FLAG                                   as vipFlag,
+               usrs.IDENTITY_FLAG                              as identityFlag,
+               usrs.HEAD_PORTRAIT                              as headImage,
+               base.CO_NAME                                    as coName,
+               base.POSITION_TITLE                             as positionTitle,
+               TIMESTAMPDIFF(YEAR, usrs.FIRST_WORK, CURDATE()) AS experience,
+               min(ee.EDUCATION)                               as education
+        FROM (SELECT DISTINCT we.USER_CODE,
+                              we.CO_NAME,
+                              we.POSITION_TITLE,
+                              b.POSITION_GRADE,
+                              a.WORK_EXPERIENCE
+              FROM MDE_JOB_ADVERTISED a
+                       INNER JOIN mde_position_another_name b ON a.POSITION_ID = b.POSITION_ID
+                       INNER JOIN mde_work_experience we ON we.POSITION_TITLE = b.POSITION_NAME
+              WHERE a.PUBLISHER = #{userCode}
+                AND a.JOB_STATUS = '0'
+                AND a.DEL_FLAG = '0'
+                AND we.SHOW_FLAG = '0'
+                AND we.DEL_FLAG = '0') base
+                 INNER JOIN mde_user usrs ON usrs.USER_CODE = base.USER_CODE
+                 LEFT JOIN mde_education_experience ee ON ee.USER_CODE = usrs.USER_CODE
+        WHERE usrs.ALLOW_FLAG = '0'
+          AND usrs.WORK_STATUS != '0'
+        GROUP BY usrs.USER_CODE
+        ORDER BY usrs.VIP_FLAG DESC,
+                 IFNULL(YEAR(usrs.FIRST_WORK), '2199'),
+                 ISNULL(ee.EDUCATION),
+                 ee.EDUCATION
+    </select>
 
-	<select id="getUserAndIsFriend" resultType="com.wechat.model.dto.UserAndIsFriendDto">
-		SELECT
-			a.user_code AS "userCode",
-			a.name AS "name",
-			a.foreign_name AS "foreignName",
-			a.head_portrait AS "headPortrait",
-			a.email AS "email",
-			a.addr_province AS "addrProvince",
-			a.addr_city AS "addrCity",
-			a.addr_area AS "addrArea",
-			a.INTRODUCTION as introduction,
-			a.phone_code AS "phoneCode",
-			a.identity_flag AS "identityFlag",
-			a.image AS "image",
-			a.vip_flag AS "vipFlag",
-			a.birthday AS "birthday",
-			TIMESTAMPDIFF( YEAR, a.FIRST_WORK, CURDATE( ) ) AS experience,
-			a.first_work as "firstWork",
-			a.add_detail AS "addDetail",
-			a.PREPARE_FLAG as prepareFlag, 
-			a.PREPARE_YEAR as prepareYear, 
-			a.PREPARE_QUARTER as prepareQuarter, 
-			a.add_longitude AS "addLongitude",
-			a.add_latitude AS "addLatitude",
-			a.website AS "website",
-			a.create_date AS "createDate",
-			<choose>
-				<when test="beViewed != null and beViewed != theSearch">
-					case when rel.TO_BE_CONFIRMED is null  then 0
-				    	 when rel.TO_BE_CONFIRMED is not null and rel.CONFIRM_TIME is not null then 1 
-						 when rel.TO_BE_CONFIRMED = #{theSearch} and rel.CONFIRM_TIME is null then 2 
-						 when rel.TO_BE_CONFIRMED = #{beViewed} and rel.CONFIRM_TIME is null then 3 
-					 end as isFriend
-				</when>
-				<otherwise>
-					9 as isFriend
-				</otherwise>
-			</choose>
-			<choose>
-				<when test="lang != null and lang == 'en'.toString()">
-					,concat(c.name_en,d.name_en) as 'address'
-				</when>
-				<otherwise>
-					,concat(c.name,d.name) as 'address'
-				</otherwise>
-			</choose>
-			,b.position_title as "positionTitle"
-			,b.co_name as "coName"
-		FROM
-			mde_user a
-			<include refid="mdeUserJoins" />
-			left join sys_area c on c.code=a.addr_province 
-			left join sys_area d on d.code=a.addr_city 
-			<if test="beViewed != null and beViewed != theSearch">		
-			left join mde_friend_relation rel 
-				on rel.del_flag = 0 
-					AND (( rel.USER_ID_1 = #{theSearch} AND rel.USER_ID_2 = a.user_code ) 
-						OR ( rel.USER_ID_1 = a.user_code AND rel.USER_ID_2 = #{theSearch} ) )
-			</if>
-		WHERE a.user_code = #{beViewed} and a.del_flag=0
-	</select>
-	
-	<!-- 优选人才推荐-分页 -->
-	<select id="getPagingRecommentTalent" resultType="com.wechat.model.dto.TalentRetrievalDto">
-		SELECT
-			usrs.USER_CODE       as userCode,
-			usrs.NAME            as name,
-			usrs.VIP_FLAG        as vipFlag,
-			usrs.IDENTITY_FLAG   as identityFlag,
-			usrs.HEAD_PORTRAIT   as headImage,
-			base.CO_NAME         as coName,
-			base.POSITION_TITLE  as positionTitle,
-			TIMESTAMPDIFF( YEAR, usrs.FIRST_WORK, CURDATE( ) ) AS experience,
-			min( ee.EDUCATION )  as education
-		FROM
-			(
-			SELECT DISTINCT
-				we.USER_CODE,
-				we.CO_NAME,
-				we.POSITION_TITLE,
-				b.POSITION_GRADE,
-				a.WORK_EXPERIENCE 
-			FROM
-				MDE_JOB_ADVERTISED a
-				INNER JOIN mde_position_another_name b ON a.POSITION_ID = b.POSITION_ID
-				INNER JOIN mde_work_experience we ON we.POSITION_TITLE = b.POSITION_NAME 
-			WHERE
-				a.PUBLISHER = #{userCode} 
-				AND a.JOB_STATUS = '0' 
-				AND a.DEL_FLAG = '0' 
-				AND we.SHOW_FLAG = '0' 
-				AND we.DEL_FLAG = '0' 
-			) base
-			INNER JOIN mde_user usrs ON usrs.USER_CODE = base.USER_CODE
-			LEFT JOIN mde_education_experience ee ON ee.USER_CODE = usrs.USER_CODE 
-		WHERE
-			usrs.ALLOW_FLAG = '0' 
-			AND usrs.WORK_STATUS != '0' 
-		GROUP BY
-			usrs.USER_CODE 
-		ORDER BY
-			usrs.VIP_FLAG DESC,
-			IFNULL( YEAR ( usrs.FIRST_WORK ), '2199' ),
-			ISNULL( ee.EDUCATION ),
-			ee.EDUCATION
-	</select>
-	
-	<select id="getPagingRecommentTalentCount" resultType = "java.lang.Integer">
-		SELECT
-			count(1)
-		FROM
-			(
-			SELECT DISTINCT
-				we.USER_CODE
-			FROM
-				MDE_JOB_ADVERTISED a
-				INNER JOIN mde_position_another_name b ON a.POSITION_ID = b.POSITION_ID
-				INNER JOIN mde_work_experience we ON we.POSITION_TITLE = b.POSITION_NAME 
-			WHERE
-				a.PUBLISHER = #{userCode}
-				AND a.JOB_STATUS = '0' 
-				AND a.DEL_FLAG = '0' 
-				AND we.SHOW_FLAG = '0' 
-				AND we.DEL_FLAG = '0' 
-			) base
-			INNER JOIN mde_user usrs ON usrs.USER_CODE = base.USER_CODE
-		WHERE
-			usrs.ALLOW_FLAG = '0' 
-			AND usrs.WORK_STATUS != '0' 
-	</select>
-	
-	<update id="modifySubscribedFlag">
-		UPDATE mde_user SET
-			SUBSCRIBED_FLAG = #{subscribedFlag},
-			update_by = #{updateBy},                
-			update_date = #{updateDate},               
-			version_no = version_no+1
-		WHERE user_code = #{userCode}
-		  and SUBSCRIBED_FLAG != #{subscribedFlag}
-		<if test="versionNo != null">
-			and version_no = #{versionNo}
-		</if>
-	</update>
-		
-	<update id="uploadBgImages">
-		UPDATE mde_user SET
-		<if test = "topBackgroundPc != null and topBackgroundPc != ''">
-			TOP_BACKGROUND_PC = #{topBackgroundPc},
-		</if>
-		<if test = "topBackgroundMbl != null and topBackgroundMbl != ''">
-			TOP_BACKGROUND_MBL = #{topBackgroundMbl},
-		</if>
-		<if test = "portraitBackgroundPc != null and portraitBackgroundPc != ''">
-			PORTRAIT_BACKGROUND_PC = #{portraitBackgroundPc},
-		</if>
-		<if test = "portraitBackgroundMbl != null and portraitBackgroundMbl != ''">
-			PORTRAIT_BACKGROUND_MBL = #{portraitBackgroundMbl},
-		</if>
-			update_by = #{updateBy},                
-			update_date = #{updateDate},               
-			version_no = version_no+1
-		WHERE user_code = #{userCode}
-	</update>
-	
-	<update id="deleteBgImages">
-		UPDATE mde_user SET
-		
-			update_by = #{updateBy},                
-			update_date = #{updateDate},               
-			version_no = version_no+1
-		WHERE user_code = #{userCode}
-	</update>
-	
+    <select id="getPagingRecommentTalentCount" resultType="java.lang.Integer">
+        SELECT count(1)
+        FROM (SELECT DISTINCT we.USER_CODE
+              FROM MDE_JOB_ADVERTISED a
+                       INNER JOIN mde_position_another_name b ON a.POSITION_ID = b.POSITION_ID
+                       INNER JOIN mde_work_experience we ON we.POSITION_TITLE = b.POSITION_NAME
+              WHERE a.PUBLISHER = #{userCode}
+                AND a.JOB_STATUS = '0'
+                AND a.DEL_FLAG = '0'
+                AND we.SHOW_FLAG = '0'
+                AND we.DEL_FLAG = '0') base
+                 INNER JOIN mde_user usrs ON usrs.USER_CODE = base.USER_CODE
+        WHERE usrs.ALLOW_FLAG = '0'
+          AND usrs.WORK_STATUS != '0'
+    </select>
+
+    <update id="modifySubscribedFlag">
+        UPDATE mde_user SET
+        SUBSCRIBED_FLAG = #{subscribedFlag},
+        update_by = #{updateBy},
+        update_date = #{updateDate},
+        version_no = version_no+1
+        WHERE user_code = #{userCode}
+        and SUBSCRIBED_FLAG != #{subscribedFlag}
+        <if test="versionNo != null">
+            and version_no = #{versionNo}
+        </if>
+    </update>
+
+    <update id="uploadBgImages">
+        UPDATE mde_user SET
+        <if test="topBackgroundPc != null and topBackgroundPc != ''">
+            TOP_BACKGROUND_PC = #{topBackgroundPc},
+        </if>
+        <if test="topBackgroundMbl != null and topBackgroundMbl != ''">
+            TOP_BACKGROUND_MBL = #{topBackgroundMbl},
+        </if>
+        <if test="portraitBackgroundPc != null and portraitBackgroundPc != ''">
+            PORTRAIT_BACKGROUND_PC = #{portraitBackgroundPc},
+        </if>
+        <if test="portraitBackgroundMbl != null and portraitBackgroundMbl != ''">
+            PORTRAIT_BACKGROUND_MBL = #{portraitBackgroundMbl},
+        </if>
+        update_by = #{updateBy},
+        update_date = #{updateDate},
+        version_no = version_no+1
+        WHERE user_code = #{userCode}
+    </update>
+
+    <update id="deleteBgImages">
+        UPDATE mde_user
+        SET update_by   = #{updateBy},
+            update_date = #{updateDate},
+            version_no  = version_no + 1
+        WHERE user_code = #{userCode}
+    </update>
 </mapper>

+ 1 - 0
src/main/resources/redis.test.properties

@@ -1,6 +1,7 @@
 redis.pool.maxIdle=200   
 redis.pool.testOnBorrow=true
 redis.ip=192.168.3.180
+#redis.ip=172.17.16.6
 #redis.password=mde@sxsy_2018
 redis.port=6379
 redis.database=1