albertshaw 8 yıl önce
ebeveyn
işleme
4487894cf6

+ 2 - 0
schema/20170920-member-rank-unique.sql

@@ -0,0 +1,2 @@
+ALTER TABLE `member_grade` 
+ADD UNIQUE INDEX `member_rank_UNIQUE` (`member_rank` ASC);

+ 34 - 32
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -1,61 +1,63 @@
 package com.goafanti.common.constant;
 
 public class AFTConstants {
-	public static final String	YYYYMMDDHHMMSS					= "yyyy-MM-dd HH:mm:ss";
+	public static final String	YYYYMMDDHHMMSS						= "yyyy-MM-dd HH:mm:ss";
 
-	public static final String	YYYYMMDD						= "yyyy-MM-dd";
+	public static final String	YYYYMMDD							= "yyyy-MM-dd";
 
-	public static final String	YYYY							= "yyyy";
+	public static final String	YYYY								= "yyyy";
 
-	public static final String	MMDD							= "MM-dd";
+	public static final String	MMDD								= "MM-dd";
 
-	public static final String	INITIALPASSWORD					= "123456";				// 初始密码
+	public static final String	INITIALPASSWORD						= "123456";				// 初始密码
 
-	public static final String	SUPERADMIN						= "999999";				// 超级管理员
+	public static final String	SUPERADMIN							= "999999";				// 超级管理员
 
-	public static final String	AREAADMIN						= "99999";				// 地区管理员
+	public static final String	AREAADMIN							= "99999";				// 地区管理员
 
-	public static final String	AUDITORADMIN					= "9999";				// 审核员
+	public static final String	AUDITORADMIN						= "9999";				// 审核员
 
-	public static final String	MANAGERADMIN					= "4";					// 客户经理
+	public static final String	MANAGERADMIN						= "4";					// 客户经理
 
-	public static final String	SALESMANAGERADMIN				= "5";					// 营销经理
+	public static final String	SALESMANAGERADMIN					= "5";					// 营销经理
 
-	public static final String	SALESMANADMIN					= "6";					// 营销员
+	public static final String	SALESMANADMIN						= "6";					// 营销员
 
-	public static final String	TECHBROKER						= "7";					// 技术经纪人
+	public static final String	TECHBROKER							= "7";					// 技术经纪人
 
-	public static final String	PATENTINFO						= "专利申请管理";
+	public static final String	PATENTINFO							= "专利申请管理";
 
-	public static final String	COGNIZANCE						= "高企认定管理";
+	public static final String	COGNIZANCE							= "高企认定管理";
 
-	public static final String	COPYRIGHT						= "软著申请管理";
+	public static final String	COPYRIGHT							= "软著申请管理";
 
-	public static final String	TECHPROJECT						= "科技项目申报管理";
+	public static final String	TECHPROJECT							= "科技项目申报管理";
 
-	public static final int		KEYWORDLENTH					= 16;
+	public static final int		KEYWORDLENTH						= 16;
 
-	public static final int		IMPORTMAXLENTH					= 1000;					// 科技需求&科技成果批量导入最大数据量
+	public static final int		IMPORTMAXLENTH						= 1000;					// 科技需求&科技成果批量导入最大数据量
 
-	public static final int		PROVINCEMAXNUM					= 99;
+	public static final int		PROVINCEMAXNUM						= 99;
 
-	public static final int		CITYMAXNUM						= 999;
+	public static final int		CITYMAXNUM							= 999;
 
-	public static final Integer	ACHIEVEMENT_DEMAND_INIT_COUNT	= 0;
+	public static final Integer	ACHIEVEMENT_DEMAND_INIT_COUNT		= 0;
 
-	public static final Integer	ACHIEVEMENT_DEMAND_FIRST_COUNT	= 1;
+	public static final Integer	ACHIEVEMENT_DEMAND_FIRST_COUNT		= 1;
 
-	public static final Integer	BIG_SHOT_STAR_CACHE_KEY			= 666;
+	public static final Integer	BIG_SHOT_STAR_CACHE_KEY				= 666;
 
-	public static final Integer	BIG_SHOT_LECTURE_CACHE_KEY		= 667;
+	public static final Integer	BIG_SHOT_LECTURE_CACHE_KEY			= 667;
 
-	public static final Integer	LECTURE_DYNAMIC_LIST_CACHE_KEY	= 668;
+	public static final Integer	LECTURE_DYNAMIC_LIST_CACHE_KEY		= 668;
 
-	public static final Integer	LECTURE_LIST_CACHE_KEY			= 669;
-	
-	public static final Integer INTERNATIONAL_ACHIEVEMENT_CACHE_KEY = 670;
-	
-	public static final Integer INTERNATIONAL_USER_CACHE_KEY    = 671;
-	
-	public static final Integer INTERNATIONAL_ORG_CACHE_KEY    = 672;
+	public static final Integer	LECTURE_LIST_CACHE_KEY				= 669;
+
+	public static final Integer	INTERNATIONAL_ACHIEVEMENT_CACHE_KEY	= 670;
+
+	public static final Integer	INTERNATIONAL_USER_CACHE_KEY		= 671;
+
+	public static final Integer	INTERNATIONAL_ORG_CACHE_KEY			= 672;
+
+	public static final String	YES									= "1";
 }

+ 2 - 3
src/main/java/com/goafanti/common/dao/MemberGradeMapper.java

@@ -30,7 +30,6 @@ public interface MemberGradeMapper {
 	int updateMemberOrder(Map<String, Object> map);
 
 	int delMemberOrder(Map<String, Object> map);
-
-	int updateUserLvl(Map<String, Object> map);
-
+	
+	String selectMemberBusiness(int memberRank);
 }

+ 6 - 5
src/main/java/com/goafanti/common/mapper/MemberGradeMapper.xml

@@ -128,6 +128,12 @@
 		member_order
 		WHERE  user_id=#{userId} and order_state &lt; 9
 	</select>
+	
+	<select id="selectMemberBusiness" parameterType="int"  resultType="java.lang.String">
+		SELECT business FROM
+		member_grade
+		WHERE  member_rank=#{memberRank}
+	</select>
 
 	<!-- 后台订单更改 -->
 	<update id="updateMemberOrder" parameterType="java.util.Map" >
@@ -149,9 +155,4 @@
 		<if test="uid!=null">AND user_id = #{uid}</if>
 	</update>
 
-	<!-- 更改用户会员等级 -->
-	<update id="updateUserLvl" parameterType="java.util.Map">
-		UPDATE user SET lvl=#{lvl}  WHERE id=#{userId}
-	</update>
-	
 </mapper>

+ 27 - 0
src/main/java/com/goafanti/memberGrade/controller/MemberGradeFrontController.java

@@ -5,20 +5,27 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.Assert;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.alibaba.fastjson.JSONObject;
 import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.controller.BaseApiController;
 import com.goafanti.common.enums.OrderState;
+import com.goafanti.common.enums.UserLevel;
 import com.goafanti.common.model.MemberOrder;
 import com.goafanti.common.model.User;
+import com.goafanti.common.model.UserIdentity;
 import com.goafanti.core.mybatis.JDBCIdGenerator;
 import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.memberGrade.bo.BusinessType;
 import com.goafanti.memberGrade.service.MemberGradeService;
+import com.goafanti.user.service.UserIdentityService;
 import com.goafanti.user.service.UserService;
 
 /**
@@ -35,6 +42,8 @@ public class MemberGradeFrontController extends BaseApiController {
 	@Autowired
 	private UserService			userService;
 	@Autowired
+	private UserIdentityService	userIdentityService;
+	@Autowired
 	private JDBCIdGenerator		jDBCIdGenerator;
 
 	/**
@@ -94,4 +103,22 @@ public class MemberGradeFrontController extends BaseApiController {
 		return res().data(memberGradeService.delMemberOrder(id));
 	}
 
+	/**
+	 * 获取专家联系手机
+	 */
+	@RequestMapping(value = "/contact", method = RequestMethod.GET)
+	public Result contact(String uid) {
+		User u = userService.selectByPrimaryKey(TokenManager.getUserId());
+		Assert.isTrue(u != null && u.getLvl() > UserLevel.CERTIFIED.getCode(), "必须是登录实名用户");
+		Assert.hasText(uid, "找不到专家");
+		JSONObject business = memberGradeService.selectMemberBusiness(u.getLvl());
+		Assert.isTrue(AFTConstants.YES.equals(business.get(BusinessType.CHA_KAN_LIAN_XI.getKey())), "该会员不能查看专家联系方式");
+		UserIdentity ui = userIdentityService.selectUserIdentityByUserId(uid);
+		if (ui != null && StringUtils.isNotBlank(ui.getContactMobile())) {
+			return res().data(ui.getContactMobile());
+		}
+		User expert = userService.selectByPrimaryKey(uid);
+		Assert.notNull(expert, "找不到专家");
+		return res().data(expert.getMobile());
+	}
 }

+ 7 - 8
src/main/java/com/goafanti/memberGrade/service/MemberGradeService.java

@@ -7,8 +7,9 @@ import java.util.Map;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.goafanti.common.dao.MemberGradeMapper;
-import com.goafanti.common.enums.OrderState;
 import com.goafanti.common.model.MemberOrder;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.memberGrade.bo.MemberGrade;
@@ -58,13 +59,6 @@ public class MemberGradeService {
 		return memberGradeMapper.countMemberOrderWhere(map);
 	}
 
-	public void updateMemberOrder(Map<String, Object> map, Map<String, Object> umap) {
-		if (OrderState.getStatus((Integer) map.get("orderState")) == OrderState.PAYED) {
-			memberGradeMapper.updateUserLvl(umap);
-		}
-		memberGradeMapper.updateMemberOrder(map);
-	}
-
 	public int delMemberOrder(Long id) {
 		Map<String, Object> map = new HashMap<>();
 		map.put("id", id);
@@ -74,4 +68,9 @@ public class MemberGradeService {
 		return memberGradeMapper.delMemberOrder(map);
 	}
 
+	public JSONObject selectMemberBusiness(int memberRank) {
+		String b = memberGradeMapper.selectMemberBusiness(memberRank);
+		return b == null ? null : JSON.parseObject(b);
+	}
+
 }