Commit c3d2b3f5 authored by chenlin's avatar chenlin

奥森小程序接口修改

parent 4d491caa
...@@ -23,4 +23,10 @@ public class RoadUser { ...@@ -23,4 +23,10 @@ public class RoadUser {
private int userMapId; // 报名Id private int userMapId; // 报名Id
private int gCmptId; // 官网赛事Id
private String headImgUrl; // 头像URL
private String markNo; // 号码牌
} }
...@@ -99,4 +99,18 @@ public interface CmptMapper { ...@@ -99,4 +99,18 @@ public interface CmptMapper {
GeexekUser getGeexekUserByUnionId(String unionId); GeexekUser getGeexekUserByUnionId(String unionId);
void updateGeerunnerCmptName(@Param("cmptId") Integer cmptId,@Param("cmptName") String cmptName); void updateGeerunnerCmptName(@Param("cmptId") Integer cmptId,@Param("cmptName") String cmptName);
/**
* 查询赛事自定义项
* @param map
* @return
*/
public List<UserDefined> getUserDefineds(Map<String, Object> map);
/**
* 查询赛事分配的号码牌map
* @param cmptId
* @return
*/
public List<Map<String, String>> getCmptMarkNos(@Param("cmptId") Integer cmptId);
} }
...@@ -2,6 +2,23 @@ ...@@ -2,6 +2,23 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptMapper"> <mapper namespace="com.dlbridge.jadp.plugins.cmpt.dao.mapper.CmptMapper">
<resultMap type="com.dlbridge.jadp.plugins.cmpt.bean.UserDefined" id="userDefinedMap">
<id property="id" column="id" />
<result property="userdefinedId" column="userdefinedId"></result>
<result property="cmptId" column="cmptId"></result>
<result property="roadId" column="roadId"></result>
<result property="roleId" column="roleId"></result>
<result property="name" column="name"></result>
<result property="isRequired" column="isRequired"></result>
<result property="definedType" column="definedType"></result>
<result property="definedContent" column="definedContent"></result>
<result property="dependOn" column="dependOn"></result>
<result property="hint" column="hint"></result>
<result property="optionType" column="optionType"></result>
<result property="isTeam" column="isTeam"></result>
<result property="sort" column="sort"></result>
</resultMap>
<select id="queryCmptBycmptId" resultType="Cmpt"> <select id="queryCmptBycmptId" resultType="Cmpt">
SELECT SELECT
cmpt_id cmptId, cmpt_id cmptId,
...@@ -336,11 +353,22 @@ ...@@ -336,11 +353,22 @@
</select> </select>
<select id="getEnrollUsersByPhone" resultType="com.dlbridge.jadp.plugins.cmpt.bean.RoadUser"> <select id="getEnrollUsersByPhone" resultType="com.dlbridge.jadp.plugins.cmpt.bean.RoadUser">
select b.userMapId userMapId select b.userMapId userMapId, b.cmptId gCmptId
from common.neucmpt a inner join raceenroll.competitionusermap b on a.gcmptid=b.cmptid from common.neucmpt a inner join raceenroll.competitionusermap b on a.gcmptid=b.cmptid
where a.gtcmptid = #{cmptId} and b.callPhone = #{callPhone} and isdelete=0 and enrollstatus=1 limit 1 where a.gtcmptid = #{cmptId} and b.callPhone = #{callPhone} and isdelete=0 and enrollstatus=1 limit 1
</select> </select>
<select id="getUserDefineds" parameterType="hashmap" resultMap="userDefinedMap" useCache="true">
select id,userdefinedId,cmptId,roadId,roleId,name,isRequired,definedType,definedContent,dependOn,hint,optionType
from raceenroll.userdefined
where roadId = #{roadId} and userdefinedId &gt;1000 order by userdefinedId
</select>
<select id="getCmptMarkNos" resultType="java.util.HashMap" useCache="true">
SELECT concat(a.userId,'') userId, a.markno markNo
FROM raceenroll.webc_markno a
WHERE a.cmptId=#{cmptId} AND a.del=0
</select>
<select id="queryMyCmpt" resultType="com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt"> <select id="queryMyCmpt" resultType="com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt">
select a.cmpt_id, select a.cmpt_id,
......
...@@ -13,6 +13,7 @@ import org.springframework.stereotype.Service; ...@@ -13,6 +13,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -274,4 +275,26 @@ public class CmptService { ...@@ -274,4 +275,26 @@ public class CmptService {
public List<Cmpt> queryMyCmptList(int userId) { public List<Cmpt> queryMyCmptList(int userId) {
return cmptMapper.queryMyCmptList(userId); return cmptMapper.queryMyCmptList(userId);
} }
/**
* 查询报名自定义项
* @param roadId
* @return
*/
public List<UserDefined> getUserDefineds(Integer roadId) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("roadId", roadId);
List<UserDefined> list = cmptMapper.getUserDefineds(map);
return list;
}
/**
* 查询赛事分配的号码牌map
* @param cmptId
* @return
*/
public List<Map<String, String>> getCmptMarkNos(Integer cmptId) {
List<Map<String, String>> map = cmptMapper.getCmptMarkNos(cmptId);
return map;
}
} }
...@@ -5,7 +5,10 @@ import com.alibaba.fastjson.JSONArray; ...@@ -5,7 +5,10 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.dlbridge.jadp.plugins.cmpt.bean.*; import com.dlbridge.jadp.plugins.cmpt.bean.*;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt; import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
...@@ -234,6 +237,7 @@ public class RemoteService { ...@@ -234,6 +237,7 @@ public class RemoteService {
} }
public List<RoadUser> getEnrollUsers(Integer cmptId, Integer userId) { public List<RoadUser> getEnrollUsers(Integer cmptId, Integer userId) {
// 根据计时系统的赛事ID查询关联的报名系统赛事ID
Integer cid = cmptSettingService.getCommonEnrollCmptId(Integer.valueOf(cmptId)); Integer cid = cmptSettingService.getCommonEnrollCmptId(Integer.valueOf(cmptId));
log.info("请求的路径:" + geexekURL + "enrollUser/queryEnrollInfo/" + cid + "/" + userId); log.info("请求的路径:" + geexekURL + "enrollUser/queryEnrollInfo/" + cid + "/" + userId);
if (cid == null) return null; if (cid == null) return null;
...@@ -247,6 +251,14 @@ public class RemoteService { ...@@ -247,6 +251,14 @@ public class RemoteService {
JSONArray result = object.getJSONArray("result"); JSONArray result = object.getJSONArray("result");
if (result.isEmpty()) return null; if (result.isEmpty()) return null;
// 查询赛事分配的号码牌map
Map<String,String> markNoMap = new HashMap<String,String>();
List<Map<String,String>> markNoList = cmptService.getCmptMarkNos(cid);
for (Map<String, String> map : markNoList) {
markNoMap.put(map.get("userId"), map.get("markNo"));
}
HashMap<Integer, String> userDefineMap = new HashMap<>();
for (int i = 0; i < result.size(); i++) { for (int i = 0; i < result.size(); i++) {
RoadUser user = new RoadUser(); RoadUser user = new RoadUser();
JSONObject o = (JSONObject) result.get(i); JSONObject o = (JSONObject) result.get(i);
...@@ -267,6 +279,45 @@ public class RemoteService { ...@@ -267,6 +279,45 @@ public class RemoteService {
user.setEnrollStatus(audiStatus); user.setEnrollStatus(audiStatus);
} }
} }
// 奥森小程序增加头像地址返回 by Linc 2021/09/24
String imgUrl = o.getString("cert");
log.info(imgUrl+":cert=== 奥森小程序增加头像地址返回===remark:"+o.getString("remark"));
// 如果cert字段里没有头像则再去解析自定义项中的头像
if(StringUtils.isBlank(imgUrl)){
String remark = o.getString("remark");
int roadId = o.getIntValue("roadId");
// 取报名系统报名表自定义项
if(userDefineMap.isEmpty()){
List<UserDefined> list = cmptService.getUserDefineds(roadId);
for(UserDefined customItem : list){
userDefineMap.put(customItem.getUserdefinedId(), customItem.getName());
}
}
// 解析自定义项内容
if(StringUtils.isNotBlank(remark)){
Gson itemGson = new Gson();
List<Remark> remarkList = itemGson.fromJson(remark, new TypeToken<List<Remark>>(){}.getType());
for(Remark remarkItem : remarkList){
String customName = userDefineMap.get(remarkItem.getId());
String value = remarkItem.getValue();
if("个人头像".equals(customName)){
// 取第一张作为个人头像
imgUrl = value.split(";")[0];
}
}
}
}
// 设置头像数据
user.setHeadImgUrl(imgUrl);
// 设置号码牌
String markNo = "";
if(markNoMap.containsKey(o.getString("userMapId"))){
markNo = markNoMap.get(o.getString("userMapId"));
}
user.setMarkNo(markNo);
users.add(user); users.add(user);
} }
return users; return users;
......
...@@ -138,4 +138,11 @@ public class ContextTest { ...@@ -138,4 +138,11 @@ public class ContextTest {
}); });
} }
@Test
public void testHeadImageSet(){
// List<Map<String, String>> list = cmptService.getCmptMarkNos(17246);
List<RoadUser> list = remoteService.getEnrollUsers(15594,2370968);
System.out.println(list.toString());
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment