From 2366d2ada9e67f915a06b51b3c5be08a00847f0c Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 22 一月 2019 10:47:06 +0800
Subject: [PATCH] 用户邀请码激活

---
 fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserInfoExtraMapper.java       |    7 
 fanli/src/main/java/com/yeshi/fanli/dao/mybatis/UserInfoMapper.java                 |    9 
 fanli/src/main/java/com/yeshi/fanli/mapping/user/UserInfoExtraMapper.xml            |   29 ++
 fanli/src/main/java/com/yeshi/fanli/service/inter/hongbao/ThreeSaleSerivce.java     |   16 +
 fanli/src/main/java/com/yeshi/fanli/vo/user/UserInfoExtraVO.java                    |   14 
 fanli/src/main/java/com/yeshi/fanli/controller/client/InviteGetMoneyController.java |  219 +++++++++++++++++++
 fanli/src/main/java/com/yeshi/fanli/aspect/H5SignValidateAspect.java                |    3 
 fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java       |   42 +++
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java      |   11 +
 fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoService.java         |    9 
 fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ThreeSaleMapper.java                |   20 +
 fanli/src/main/java/com/yeshi/fanli/entity/bus/user/UserInfoExtra.java              |   12 +
 fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoExtraService.java    |   24 ++
 fanli/src/main/java/com/yeshi/fanli/mapping/ThreeSaleMapper.xml                     |   14 +
 fanli/src/main/java/com/yeshi/fanli/mapping/UserInfoMapper.xml                      |    8 
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java |  116 +++++++++
 fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java                      |   13 +
 fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java  |   39 +++
 18 files changed, 572 insertions(+), 33 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/aspect/H5SignValidateAspect.java b/fanli/src/main/java/com/yeshi/fanli/aspect/H5SignValidateAspect.java
index c1cf1c2..cd7d8f4 100644
--- a/fanli/src/main/java/com/yeshi/fanli/aspect/H5SignValidateAspect.java
+++ b/fanli/src/main/java/com/yeshi/fanli/aspect/H5SignValidateAspect.java
@@ -13,6 +13,7 @@
 
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.Signature;
+import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.springframework.stereotype.Component;
@@ -35,7 +36,7 @@
 
 	public static String KEY = "thisWarning";
 
-	// @Around(EDP)
+	@Around(EDP)
 	public Object appH5Around(ProceedingJoinPoint joinPoint) throws IOException {
 
 		ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/InviteGetMoneyController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/InviteGetMoneyController.java
index 8cb3109..ab3f298 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/InviteGetMoneyController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/InviteGetMoneyController.java
@@ -3,6 +3,8 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 
 import javax.annotation.Resource;
@@ -15,20 +17,26 @@
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.admin.InviteGetMoney;
 import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
+import com.yeshi.fanli.entity.bus.user.ThreeSale;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
 import com.yeshi.fanli.entity.system.System;
 import com.yeshi.fanli.entity.system.SystemClientParams;
 import com.yeshi.fanli.exception.NotExistObjectException;
 import com.yeshi.fanli.exception.banner.SwiperPictureException;
+import com.yeshi.fanli.exception.user.UserInfoExtraException;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.config.InviteGetMoneyService;
 import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
-import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
 import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
-import com.yeshi.fanli.service.inter.user.QrCodeService;
+import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserRankingsService;
 import com.yeshi.fanli.tag.PageEntity;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.account.UserUtil;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -52,13 +60,7 @@
 	private SystemClientParamsService systemClientParamsService;
 
 	@Resource
-	private QrCodeService qrCodeService;
-
-	@Resource
 	private SpreadUserImgService spreadUserImgService;
-
-	@Resource
-	private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
 
 	@Resource
 	private UserRankingsService userRankingsService;
@@ -68,6 +70,16 @@
 
 	@Resource
 	private SwiperPictureService swiperPictureService;
+	
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+	
+	@Resource
+	private UserInfoService userInfoService;
+	
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+
 
 	@RequestMapping(value = "/inviteGetMoney", method = RequestMethod.POST)
 	public void everyDayTaskList(AcceptData acceptData, int pageIndex, PrintWriter out, String uid)
@@ -197,4 +209,195 @@
 		data.put("inviteRules", valueBr);
 		out.print(JsonUtil.loadTrue(0, JsonUtil.getSimpleGson().toJson(data), "鎴愬姛"));
 	}
+	
+	
+	/**
+	 * 閭�璇锋縺娲�-鐗瑰埆鎻愮ず璇�
+	 * @param callback
+	 * @param out
+	 */
+	@RequestMapping(value = "getActivationTip")
+	public void getActivationTip(AcceptData acceptData, String callback, PrintWriter out) {
+		try {
+			String tip = configService.get("invite_activation_tip");
+			if (tip == null || tip.trim().length() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鎻愰啋"));
+				return;
+			}
+			
+			JSONObject data = new JSONObject();
+			data.put("tip", tip);
+			
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+			
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 婵�娲婚個璇�
+	 * @param callback
+	 * @param uid  鐢ㄦ埛id
+	 * @param inviteCode 閭�璇峰槢
+	 * @param out
+	 */
+	@RequestMapping(value = "activationInvite")
+	public void activationInvite(AcceptData acceptData, String callback, Long uid, String inviteCode, PrintWriter out) {
+		try {
+			
+			if (uid == null || inviteCode == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
+				return;
+			}
+			
+			String newCode = userInfoExtraService.activateInviteCode(uid, inviteCode);
+			if (newCode == null || newCode.trim().length() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("婵�娲诲け璐�"));
+				return;
+			}
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("婵�娲绘垚鍔�"));
+			
+		} catch (UserInfoExtraException e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("婵�娲诲け璐�"));
+			e.printStackTrace();
+		}
+	}
+	
+	
+	/**
+	 * 鑾峰彇閭�璇风爜
+	 * @param callback
+	 * @param uid  鐢ㄦ埛id
+	 * @param out
+	 */
+	@RequestMapping(value = "getInviteCode")
+	public void getInviteCode(AcceptData acceptData, String callback, Long uid, PrintWriter out) {
+		try {
+			
+			if (uid == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
+				return;
+			}
+			
+			UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);	
+			if (userInfoExtra == null || userInfoExtra.getInviteCode() == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("閭�璇风爜涓嶅瓨鍦�"));
+				return;
+			}
+			String tip = configService.get("invite_activation_success_tip");
+			
+			JSONObject data = new JSONObject();
+			data.put("inviteCode", userInfoExtra.getInviteCode());
+			data.put("tip", tip);
+			
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+			
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鑾峰彇鏁版嵁澶辫触"));
+			e.printStackTrace();
+		} 
+	}
+	
+	/**
+	 * 鑾峰彇閭�璇风煭杩炴帴
+	 * @param callback
+	 * @param uid  鐢ㄦ埛id
+	 * @param out
+	 */
+	@RequestMapping(value = "getShortLink")
+	public void getShortLink(AcceptData acceptData, String callback, Long uid, PrintWriter out) {
+		try {
+			
+			if (uid == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
+				return;
+			}
+			
+			String shortLink = UserUtil.getInviteShortLink(uid);
+			
+			JSONObject data = new JSONObject();
+			data.put("shortLink", shortLink);
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢熸垚鐭繛鎺ュけ璐�"));
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * 鑾峰彇閭�璇风數璇濆彿鐮�
+	 * @param callback
+	 * @param uid  鐢ㄦ埛id
+	 * @param out
+	 */
+	@RequestMapping(value = "getUserPhone")
+	public void getUserPhone(AcceptData acceptData, String callback, Long uid, PrintWriter out) {
+		try {
+			
+			if (uid == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
+				return;
+			}
+			
+			UserInfo userInfo = userInfoService.selectByPKey(uid);
+			if (userInfo == null || userInfo.getPhone() == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛湭缁戝畾鐢佃瘽鍙风爜"));
+				return;
+			}
+			JSONObject data = new JSONObject();
+			data.put("phone", userInfo.getPhone());
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+			
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鑾峰彇鏁版嵁澶辫触"));
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * 鑾峰彇鐢ㄦ埛閭�璇蜂笂绾�
+	 * @param callback
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "getUserBoss")
+	public void getUserBoss(AcceptData acceptData, String callback, Long uid, PrintWriter out) {
+		if (uid == null) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
+			return;
+		}
+		
+		try {
+			ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
+			if (threeSale == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏃犱笂绾ч個璇蜂汉"));
+				return;
+			}
+			
+			
+			UserInfo boss = threeSale.getBoss();
+			if (boss == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓婄骇閭�璇蜂汉鑾峰彇澶辫触"));
+				return;
+			}
+
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
+			Long createTime = threeSale.getCreateTime();
+			Date inviteTime = new Date(createTime);
+			
+			JSONObject data = new JSONObject();
+			data.put("nickName", boss.getNickName());
+			data.put("portrait", boss.getPortrait());
+			data.put("inviteTime", sdf.format(inviteTime));
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+			
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鑾峰彇鏁版嵁澶辫触"));
+			e.printStackTrace();
+		}
+	}
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java
index d65b2e5..5b2d0c0 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java
@@ -2059,4 +2059,46 @@
 		}
 	}
 
+	
+	/**
+	 *  鑾峰彇绛夌骇淇℃伅
+	 * @param acceptData
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "getUserConfig", method = RequestMethod.POST)
+	public void getUserConfig(AcceptData acceptData, Long uid, PrintWriter out) {
+
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+		
+		try {
+			
+			String inviteCode = userInfoExtraService.getUserInviteCode(uid);
+			
+			JSONObject inviteData = new JSONObject();
+			if (inviteCode == null || inviteCode.trim().length() == 0) {
+				// 鏃犻個璇风爜
+				inviteData.put("content", "閭�璇锋縺娲�");
+				inviteData.put("link", configService.get("invite_activation_url"));
+			} else {
+				// 宸叉湁閭�璇风爜
+				inviteData.put("content", "閭�璇风爜");
+				inviteData.put("link", configService.get("invite_activation_success_url"));
+			}
+			
+			JSONObject data = new JSONObject();
+			data.put("invite", inviteData);
+			
+			out.print(JsonUtil.loadTrueResult(data));
+			
+		} catch (UserInfoExtraException e) {
+			out.print(JsonUtil.loadFalseResult(e.getMsg()));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
+			e.printStackTrace();
+		}
+	}
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ThreeSaleMapper.java b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ThreeSaleMapper.java
index 1af529b..79fa954 100644
--- a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ThreeSaleMapper.java
+++ b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/ThreeSaleMapper.java
@@ -185,4 +185,24 @@
 	 * @return
 	 */
 	List<ThreeSale> listByWorkerId(Long workerId);
+	
+	
+	/**
+	 * 鑾峰彇鎴愬姛閭�璇峰叧绯绘暟閲�
+	 * 
+	 * @param uid
+	 * @return
+	 */
+	int getSuccessRelationshipNum(@Param("uid") Long uid);
+	
+	
+	/**
+	 * 鏍规嵁閭�璇疯�匢D銆乥ossID鏌ヨ 鏈夋晥鍏崇郴
+	 * 
+	 * @param workerId
+	 * @return
+	 */
+	ThreeSale getRelationshipByBossIdAndWorkerId(@Param("bossId") Long bossId, @Param("workerId") Long workerId);
+	
+
 }
\ No newline at end of file
diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/UserInfoMapper.java b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/UserInfoMapper.java
index 35faa38..3bd6a64 100644
--- a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/UserInfoMapper.java
+++ b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/UserInfoMapper.java
@@ -158,4 +158,13 @@
 	Map<String, Object> getWeekHasOrder(@Param("channel")String channel, @Param("startTime")String startTime, 
 			@Param("endTime")String endTime, @Param("orderNum")Integer orderNum);
 	
+	
+	/**
+	 * 鏍规嵁鐢佃瘽鍙风爜銆侀個璇风爜鑾峰彇閭�璇风敤鎴�
+	 * @param phone
+	 * @param inviteCode
+	 * @return
+	 */
+	UserInfo getInfoByPhoneOrInviteCode(@Param("phone")String phone, @Param("inviteCode")String inviteCode);
+
 }
\ No newline at end of file
diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserInfoExtraMapper.java b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserInfoExtraMapper.java
index abe60a0..6642970 100644
--- a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserInfoExtraMapper.java
+++ b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/UserInfoExtraMapper.java
@@ -21,4 +21,11 @@
 	 */
 	UserInfoExtraVO getInfoExtraVOByUid(Long uid);
 	
+	
+	/**
+	 * 鏇存柊鐢ㄦ埛淇℃伅鏍规嵁Uid
+	 * @param userInfoExtra
+	 */
+	void updateInfoExtraByUid(UserInfoExtra userInfoExtra);
+	
 }
\ No newline at end of file
diff --git a/fanli/src/main/java/com/yeshi/fanli/entity/bus/user/UserInfoExtra.java b/fanli/src/main/java/com/yeshi/fanli/entity/bus/user/UserInfoExtra.java
index 2e3eb36..5f9d59f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/entity/bus/user/UserInfoExtra.java
+++ b/fanli/src/main/java/com/yeshi/fanli/entity/bus/user/UserInfoExtra.java
@@ -40,6 +40,10 @@
 	@Expose
 	@Column(name = "uie_rank_update_time")
 	private Date rankUpdateTime;
+	
+	// 閭�璇风爜
+	@Column(name = "uie_invite_code")
+	private String inviteCode;
 
 	// 鍒涘缓鏃堕棿
 	@Column(name = "uie_create_time")
@@ -112,5 +116,13 @@
 	public void setRankOrderNum(Integer rankOrderNum) {
 		this.rankOrderNum = rankOrderNum;
 	}
+
+	public String getInviteCode() {
+		return inviteCode;
+	}
+
+	public void setInviteCode(String inviteCode) {
+		this.inviteCode = inviteCode;
+	}
 	
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/ThreeSaleMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/ThreeSaleMapper.xml
index 337149d..7484a5c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/mapping/ThreeSaleMapper.xml
+++ b/fanli/src/main/java/com/yeshi/fanli/mapping/ThreeSaleMapper.xml
@@ -415,5 +415,17 @@
 			AND `expire` = 1  <!-- 澶辨晥 -->
 		</if>
 	</select>
-
+	
+	<select id="getSuccessRelationshipNum" resultType="java.lang.Integer">
+	  SELECT IFNULL (COUNT(*),0) FROM `yeshi_ec_threesale` t 
+	  WHERE t.`state` = 1 AND (t.`worker_id` =${uid} OR t.`boss_id` = ${uid})
+	</select>
+	
+	<select id="getRelationshipByBossIdAndWorkerId" resultMap="BaseResultMap">
+	  SELECT * FROM `yeshi_ec_threesale` t 
+	  WHERE  t.`boss_id` = ${bossId} AND t.`worker_id` = ${workerId}
+		 AND t.`state` = 0 AND (t.`expire` = 0  OR t.`expire`IS NULL)
+	  LIMIT 1
+	</select>
+	
 </mapper>
diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/UserInfoMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/UserInfoMapper.xml
index 999da2e..0a056ed 100644
--- a/fanli/src/main/java/com/yeshi/fanli/mapping/UserInfoMapper.xml
+++ b/fanli/src/main/java/com/yeshi/fanli/mapping/UserInfoMapper.xml
@@ -489,4 +489,12 @@
 			GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') 
 		ORDER BY u.`createtime`
 	</select>
+	
+	<select id="getInfoByPhoneOrInviteCode" resultMap="BaseResultMap">
+		SELECT * FROM yeshi_ec_user u 
+		LEFT JOIN yeshi_ec_user_info_extra uf ON uf.`uie_uid` = u.`id`
+		WHERE uf.`uie_invite_code` IS NOT NULL  
+			  AND (u.`phone` =#{phone} OR uf.`uie_invite_code` = #{inviteCode})
+		LIMIT 1
+	</select>
 </mapper>
diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserInfoExtraMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserInfoExtraMapper.xml
index a23a1b5..e1ce457 100644
--- a/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserInfoExtraMapper.xml
+++ b/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserInfoExtraMapper.xml
@@ -7,6 +7,7 @@
     <result column="uie_rank_source" property="rankSource" jdbcType="INTEGER"/>
     <result column="uie_rank_order_num" property="rankOrderNum" jdbcType="INTEGER"/>
     <result column="uie_rank_update_time" property="rankUpdateTime" jdbcType="TIMESTAMP"/>
+    <result column="uie_invite_code" property="inviteCode" jdbcType="VARCHAR"/>
     <result column="uie_create_time" property="createTime" jdbcType="TIMESTAMP"/>
     <result column="uie_update_time" property="updateTime" jdbcType="TIMESTAMP"/>
     
@@ -24,6 +25,7 @@
     <result column="uie_rank_source" property="rankSource" jdbcType="INTEGER"/>
     <result column="uie_rank_order_num" property="rankOrderNum" jdbcType="INTEGER"/>
     <result column="uie_rank_update_time" property="rankUpdateTime" jdbcType="TIMESTAMP"/>
+    <result column="uie_invite_code" property="inviteCode" jdbcType="VARCHAR"/>
     <result column="uie_create_time" property="createTime" jdbcType="TIMESTAMP"/>
     <result column="uie_update_time" property="updateTime" jdbcType="TIMESTAMP"/>
     
@@ -35,7 +37,7 @@
 	  	
   </resultMap>
   
-  <sql id="Base_Column_List">uie_id,uie_uid,uie_rank_id,uie_rank_source,uie_rank_order_num,uie_rank_update_time,uie_create_time,uie_update_time</sql>
+  <sql id="Base_Column_List">uie_id,uie_uid,uie_rank_id,uie_rank_source,uie_rank_order_num,uie_rank_update_time,uie_invite_code,uie_create_time,uie_update_time</sql>
  
   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">select
     <include refid="Base_Column_List"/>from yeshi_ec_user_info_extra where uie_id = #{id,jdbcType=BIGINT}
@@ -43,7 +45,7 @@
   
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_user_info_extra where uie_id = #{id,jdbcType=BIGINT}</delete>
   
-  <insert id="insert" parameterType="com.yeshi.fanli.entity.bus.user.UserInfoExtra" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_user_info_extra (uie_id,uie_uid,uie_rank_id,uie_rank_source,uie_rank_order_num,uie_rank_update_time,uie_create_time,uie_update_time) values (#{id,jdbcType=BIGINT},#{userInfo.id,jdbcType=BIGINT},#{userRank.id,jdbcType=BIGINT},#{rankSource,jdbcType=INTEGER},#{rankOrderNum,jdbcType=INTEGER},#{rankUpdateTime,jdbcType=TIMESTAMP},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP})</insert>
+  <insert id="insert" parameterType="com.yeshi.fanli.entity.bus.user.UserInfoExtra" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_user_info_extra (uie_id,uie_uid,uie_rank_id,uie_rank_source,uie_rank_order_num,uie_rank_update_time,uie_invite_code,uie_create_time,uie_update_time) values (#{id,jdbcType=BIGINT},#{userInfo.id,jdbcType=BIGINT},#{userRank.id,jdbcType=BIGINT},#{rankSource,jdbcType=INTEGER},#{rankOrderNum,jdbcType=INTEGER},#{rankUpdateTime,jdbcType=TIMESTAMP},#{inviteCode,jdbcType=VARCHAR},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP})</insert>
   
   <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.bus.user.UserInfoExtra" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_user_info_extra
     <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -53,6 +55,7 @@
       <if test="rankSource != null">uie_rank_source,</if>
       <if test="rankOrderNum != null">uie_rank_order_num,</if>
       <if test="rankUpdateTime != null">uie_rank_update_time,</if>
+      <if test="inviteCode != null">uie_invite_code,</if>
       <if test="createTime != null">uie_create_time,</if>
       <if test="updateTime != null">uie_update_time,</if>
     </trim>values
@@ -63,11 +66,12 @@
       <if test="rankSource != null">#{rankSource,jdbcType=INTEGER},</if>
       <if test="rankOrderNum != null">#{rankOrderNum,jdbcType=INTEGER},</if>
       <if test="rankUpdateTime != null">#{rankUpdateTime,jdbcType=TIMESTAMP},</if>
+      <if test="inviteCode != null">#{inviteCode,jdbcType=VARCHAR},</if>
       <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
       <if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if>
     </trim>
   </insert>
-  <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.bus.user.UserInfoExtra">update yeshi_ec_user_info_extra set uie_uid = #{userInfo.id,jdbcType=BIGINT},uie_rank_id = #{userRank.id,jdbcType=BIGINT},uie_rank_source = #{rankSource,jdbcType=INTEGER},uie_rank_order_num = #{rankOrderNum,jdbcType=INTEGER},uie_rank_update_time = #{rankUpdateTime,jdbcType=TIMESTAMP},uie_create_time = #{createTime,jdbcType=TIMESTAMP},uie_update_time = #{updateTime,jdbcType=TIMESTAMP} where uie_id = #{id,jdbcType=BIGINT}</update>
+  <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.bus.user.UserInfoExtra">update yeshi_ec_user_info_extra set uie_uid = #{userInfo.id,jdbcType=BIGINT},uie_rank_id = #{userRank.id,jdbcType=BIGINT},uie_rank_source = #{rankSource,jdbcType=INTEGER},uie_rank_order_num = #{rankOrderNum,jdbcType=INTEGER},uie_rank_update_time = #{rankUpdateTime,jdbcType=TIMESTAMP},uie_invite_code = #{inviteCode,jdbcType=VARCHAR},uie_create_time = #{createTime,jdbcType=TIMESTAMP},uie_update_time = #{updateTime,jdbcType=TIMESTAMP} where uie_id = #{id,jdbcType=BIGINT}</update>
   <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.bus.user.UserInfoExtra">update yeshi_ec_user_info_extra
     <set>
       <if test="userInfo != null">uie_uid=#{userInfo.id,jdbcType=BIGINT},</if>
@@ -75,14 +79,27 @@
       <if test="rankSource != null">uie_rank_source=#{rankSource,jdbcType=INTEGER},</if>
       <if test="rankOrderNum != null">uie_rank_order_num=#{rankOrderNum,jdbcType=INTEGER},</if>
       <if test="rankUpdateTime != null">uie_rank_update_time=#{rankUpdateTime,jdbcType=TIMESTAMP},</if>
+      <if test="inviteCode != null">uie_invite_code=#{inviteCode,jdbcType=VARCHAR},</if>
       <if test="createTime != null">uie_create_time=#{createTime,jdbcType=TIMESTAMP},</if>
       <if test="updateTime != null">uie_update_time=#{updateTime,jdbcType=TIMESTAMP},</if>
     </set> where uie_id = #{id,jdbcType=BIGINT}
   </update>
+  <update id="updateInfoExtraByUid" parameterType="com.yeshi.fanli.entity.bus.user.UserInfoExtra">
+  	update yeshi_ec_user_info_extra
+    <set>
+      <if test="userRank != null">uie_rank_id=#{userRank.id,jdbcType=BIGINT},</if>
+      <if test="rankSource != null">uie_rank_source=#{rankSource,jdbcType=INTEGER},</if>
+      <if test="rankOrderNum != null">uie_rank_order_num=#{rankOrderNum,jdbcType=INTEGER},</if>
+      <if test="rankUpdateTime != null">uie_rank_update_time=#{rankUpdateTime,jdbcType=TIMESTAMP},</if>
+      <if test="inviteCode != null">uie_invite_code=#{inviteCode,jdbcType=VARCHAR},</if>
+      <if test="createTime != null">uie_create_time=#{createTime,jdbcType=TIMESTAMP},</if>
+      <if test="updateTime != null">uie_update_time=#{updateTime,jdbcType=TIMESTAMP},</if>
+    </set> where uie_uid = #{userInfo.id,jdbcType=BIGINT}
+  </update>
+	
   
    <select id="getInfoExtraByUid" resultMap="BaseResultMap">
-		SELECT *
-		FROM yeshi_ec_user_info_extra
+		SELECT * FROM yeshi_ec_user_info_extra
 		WHERE uie_uid = #{uid}
    </select>
    
@@ -93,4 +110,6 @@
 		LEFT JOIN yeshi_ec_user_rank rk ON rk.`ur_id` = ue.`uie_rank_id`
 		WHERE u.id = #{uid}
 	</select>
+	
+ 
 </mapper>
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java
index ad2dd52..bd3ac09 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java
@@ -588,5 +588,44 @@
 	public List<ThreeSale> listByWorkerId(Long workerId) {
 		return threeSaleMapper.listByWorkerId(workerId);
 	}
+	
+	
+	@Override
+	public int getSuccessRelationshipNum(Long uid) {
+		return threeSaleMapper.getSuccessRelationshipNum(uid);
+	}
 
+	@Override
+	@Transactional
+	public void bindRelationshipByInviteCode(UserInfo invitee, UserInfo inviter) throws ThreeSaleException {
+		
+		if (invitee == null || inviter == null)
+			throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖");
+		
+		// 鑾峰彇鏈夋晥鐨勯個璇峰叧绯�
+		ThreeSale threeSale = 
+				threeSaleMapper.getRelationshipByBossIdAndWorkerId(inviter.getId(), invitee.getId());
+		
+		if (threeSale != null) {
+			// 鏈夋晥鍏崇郴--鐢熸晥
+			threeSale.setState(true);
+			threeSale.setExpire(ThreeSale.EXPIRE_NORMAL);
+			threeSale.setSucceedTime(java.lang.System.currentTimeMillis());
+			threeSale.setUpdateTime(java.lang.System.currentTimeMillis());
+			threeSaleMapper.updateByPrimaryKeySelective(threeSale);
+		} else {
+			// 鏂板缓绔嬬‘瀹氬叧绯�
+			threeSale = new ThreeSale();
+			threeSale.setBoss(inviter);
+			threeSale.setWorker(invitee);
+			threeSale.setState(true);
+			threeSale.setExpire(ThreeSale.EXPIRE_NORMAL);
+			threeSale.setSucceedTime(java.lang.System.currentTimeMillis());
+			threeSale.setCreateTime(java.lang.System.currentTimeMillis());
+			threeSale.setUpdateTime(java.lang.System.currentTimeMillis());
+			threeSaleMapper.insertSelective(threeSale);
+		}
+
+	}
+	
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java
index 6380155..faf6869 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java
@@ -17,12 +17,17 @@
 import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
 import com.yeshi.fanli.entity.bus.user.UserRank;
 import com.yeshi.fanli.entity.bus.user.UserRankRecord;
+import com.yeshi.fanli.exception.ThreeSaleException;
 import com.yeshi.fanli.exception.user.UserInfoExtraException;
+import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
 import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserRankService;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.account.UserUtil;
 import com.yeshi.fanli.vo.user.UserInfoExtraVO;
 
 
@@ -43,6 +48,13 @@
 
 	@Resource
 	private ConfigService configService;
+	
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+	
+	@Resource
+	private UserInfoService userInfoService;
+	
 
 	@Override
 	public UserInfoExtraVO getRankInfo(Long uid) throws UserInfoExtraException, Exception {
@@ -52,13 +64,9 @@
 			throw new UserInfoExtraException(1, "鐢ㄦ埛闄勫姞淇℃伅涓嶅瓨鍦�");
 		}
 
-		// 绛夌骇鍒楄〃
-		List<UserRank> listRank = userRankService.getAllRank();
-		if (listRank == null || listRank.size() == 0) {
-			throw new UserInfoExtraException(1, "绯荤粺绛夌骇涓嶅瓨鍦�");
-		}
-		extraVO.setListRank(listRank);
-
+		// 绛夌骇瀵圭収琛�
+		String contrast = configService.get("user_rank_contrast");
+		extraVO.setRankContrast(contrast);
 		// 鐗瑰埆鎻愰啋
 		String rankTip = configService.get("user_rank_tip");
 		extraVO.setRankTip(rankTip);
@@ -264,8 +272,98 @@
 			}
 
 		}
-
 		return userInfoExtra;
 	}
-
+	
+	@Override
+	public String activateInviteCode(Long uid, String inviteCode) throws UserInfoExtraException{
+		if (uid == null || inviteCode == null) {
+			throw new UserInfoExtraException(1, "鐢ㄦ埛id銆侀個璇风爜涓嶈兘涓虹┖");
+		}
+		
+		// 琚個璇蜂汉淇℃伅
+		UserInfo invitee = userInfoService.selectByPKey(uid);
+		if (invitee == null) {
+			throw new UserInfoExtraException(1, "鐢ㄦ埛涓嶅瓨鍦�");
+		}
+		
+		// 閭�璇蜂汉淇℃伅
+		UserInfo inviter = userInfoService.getInfoByPhoneOrInviteCode(inviteCode, inviteCode);
+		if (inviter == null) {
+			throw new UserInfoExtraException(1, "璇疯緭鍏ユ湁鏁堢殑閭�璇风爜");
+		}
+		
+		// 缁戝畾鍏崇郴
+		try {
+			threeSaleSerivce.bindRelationshipByInviteCode(invitee, inviter);
+		} catch (ThreeSaleException e) {
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
+			throw new UserInfoExtraException(1, "婵�娲诲け璐�");
+		}
+		
+		
+		// 閭�璇风爜鏈夋晥銆佺敓鎴愰個璇风爜
+		String code = UserUtil.getInviteCode(uid); 
+		if (code == null || code.trim().length() == 0) {
+			throw new UserInfoExtraException(1, "婵�娲荤爜鐢熸垚澶辫触");
+		}
+		
+		UserInfoExtra userInfoExtra = new UserInfoExtra();
+		userInfoExtra.setUserInfo(invitee);
+		userInfoExtra.setInviteCode(code);
+		
+		// 淇濆瓨棰濆淇℃伅
+		saveUserInfoExtra(userInfoExtra);
+		
+		
+		Long id = userInfoExtra.getId();
+		if (id == null) {
+			throw new UserInfoExtraException(1, "婵�娲荤爜鐢熸垚澶辫触");
+		}
+		
+		return code;
+	}
+	
+	@Override
+	public UserInfoExtra getUserInfoExtra(Long uid) {
+		return userInfoExtraMapper.getInfoExtraByUid(uid);
+	}
+	
+	@Override
+	public String getUserInviteCode(Long uid) throws UserInfoExtraException {
+		
+		UserInfoExtra userInfoExtra = userInfoExtraMapper.getInfoExtraByUid(uid);
+		if (userInfoExtra == null) {
+			userInfoExtra = new UserInfoExtra();
+		}
+		
+		// 閭�璇风爜
+		String inviteCode = userInfoExtra.getInviteCode();
+		
+		if (inviteCode == null || inviteCode.trim().length() == 0) {
+			// 鍒ゆ柇鐢ㄦ埛
+			int relationshipNum = threeSaleSerivce.getSuccessRelationshipNum(uid);
+			
+			if (relationshipNum > 0) {
+				// 閭�璇风爜鏈夋晥銆佺敓鎴愰個璇风爜
+				inviteCode = UserUtil.getInviteCode(uid); 
+				if (inviteCode == null || inviteCode.trim().length() == 0) {
+					throw new UserInfoExtraException(1, "婵�娲荤爜鐢熸垚澶辫触");
+				}
+				
+				// 淇濆瓨閭�璇风爜
+				userInfoExtra.setUserInfo(new UserInfo(uid));
+				userInfoExtra.setInviteCode(inviteCode);
+				// 淇濆瓨闄勫姞淇℃伅
+				saveUserInfoExtra(userInfoExtra);
+			}
+		}
+		
+		return inviteCode;
+	}
+	
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
index 33df29b..640d21b 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
@@ -812,4 +812,15 @@
 		return userInfoMapper.longTimeNoLogin(daysNum, list);
 	}
 
+	/**
+	 * 鏍规嵁鐢佃瘽鍙风爜銆侀個璇风爜鑾峰彇閭�璇风敤鎴�
+	 * @param phone
+	 * @param inviteCode
+	 * @return
+	 */
+	@Override
+	public UserInfo getInfoByPhoneOrInviteCode(String phone, String inviteCode) {
+		return userInfoMapper.getInfoByPhoneOrInviteCode(phone, inviteCode);
+	}
+	
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/hongbao/ThreeSaleSerivce.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/hongbao/ThreeSaleSerivce.java
index 712f8cb..dcf9194 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/inter/hongbao/ThreeSaleSerivce.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/hongbao/ThreeSaleSerivce.java
@@ -242,5 +242,21 @@
 	 * @return
 	 */
 	public List<ThreeSale> listByWorkerId(Long workerId);
+	
+	
+	/**
+	 * 鑾峰彇鎴愬姛閭�璇峰叧绯绘暟閲�
+	 * @param uid
+	 * @return
+	 */
+	public int getSuccessRelationshipNum(Long uid);
+
+	/**
+	 * 閭�璇风爜鐢熸垚涓婁笅绾у叧绯�
+	 * @param invitee
+	 * @param inviter
+	 * @throws ThreeSaleException
+	 */
+	public void bindRelationshipByInviteCode(UserInfo invitee, UserInfo inviter) throws ThreeSaleException;
 
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoExtraService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoExtraService.java
index fb6ef96..7b4e2ff 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoExtraService.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoExtraService.java
@@ -36,5 +36,29 @@
 	 * @throws UserInfoExtraException
 	 */
 	public UserInfoExtra updateRank(UserInfoExtra userInfoExtra) throws UserInfoExtraException;
+
+	/**
+	 * 鐢ㄦ埛婵�娲婚個璇风爜
+	 * @param uid
+	 * @param inviteCode
+	 * @return
+	 * @throws UserInfoExtraException
+	 */
+	public String activateInviteCode(Long uid, String inviteCode) throws UserInfoExtraException;
+
+	/**
+	 * 鑾峰彇鐢ㄦ埛闄勫姞淇℃伅
+	 * @param uid
+	 * @return
+	 */
+	public UserInfoExtra getUserInfoExtra(Long uid);
+
+	/**
+	 * 鑾峰彇鐢ㄦ埛閭�璇风爜
+	 * @param uid
+	 * @return
+	 * @throws UserInfoExtraException
+	 */
+	public String getUserInviteCode(Long uid) throws UserInfoExtraException;
 	
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoService.java
index 9893872..a6419fa 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoService.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoService.java
@@ -1,7 +1,6 @@
 package com.yeshi.fanli.service.inter.user;
 
 import java.math.BigDecimal;
-import java.net.ConnectException;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -148,4 +147,12 @@
 	 */
 	public List<Long> longTimeNoLogin(int daysNum, List<Long> list);
 
+	/**
+	 * 鏍规嵁鐢佃瘽鍙风爜銆侀個璇风爜鑾峰彇閭�璇风敤鎴�
+	 * @param phone
+	 * @param inviteCode
+	 * @return
+	 */
+	public UserInfo getInfoByPhoneOrInviteCode(String phone, String inviteCode);
+
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java
index 132d655..b14b280 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java
@@ -6,6 +6,7 @@
 import java.util.List;
 
 import org.apache.commons.beanutils.PropertyUtils;
+import org.yeshi.utils.HttpUtil;
 
 import com.yeshi.fanli.entity.bus.user.BindingAccount;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
@@ -67,7 +68,17 @@
 
 		return String.format(Constant.systemCommonConfig.getBaseUserRankIconUrl() + "/rank_picture_%s.png", rank + "");
 	}
-
+	
+	
+	public static String getInviteShortLink (Long uid) {
+		return HttpUtil.getShortLink("http://" + Constant.wxGZConfig.getLoginHost() + "/"
+				+ Constant.systemCommonConfig.getProjectName() + "/"
+				+ java.lang.System.currentTimeMillis()+
+				"/client/threeShareNew?uid=" + uid);
+	}
+	
+	
+	
 	public static String getInviteCode(Long uid) {
 
 		long num = 1000000000L + uid;
diff --git a/fanli/src/main/java/com/yeshi/fanli/vo/user/UserInfoExtraVO.java b/fanli/src/main/java/com/yeshi/fanli/vo/user/UserInfoExtraVO.java
index a8183a3..4169d5f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/vo/user/UserInfoExtraVO.java
+++ b/fanli/src/main/java/com/yeshi/fanli/vo/user/UserInfoExtraVO.java
@@ -5,16 +5,15 @@
 
 import com.google.gson.annotations.Expose;
 import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
-import com.yeshi.fanli.entity.bus.user.UserRank;
 
 public class UserInfoExtraVO extends UserInfoExtra implements Serializable {
 
 	private static final long serialVersionUID = 1L;
 
 	
-	// 绯荤粺绛夌骇鍒楄〃
+	// 绯荤粺绛夌骇鍒楄〃鍥剧墖
 	@Expose
-	private List<UserRank> listRank;
+	private String rankContrast;
 	// 绯荤粺鐗瑰埆鎻愰啋
 	@Expose
 	private String rankTip;
@@ -37,12 +36,13 @@
 		this.galaMsg = galaMsg;
 	}
 
-	public List<UserRank> getListRank() {
-		return listRank;
+
+	public String getRankContrast() {
+		return rankContrast;
 	}
 
-	public void setListRank(List<UserRank> listRank) {
-		this.listRank = listRank;
+	public void setRankContrast(String rankContrast) {
+		this.rankContrast = rankContrast;
 	}
 
 	public int getOrderNumSelf() {

--
Gitblit v1.8.0