Commit 69143bd1 authored by duandi's avatar duandi

复制赛事接口,增加后台插入geerunner用户的逻辑

parent cbbe79ee
......@@ -66,7 +66,7 @@ public interface TemplateMapper {
int getGeerunnerSeqVal(String seqName);
int getGeerunnerUserId(int userId);
Integer getGeerunnerUserId(int userId);
void copyGeerunnerCmptMain(Map<String, Object> gmap);
......@@ -148,8 +148,16 @@ public interface TemplateMapper {
void copyGkSiteGkRoadsGpsCheckpointMap(Map<String, Object> smap);
int getCommonNeuUserId(int userId);
Integer getCommonNeuUserId(int userId);
void copyCommonNeucmpt(Map<String, Object> cmap);
void copyRaceRegisterInfoToGeerunnerSysAdmin(Map<String, Object> cmap);
void insertToCommonNeuuser(Map<String, Object> cmap);
String getGeerunnerOrgId(int gkUserId);
void updateCommonNeuuser(Map<String, Object> cmap);
}
......@@ -165,13 +165,13 @@
</select>
<!--获取 geerunner 下的用户id -->
<select id="getGeerunnerUserId" resultType="int" parameterType="int">
<select id="getGeerunnerUserId" resultType="java.lang.Integer" parameterType="int">
select gtUserId from common.neuuser where gUserId = #{userId}
</select>
<!--复制 geerunner 下的表 cmpt_main -->
<insert id="copyGeerunnerCmptMain" parameterType="java.util.Map">
insert into geerunner.cmpt_main select uuid(), #{new_gk_cmptId}, cmpt_name, cmpt_name_en, org_id, type, cmpt_parent_type, cmpt_type, is_charity, donate_min, cmpt_city, cmpt_field, image_url, enroll_start, enroll_deadline, start_time, end_time, cmpt_status, show_index, cmpt_info, is_close, cmpt_single_seg, templated, is_hide_enroll_list, auto_sms, auto_mail, is_publish, is_need_timer, is_multilingual, rankSearchStyle, gpsLived, videoLived, cmpt_domain, cmpt_priority, isPublish, rankShow, is_open_pre_enroll, pre_enroll_status, score_notice, is_allow_duplicate, limit_count, album_address, timer_address, is_point_race, is_exit_query, is_exam, redirectUrlType, redirectUrlPath, jsCompanyType, isCertProfilePhoto, certification_type, common_cmpt_type, cmpt_option_group_value, remark1, del_flg, is_rinse, NOW(), #{gk_userId}, null, null, code from geerunner.cmpt_main where cmpt_id = #{cmpt_id}
insert into geerunner.cmpt_main select uuid(), #{new_gk_cmptId}, cmpt_name, cmpt_name_en, #{orgId}, type, cmpt_parent_type, cmpt_type, is_charity, donate_min, cmpt_city, cmpt_field, image_url, enroll_start, enroll_deadline, start_time, end_time, cmpt_status, show_index, cmpt_info, is_close, cmpt_single_seg, templated, is_hide_enroll_list, auto_sms, auto_mail, is_publish, is_need_timer, is_multilingual, rankSearchStyle, gpsLived, videoLived, cmpt_domain, cmpt_priority, isPublish, rankShow, is_open_pre_enroll, pre_enroll_status, score_notice, is_allow_duplicate, limit_count, album_address, timer_address, is_point_race, is_exit_query, is_exam, redirectUrlType, redirectUrlPath, jsCompanyType, isCertProfilePhoto, certification_type, common_cmpt_type, cmpt_option_group_value, remark1, del_flg, is_rinse, NOW(), #{gk_userId}, null, null, code, pay_deadline from geerunner.cmpt_main where cmpt_id = #{cmpt_id}
</insert>
<select id="queryGeerunnerCmptItemByCompId" resultType="java.util.Map" parameterType="int">
......@@ -392,7 +392,7 @@
</insert>
<!--获取 common 下的用户id -->
<select id="getCommonNeuUserId" resultType="int" parameterType="int">
<select id="getCommonNeuUserId" resultType="java.lang.Integer" parameterType="int">
select neuUserId from common.neuuser where gUserId = #{userId}
</select>
......@@ -400,4 +400,24 @@
<insert id="copyCommonNeucmpt" parameterType="java.util.Map">
insert into common.neucmpt select null, #{new_race_cmptId}, #{new_gk_cmptId}, #{neuUserId}, committeeNeuUserId, deleted from common.neucmpt where gCmptId = #{race_cmptId} and gtCmptId = #{gk_cmptId}
</insert>
<!--按 raceenroll.registerInfo 生成 geerunner.sys_admin 的账户 -->
<insert id="copyRaceRegisterInfoToGeerunnerSysAdmin" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "id" keyColumn = "id">
insert into geerunner.sys_admin select uuid(), null, r.unionId, r.callPhone, r.locName, #{org_id}, '123456', null, null, r.userId, r.password, null, null, null, null, '0', now(), null, null, null from raceenroll.registerInfo r where r.userId = #{userId}
</insert>
<!--同步 raceenroll.registerInfo 与 geerunner.sys_admin 的账户 -->
<insert id="insertToCommonNeuuser" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "neuUserId" keyColumn = "neuUserId">
insert into common.neuuser values( null, #{userId}, null, #{gk_userId}, null)
</insert>
<!--同步 raceenroll.registerInfo 与 geerunner.sys_admin 的账户 -->
<insert id="updateCommonNeuuser" parameterType="java.util.Map">
update common.neuuser set gtUserId= #{gk_userId} where gUserId = #{userId}
</insert>
<!--按id 获取 sys_admin 下的 org_id -->
<select id="getGeerunnerOrgId" resultType="java.lang.String" parameterType="int">
select org_id from geerunner.sys_admin where id = #{gk_userId}
</select>
</mapper>
\ No newline at end of file
......@@ -27,6 +27,9 @@ public class TemplateService {
*/
@Transactional
public int copyComp(int templateId, int userId) throws Exception {
boolean isNewGkUser = false;
// 按模板id查询gksite库下的赛事id
CmptTemplate cmptTemplate = templateMapper.queryTemplateById(templateId);
int gk_compId = cmptTemplate.getCmptId();
......@@ -36,9 +39,22 @@ public class TemplateService {
int race_cmptId = Integer.valueOf(neuCmpt.get("gCmptId").toString());
/****************************复制 geerunner 库的信息 开始****************************/
String orgId = null;
// 获取geerunner库的userId
int gk_userId = templateMapper.getGeerunnerUserId(userId);
Integer gk_userId = templateMapper.getGeerunnerUserId(userId);
if( gk_userId == null || gk_userId == -1 ) { // 如果获取不到组委会账户的ID,则需要创建一个组委会账户
isNewGkUser = true;
orgId = "1-3-"+ templateMapper.getGeerunnerSeqVal("ZDHW"); // TODO 不知道生成组织id的序列是哪一个?
Map<String, Object> pamp_user = new HashMap<>();
pamp_user.put("userId", userId);
pamp_user.put("org_id", orgId);
pamp_user.put("id", "");
templateMapper.copyRaceRegisterInfoToGeerunnerSysAdmin(pamp_user);
gk_userId = Integer.valueOf(pamp_user.get("id").toString());
} else {
orgId = templateMapper.getGeerunnerOrgId(gk_userId);
}
// 获取一个新的赛事id
int new_gk_cmptId = templateMapper.getGeerunnerSeqVal("CMPT_ID");
......@@ -47,6 +63,7 @@ public class TemplateService {
gmap.put("cmpt_id",gk_compId);
gmap.put("new_gk_cmptId",new_gk_cmptId);
gmap.put("gk_userId",gk_userId);
gmap.put("orgId",orgId);
templateMapper.copyGeerunnerCmptMain(gmap);
// 查询 cmpt_item 项目表
......@@ -470,7 +487,22 @@ public class TemplateService {
/****************************复制 common 库的信息 开始****************************/
// 复制 neucmpt
// 获取 neuUserId 东软赛客统一用户id
int neuUserId = templateMapper.getCommonNeuUserId(userId);
Integer neuUserId = templateMapper.getCommonNeuUserId(userId);
if(neuUserId == null) {
Map<String, Object> cmap_user = new HashMap<>();
cmap_user.put("userId", userId);
cmap_user.put("gk_userId", gk_userId);
cmap_user.put("neuUserId", "");
templateMapper.insertToCommonNeuuser(cmap_user);
neuUserId = Integer.valueOf(cmap_user.get("neuUserId").toString());
} else {
if(isNewGkUser) { // 更新账户关联关系
Map<String, Object> cmap_user = new HashMap<>();
cmap_user.put("userId", userId);
cmap_user.put("gk_userId", gk_userId);
templateMapper.updateCommonNeuuser(cmap_user);
}
}
Map<String, Object> cmap = new HashMap<>();
cmap.put("neuUserId",neuUserId);
cmap.put("race_cmptId",race_cmptId);
......
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