Commit 736dac99 authored by duandi's avatar duandi

添加按模板id复制赛事的功能

parent 90bf9e2c
...@@ -4,12 +4,15 @@ import com.dlbridge.jadp.plugins.cmpt.bean.CmptTemplate; ...@@ -4,12 +4,15 @@ import com.dlbridge.jadp.plugins.cmpt.bean.CmptTemplate;
import com.dlbridge.jadp.plugins.cmpt.service.TemplateService; import com.dlbridge.jadp.plugins.cmpt.service.TemplateService;
import com.neusoft.www.utils.web.Result; import com.neusoft.www.utils.web.Result;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
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.Optional; import java.util.Optional;
@Controller @Controller
...@@ -32,4 +35,23 @@ public class TemplateController { ...@@ -32,4 +35,23 @@ public class TemplateController {
return Mono.just(result); return Mono.just(result);
} }
@RequestMapping("/copy/{templateId}/{userId}")
@ResponseBody
public Map<String, Object> copyComp(@PathVariable("templateId") int templateId, @PathVariable("userId") int userId){
Map<String, Object> result = new HashMap<>();
result.put("code",200);
result.put("msg","成功");
result.put("content",null);
try{
int cmptId = templateService.copyComp(templateId,userId);
Map<String, Integer> cmptMap = new HashMap<>();
cmptMap.put("cmptId",cmptId);
result.put("content",cmptMap);
}catch (Exception e) {
e.printStackTrace();
result.put("code",-1);
result.put("msg","失败,后台错误");
}
return result;
}
} }
...@@ -4,9 +4,147 @@ package com.dlbridge.jadp.plugins.cmpt.dao.mapper; ...@@ -4,9 +4,147 @@ package com.dlbridge.jadp.plugins.cmpt.dao.mapper;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptTemplate; import com.dlbridge.jadp.plugins.cmpt.bean.CmptTemplate;
import java.util.List; import java.util.List;
import java.util.Map;
public interface TemplateMapper { public interface TemplateMapper {
List<CmptTemplate> queryAllTemplate(); List<CmptTemplate> queryAllTemplate();
CmptTemplate queryTemplateById(int templateId);
Map<String,Object> queryNeuCmptByGtCmptId(int gtCmptId);
void copyRaceCompetition(Map<String, Object> pmap);
void copyRaceCmptPartnerMap(Map<String, Object> pmap);
void copyRaceCompetitioncustom(Map<String, Object> pmap);
List<Map<String, Object>> queryRaceCompetitionroadmapByCompId(int cmptId);
void copyRaceCompetitionroadmap(Map<String, Object> pmap);
void copyRaceCompetitionroadrole(Map<String, Object> pmap);
List<Map<String, Object>> queryRaceDiscountByCompId(int cmptId);
void copyRaceDiscount(Map<String, Object> pmap);
void copyRaceDiscountItem(Map<String, Object> pmap);
void copyRaceDiscountRoadMap(Map<String, Object> pmap);
List<Map<String, Object>> queryRaceExtrapayByRoadId(int roadId);
void copyRaceExtrapay(Map<String, Object> pmap);
List<Map<String, Object>> queryRaceMarkNoRuleByCompId(int cmptId);
void copyRaceMarkNoRule(Map<String, Object> pmap);
void copyRaceMarkNoRuleItem(Map<String, Object> pmap);
void copyRacePayitem(Map<String, Object> pmap);
void copyRaceRoadExtrapayRelation(Map<String, Object> pmap);
List<Map<String, Object>> queryRaceroadchannelByCompIdAndDiscountId(int cmptId, int discountId);
void copyRaceRoadchannel(Map<String, Object> pmap);
void copyRaceRoadchannelitem(Map<String, Object> pmap);
List<Map<String, Object>> queryRaceUserdefinedRoadRelationByCompId(int cmptId);
void copyRaceUserdefinedRoadRelation(Map<String, Object> pmap);
void copyRaceUserDefinedCreate(Map<String, Object> pmap);
void copyRaceUserdefined(Map<String, Object> pmap);
int getGeerunnerSeqVal(String seqName);
int getGeerunnerUserId(int userId);
void copyGeerunnerCmptMain(Map<String, Object> gmap);
List<Map<String, Object>> queryGeerunnerCmptItemByCompId(int cmptId);
void copyGeerunnerCmptItem(Map<String, Object> gmap);
List<Map<String, Object>> queryGeerunnerCertificateByRoadId(int roadId);
void copyGeerunnerCertificate(Map<String, Object> gmap);
void copyGeerunnerCertificatesetinfo(Map<String, Object> gmap);
List<Map<String, Object>> queryGeerunnerCmptDiscountByCmptId(int cmptId);
void copyGeerunnerCmptDiscount(Map<String, Object> gmap);
void copyGeerunnerCmptDiscountMapping(Map<String, Object> gmap);
List<Map<String, Object>> queryGeerunnerCmptExtraChargeGroupIdByCmptId(int cmptId);
List<Map<String, Object>> queryGeerunnerCmptExtraChargeByCmptIdAndGroupId(int cmptId, int groupId);
void copyGeerunnerCmptExtraCharge(Map<String, Object> gmap);
void copyGeerunnerCmptMedal(Map<String, Object> gmap);
void copyGeerunnerCmptPaypal(Map<String, Object> gmap);
void copyGeerunnerCmptRichText(Map<String, Object> gmap);
void copyGeerunnerCmptUserdefine(Map<String, Object> gmap);
List<Map<String, Object>> queryGeerunnerGpsPathByCmptId(int cmptId);
void copyGeerunnerGpsPath(Map<String, Object> gmap);
void copyGeerunnerGpsPlacemark(Map<String, Object> gmap);
List<Map<String, Object>> queryGeerunnerTimeCheckpointByCmptId(int cmptId);
void copyGeerunnerTimeCheckpoint(Map<String, Object> gmap);
List<Map<String, Object>> queryGeerunnerTimeSegByRoadId(int roadId);
void copyGeerunnerTimeSeg(Map<String, Object> gmap);
List<Map<String, Object>> queryGeerunnerTimeRankingByRoldId(int roadId);
void copyGeerunnerTimeRanking(Map<String, Object> gmap);
void copyGeerunnertimeSegCheckpoint(Map<String, Object> gmap);
void copyGkSiteGkCmpt(Map<String, Object> smap);
List<Map<String, Object>> queryGksiteBannerByCmptId(int cmptId);
void copyGkSiteBanner(Map<String, Object> smap);
void copyGkSiteBannerStatistic(Map<String, Object> smap);
void copyGkSiteGkCmptFunc(Map<String, Object> smap);
void copyGkSiteGkCmptScoreCheckpoint(Map<String, Object> smap);
void copyGkSiteGkCmptScoreField(Map<String, Object> smap);
void copyGkSiteGkCmptScoreRank(Map<String, Object> smap);
void copyGkSiteGkCmptScoreRule(Map<String, Object> smap);
void copyGkSiteGkCmptsetting(Map<String, Object> smap);
void copyGkSiteGkRoad(Map<String, Object> smap);
void copyGkSiteGkRoadsGps(Map<String, Object> smap);
void copyGkSiteGkRoadsGpsCheckpointMap(Map<String, Object> smap);
int getCommonNeuUserId(int userId);
void copyCommonNeucmpt(Map<String, Object> cmap);
} }
...@@ -9,4 +9,394 @@ ...@@ -9,4 +9,394 @@
from gk_cmpt_template from gk_cmpt_template
where del_flag=0 where del_flag=0
</select> </select>
<select id="queryTemplateById" resultType="com.dlbridge.jadp.plugins.cmpt.bean.CmptTemplate" parameterType="int">
select template_id templateId,cmpt_id cmptId,
template_name templateName,
template_bg
from gk_cmpt_template
where del_flag=0
and template_id = #{_parameter}
</select>
<select id="queryNeuCmptByGtCmptId" resultType="java.util.Map" parameterType="int">
select *
from common.neucmpt
where deleted=0
and gtCmptId = #{_parameter}
</select>
<!--复制raceenroll下的赛事主表 competition-->
<insert id="copyRaceCompetition" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "cmptId" keyColumn = "cmptId">
insert into raceenroll.competition select null,#{userId},cmptName,NOW(),isClose,isDelete,NOW(),imageUrl,wxImageUrl,cmptStatus,cmptAuditLevel,hotIndex,compressImageUrl,type,deadLine,0,0,area,province,city,location,showIndex,openTime,startTime,cmptUrl,runIsValide,isPreparatory,settlementStatus,toCmptId,step,projectId,hotline,setTimeByRoad,endTime,isAide,isPublic,cmptDesc,origin,isShow,uniqueIdCard,null,0,timerCmptId,auditTime,refundStartTime,refundEndTime,isRefund,refundTip from raceenroll.competition where cmptId = #{compId}
</insert>
<!--复制raceenroll下的 cmpt_partner_map-->
<insert id="copyRaceCmptPartnerMap" parameterType="java.util.Map">
insert into raceenroll.cmpt_partner_map select null,#{new_race_cmptId},partner_code ,NOW(),null,isDelete from raceenroll.cmpt_partner_map where cmptId = #{compId}
</insert>
<!--复制raceenroll下的 competitioncustom-->
<insert id="copyRaceCompetitioncustom" parameterType="java.util.Map">
insert into raceenroll.competitioncustom select null,#{new_race_cmptId},customId ,customName,customContent,customContentForApp,customContentPropertyValue,customContentProperty,customRoadId,customType,customIsRequired,customIndex,isDelete,isOpen,isFirstPage,NOW(),null from raceenroll.competitioncustom where cmptId = #{compId}
</insert>
<select id="queryRaceCompetitionroadmapByCompId" resultType="java.util.Map" parameterType="int">
select *
from raceenroll.competitionroadmap
where cmptId = #{_parameter}
</select>
<!--复制raceenroll下的赛事项目表 competitionroadmap-->
<insert id="copyRaceCompetitionroadmap" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "roadId" keyColumn = "roadId">
insert into raceenroll.competitionroadmap select null, roadName, roadType, genderLimit, ageLimit, floorOfTeam, numberOfTeam, floorOfFNum, ceilOfFNum, typeOfTeam, userLimit, listIsOpen, deadLine, NOW(), isDelete, #{new_race_cmptId}, null, seperatePay, unitPrice, otherPrice, foreignPrice, teamPrice, isCharge, isOnePay, toRoadId, canOut, accIns, openTime, payByTeam, sort, remark, minAge, maxAge, isPayOffline, isAudit, inviteCodeType, roadShow, effectiveTime, isPrePay, timerRoadId, null, miles, isRefund from raceenroll.competitionroadmap where cmptId = #{compId} and roadId = #{roadId}
</insert>
<!--复制raceenroll下的赛事项目表 competitionroadrole-->
<insert id="copyRaceCompetitionroadrole" parameterType="java.util.Map">
insert into raceenroll.competitionroadrole select null, #{new_race_roadId}, name, genderLimit, ageLimit, minNum, maxNum, price, isDelete, #{userId}, null, NOW(), null, isDefault from raceenroll.competitionroadrole where roadId = #{roadId}
</insert>
<select id="queryRaceDiscountByCompId" resultType="java.util.Map" parameterType="int">
select *
from raceenroll.discount
where cmptId = #{_parameter}
</select>
<!--复制raceenroll下的表 discount-->
<insert id="copyRaceDiscount" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "id" keyColumn = "id">
insert into raceenroll.discount select null,#{new_race_cmptId},mix,type,isDelete,#{userId},null,NOW(),null from raceenroll.discount where id = #{id}
</insert>
<!--复制raceenroll下的表 discount_item-->
<insert id="copyRaceDiscountItem" parameterType="java.util.Map">
insert into raceenroll.discount_item select null, #{new_race_discountId}, unit, minNum, maxNum, startTime, endTime, #{userId}, null, NOW(), null, isDelete, multiDiscount, disType, isQualifiedCode, isRepeated from raceenroll.discount_item where discountId = #{id}
</insert>
<!--复制raceenroll下的表 discount_road_map-->
<insert id="copyRaceDiscountRoadMap" parameterType="java.util.Map">
insert into raceenroll.discount_road_map select #{new_race_roadId}, #{new_race_discountId}, isDelete, #{userId}, null, NOW(), null from raceenroll.discount_road_map where discountId = #{discountId} and roadId = #{roadId}
</insert>
<select id="queryRaceExtrapayByRoadId" resultType="java.util.Map" parameterType="int">
select *
from raceenroll.extrapay
where roadId = #{_parameter}
</select>
<!--复制raceenroll下的表 extrapay-->
<insert id="copyRaceExtrapay" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "id" keyColumn = "id">
insert into raceenroll.extrapay select null, name, type, NOW(), #{new_race_roadId},isDelete,isNeed from raceenroll.extrapay where id = #{id}
</insert>
<select id="queryRaceMarkNoRuleByCompId" resultType="java.util.Map" parameterType="int">
select *
from raceenroll.mark_no_rule
where cmptId = #{_parameter}
</select>
<!--复制raceenroll下的表 mark_no_rule-->
<insert id="copyRaceMarkNoRule" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "ruleId" keyColumn = "ruleId">
insert into raceenroll.mark_no_rule select null,#{new_race_cmptId},NOW(),null,delFlag,rule_type from raceenroll.mark_no_rule where ruleId = #{ruleId}
</insert>
<!--复制raceenroll下的表 mark_no_rule_item-->
<insert id="copyRaceMarkNoRuleItem" parameterType="java.util.Map">
insert into raceenroll.mark_no_rule_item select null,#{new_race_ruleId},type,flag,seq,seqLength,NOW(),null from raceenroll.mark_no_rule_item where ruleId = #{ruleId}
</insert>
<!--复制raceenroll下的表 payitem-->
<insert id="copyRacePayitem" parameterType="java.util.Map">
insert into raceenroll.payitem select null,#{new_race_extraPayId},name,price,minNum,maxNum,isdelete,NOW(),null,#{new_race_roadId},remark from raceenroll.payitem where extraPayId = #{extraPayId}
</insert>
<!--复制raceenroll下的表 road_extrapay_relation-->
<insert id="copyRaceRoadExtrapayRelation" parameterType="java.util.Map">
insert into raceenroll.road_extrapay_relation select null,#{new_race_roadId},#{new_race_extraPayId},#{new_race_cmptId},isDelete from raceenroll.road_extrapay_relation where extraPayId = #{extraPayId} and roadId = #{roadId} and cmptId = #{cmptId} and isDelete = 0
</insert>
<!--复制raceenroll下的表 road_mark_no_map-->
<insert id="copyRaceRoadMarkNoMap" parameterType="java.util.Map">
insert into raceenroll.road_mark_no_map select #{new_race_ruleId},#{new_race_roadId} from raceenroll.road_mark_no_map where ruleId = #{ruleId} and roadId = #{roadId}
</insert>
<select id="queryRaceroadchannelByCompIdAndDiscountId" resultType="java.util.Map">
select *
from raceenroll.roadchannel
where cmptId = #{_parameter1}
and discountId = #{_parameter2}
and isDelete != 1
</select>
<!--复制raceenroll下的表 roadchannel-->
<insert id="copyRaceRoadchannel" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "id" keyColumn = "id">
insert into raceenroll.roadchannel select null,#{new_race_cmptId},channelName,#{new_race_discountId},isDelete,NOW(),remark from raceenroll.roadchannel where id = #{id}
</insert>
<!--复制raceenroll下的表 roadchannelitem-->
<insert id="copyRaceRoadchannelitem" parameterType="java.util.Map">
insert into raceenroll.roadchannelitem select #{new_race_channelId},#{new_race_roadId},isDelete from raceenroll.roadchannelitem where channelId = #{channelId} and roadId = #{roadId}
</insert>
<select id="queryRaceUserdefinedRoadRelationByCompId" resultType="java.util.Map" parameterType="int">
select *
from raceenroll.userdefined_road_relation
where cmptId = #{_parameter}
</select>
<!--复制raceenroll下的表 userdefined_road_relation-->
<insert id="copyRaceUserdefinedRoadRelation" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "id" keyColumn = "id">
insert into raceenroll.userdefined_road_relation select null,#{new_race_cmptId},isOpen,#{new_roadIds},0,type,NOW(),null,registerId from raceenroll.userdefined_road_relation where id = #{id}
</insert>
<!--复制raceenroll下的表 user_defined_create-->
<insert id="copyRaceUserDefinedCreate" parameterType="java.util.Map">
insert into raceenroll.user_defined_create select null, userdefinedId, name, isRequired, definedContent, definedType, hint, optionType, isTeam, sort, #{new_race_denpendId}, isCheck, isDelete, NOW(), null, registerId from raceenroll.user_defined_create where denpendId = #{denpendId} and isDelete = 0
</insert>
<!--复制raceenroll下的表 userdefined-->
<insert id="copyRaceUserdefined" parameterType="java.util.Map">
insert into raceenroll.userdefined select null, userdefinedId, name, isRequired, definedContent, definedType, dependOn, hint, optionType, #{new_race_cmptId}, #{new_race_roadId}, roleId, isTeam, sort, isDelete, isCheck, NOW(), null, registerId from raceenroll.userdefined where cmptId = #{cmptId} and roadId = #{roadId} and isDelete = 0
</insert>
<select id="getGeerunnerSeqVal" resultType="int" parameterType="java.lang.String">
select geerunner.nextval(#{_parameter})
</select>
<!--获取 geerunner 下的用户id -->
<select id="getGeerunnerUserId" resultType="int" 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>
<select id="queryGeerunnerCmptItemByCompId" resultType="java.util.Map" parameterType="int">
select *
from geerunner.cmpt_item
where cmpt_id = #{_parameter}
</select>
<!--复制 geerunner 下的表 cmpt_item -->
<insert id="copyGeerunnerCmptItem" parameterType="java.util.Map">
insert into geerunner.cmpt_item select uuid(), #{new_gk_cmptId}, #{new_gk_itemId}, item_name, item_name_en, fee, enroll_start, enroll_deadline, start_time, end_time, kilometre, team_type, teammate_count, teammate_count_min, team_female_count_max, team_female_count_min, team_one_take_enroll, team_fee_type, team_count, limit_count, is_close, item_type, item_mold, isTimeOrMileage, isRelayOrTogether, isSingleOrWind, invite_code_enable, invite_code_quota, enroll_member_level, checkin_count, is_auto_distribute, is_need_qualify, is_support_invoice, invoice_deadline, combinedItemId, itemFrom, is_need_timer, is_open_pre_enroll, pre_enroll_status, is_pay_enroll, pre_fee, is_publish, enroll_tip, enroll_tip_en, show_index, is_allow_withdraw, is_allow_transfer, transfer_fee, is_allow_duplicate, is_need_itra_check, itra_idca, address, address_en, saleforce_id, item_group_value, del_flg, NOW(), #{gk_userId}, null, null, road_name from geerunner.cmpt_item where item_id = #{item_id} and del_flag = 0
</insert>
<select id="queryGeerunnerCertificateByRoadId" resultType="java.util.Map" parameterType="int">
select *
from geerunner.certificate
where roadid = #{_parameter}
</select>
<!--复制 geerunner 下的表 certificate -->
<insert id="copyGeerunnerCertificate" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "id" keyColumn = "id">
insert into geerunner.certificate select null, name, type, imgurl, #{new_gk_cmptId}, #{new_gk_itemId}, ispublished, certType, isChg from geerunner.certificate where id = #{id}
</insert>
<!--复制 geerunner 下的表 certificatesetinfo -->
<insert id="copyGeerunnerCertificatesetinfo" parameterType="java.util.Map">
insert into geerunner.certificatesetinfo select null, #{new_gk_itemId}, #{new_gk_cmptId}, selectedField, x_coordinate, y_coordinate, font_size, font_color, selectedFieldName, NOW(), font_family, certtype, #{new_gk_certId}, width, height, selectedFieldType, horizontal from geerunner.certificatesetinfo where certid = #{certid}
</insert>
<select id="queryGeerunnerCmptDiscountByCmptId" resultType="java.util.Map" parameterType="int">
select *
from geerunner.cmpt_discount
where cmpt_id = #{_parameter}
and del_flg != "1"
</select>
<!--复制 geerunner 下的表 cmpt_discount -->
<insert id="copyGeerunnerCmptDiscount" parameterType="java.util.Map">
insert into geerunner.cmpt_discount select null, #{new_gk_discountId}, #{new_gk_cmptId}, type, scope, start_time, end_time, limit_count, tip, tip_en, identity_no_start, amount, apply_to_all, del_flg, NOW(), #{gk_userId}, null, null from geerunner.cmpt_discount where id = #{id}
</insert>
<!--复制 geerunner 下的表 cmpt_discount_mapping -->
<insert id="copyGeerunnerCmptDiscountMapping" parameterType="java.util.Map">
insert into geerunner.cmpt_discount_mapping select null, #{new_gk_discountId}, #{new_gk_itemId}, #{new_gk_cmptId} from geerunner.cmpt_discount_mapping where discount_id = #{discount_id} and item_id = #{item_id} and cmpt_id = #{cmpt_id}
</insert>
<!--查询 geerunner 下 表 cmpt_extra_charge 的 group_id -->
<select id="queryGeerunnerCmptExtraChargeGroupIdByCmptId" resultType="java.util.Map" parameterType="int">
select DISTINCT group_id
from geerunner.cmpt_extra_charge
where cmpt_id = #{_parameter}
and del_flg = 0
</select>
<!--查询 geerunner 下 表 cmpt_extra_charge -->
<select id="queryGeerunnerCmptExtraChargeByCmptIdAndGroupId" resultType="java.util.Map">
select *
from geerunner.cmpt_extra_charge
where cmpt_id = #{_parameter1}
and group_id = #{_parameter2}
and del_flg = 0
</select>
<!--复制 geerunner 下的表 cmpt_extra_charge -->
<insert id="copyGeerunnerCmptExtraCharge" parameterType="java.util.Map">
insert into geerunner.cmpt_extra_charge select uuid(), #{new_gk_chargeId}, #{new_gk_cmptId}, #{new_itemIds}, charge_type, type_id, type_name, type_name_en, #{new_gk_groupId}, group_name, group_name_en, group_detail, group_detail_en, group_image, charge_name, charge_name_en, charge_detail, charge_detail_en, price, charge_count, default_charge_id, remark, is_onsale, del_flg, NOW(), #{gk_userId}, null, null from geerunner.cmpt_extra_charge where charge_id = #{charge_id}
</insert>
<!--复制 geerunner 下的表 cmpt_medal -->
<insert id="copyGeerunnerCmptMedal" parameterType="java.util.Map">
insert into geerunner.cmpt_medal select uuid(), #{new_gk_cmptId}, type, img, link_url, show_index, del_flg, NOW(), #{gk_userId}, null, null from geerunner.cmpt_medal where cmpt_id = #{cmpt_id}
</insert>
<!--复制 geerunner 下的表 cmpt_paypal -->
<insert id="copyGeerunnerCmptPaypal" parameterType="java.util.Map">
insert into geerunner.cmpt_paypal select null, #{new_gk_cmptId}, #{new_gk_itemId}, fee_type, currency, amount, show_index, del_flg, NOW(), #{gk_userId}, null, null from geerunner.cmpt_paypal where cmpt_id = #{cmpt_id} and item_id = #{item_id} and del_flg = 0
</insert>
<!--复制 geerunner 下的表 cmpt_rich_text -->
<insert id="copyGeerunnerCmptRichText" parameterType="java.util.Map">
insert into geerunner.cmpt_rich_text select uuid(), org_id, uuid(), #{new_gk_cmptId}, #{new_gk_itemId}, parent_type, type, title, summary, img_url, content, read_count, show_index, status, lan_flg, remark, del_flg, NOW(), #{gk_userId}, null, null from geerunner.cmpt_rich_text where cmpt_id = #{cmpt_id} and item_id = #{item_id} and del_flg = "0"
</insert>
<!--复制 geerunner 下的表 cmpt_userdefine -->
<insert id="copyGeerunnerCmptUserdefine" parameterType="java.util.Map">
insert into geerunner.cmpt_userdefine select uuid(), geerunner.nextval('USERDEFINE_ID'), #{new_gk_cmptId}, #{new_gk_itemId}, custom_id, custom_name, custom_name_en, column_name, is_required, is_modify, defined_content, defined_content_en, defined_type, hint, hint_en, option_type, is_team, sort, NOW(), is_second_form from geerunner.cmpt_userdefine where cmpt_id = #{cmpt_id} and cmpt_item = #{item_id}
</insert>
<!--查询 geerunner 下 表 gps_path -->
<select id="queryGeerunnerGpsPathByCmptId" resultType="java.util.Map">
select *
from geerunner.gps_path
where cmptId = #{_parameter}
</select>
<!--复制 geerunner 下的表 gps_path -->
<insert id="copyGeerunnerGpsPath" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "id" keyColumn = "id">
insert into geerunner.gps_path select null, #{new_gk_cmptId}, #{new_gk_itemId}, tracePoint, color, name from geerunner.gps_path where id = #{id}
</insert>
<!--复制 geerunner 下的表 gps_placemark -->
<insert id="copyGeerunnerGpsPlacemark" parameterType="java.util.Map">
insert into geerunner.gps_placemark select null, #{new_gk_pathId}, info, type, lng, lat from geerunner.gps_placemark where pathId = #{id}
</insert>
<!--查询 geerunner 下 表 time_checkpoint -->
<select id="queryGeerunnerTimeCheckpointByCmptId" resultType="java.util.Map">
select *
from geerunner.time_checkpoint
where cmptId = #{_parameter}
</select>
<!--复制 geerunner 下的表 time_checkpoint -->
<insert id="copyGeerunnerTimeCheckpoint" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "id" keyColumn = "id">
insert into geerunner.time_checkpoint select null, #{new_gk_cmptId}, name, dayValue, isRestArea, isAutoPenalty, restDuration from geerunner.time_checkpoint where id = #{id}
</insert>
<!--查询 geerunner 下 表 time_seg -->
<select id="queryGeerunnerTimeSegByRoadId" resultType="java.util.Map">
select *
from geerunner.time_seg
where roadId = #{_parameter}
</select>
<!--复制 geerunner 下的表 time_seg -->
<insert id="copyGeerunnerTimeSeg" parameterType="java.util.Map" useGeneratedKeys = "true" keyProperty = "id" keyColumn = "id">
insert into geerunner.time_seg select null, #{new_gk_itemId}, #{new_gk_cmptId}, name, type, isValidSeg, open, close, distance, minDuration, maxDuration, enable, endTime, time, maxCyclicSize from geerunner.time_seg where id = #{id}
</insert>
<!--查询 geerunner 下 表 time_ranking -->
<select id="queryGeerunnerTimeRankingByRoldId" resultType="java.util.Map">
select *
from geerunner.time_ranking
where roldId = #{_parameter}
</select>
<!--复制 geerunner 下的表 time_ranking -->
<insert id="copyGeerunnerTimeRanking" parameterType="java.util.Map">
insert into geerunner.time_ranking select null, #{new_gk_cmptId}, #{new_gk_itemId}, listName, listDetailFixed, listDetailUserdefined, userRole, userGender, teamType, scoreType, scoreFrom, listFrom, rangeType, #{new_fromSegs}, sortType, topN, exportTopN, tableIndex, cp_ids, user_visible, start_age, end_age, showScoreLimit, showStopTime from geerunner.time_ranking where id = #{id}
</insert>
<!--复制 geerunner 下的表 time_seg_checkpoint -->
<insert id="copyGeerunnertimeSegCheckpoint" parameterType="java.util.Map">
insert into geerunner.time_seg_checkpoint select id, #{new_gk_segId}, #{new_gk_checkPointId}, preDistance, distance, #{new_gk_cmptId}, checkPointName, closeDoorTime from geerunner.time_seg_checkpoint where segId = #{segId} and checkPointId = #{checkPointId}
</insert>
<!--复制 gksite 下的表 gk_cmpt -->
<insert id="copyGkSiteGkCmpt" parameterType="java.util.Map">
insert into gksite.gk_cmpt select #{new_gk_cmptId}, cmpt_name, cmpt_type, start_time, end_time, logo, bg_color, #{gk_userId}, null, null, null, del_flag, cmpt_status, is_day_rank from gksite.gk_cmpt where cmpt_id = #{cmpt_id}
</insert>
<!--复制 gksite 下的表 gk_cmpt -->
<insert id="copyGkSiteGkCmpt" parameterType="java.util.Map">
insert into gksite.gk_cmpt select #{new_gk_cmptId}, cmpt_name, cmpt_type, start_time, end_time, logo, bg_color, #{gk_userId}, null, null, null, del_flag, cmpt_status, is_day_rank from gksite.gk_cmpt where cmpt_id = #{cmpt_id}
</insert>
<!--查询 gksite 下 表 banner -->
<select id="queryGksiteBannerByCmptId" resultType="java.util.Map" parameterType="int">
select *
from gksite.banner
where cmpt_id = #{_parameter}
and del_flag = 0
</select>
<!--复制 gksite 下的表 banner -->
<insert id="copyGkSiteBanner" parameterType="java.util.Map">
insert into gksite.banner select #{new_bannerId}, #{new_gk_cmptId}, name, page_view, seq, description, url, NOW(), del_flag from gksite.banner where id = #{id}
</insert>
<!--复制 gksite 下的表 banner_statistic -->
<insert id="copyGkSiteBannerStatistic" parameterType="java.util.Map">
insert into gksite.banner_statistic select null, #{new_gk_cmptId}, date_format(now(), '%Y%m%d'), pv, uv, #{new_bannerId} from gksite.banner_statistic where banner_id = #{id}
</insert>
<!--复制 gksite 下的表 gk_cmpt_func -->
<insert id="copyGkSiteGkCmptFunc" parameterType="java.util.Map">
insert into gksite.gk_cmpt_func select #{new_gk_cmptId}, switch_mobile, switch_countdown, switch_banner, switch_news, switch_customer, switch_mileage, switch_scoreReview, news_alias, now() from gksite.gk_cmpt_func where cmpt_id = #{cmpt_id}
</insert>
<!--复制 gksite 下的表 gk_cmpt_score_checkpoint -->
<insert id="copyGkSiteGkCmptScoreCheckpoint" parameterType="java.util.Map">
insert into gksite.gk_cmpt_score_checkpoint select null, #{new_gk_cmptId}, #{new_gk_itemId}, name, distance, latitude, longitude, is_time, is_delete, now(), null from gksite.gk_cmpt_score_checkpoint where cmpt_id = #{cmpt_id} and road_id = #{item_id} and is_delete = 0
</insert>
<!--复制 gksite 下的表 gk_cmpt_score_field -->
<insert id="copyGkSiteGkCmptScoreField" parameterType="java.util.Map">
insert into gksite.gk_cmpt_score_field select null, #{new_gk_cmptId}, is_required, field_name, field_type, field_index, is_delete, null, now() from gksite.gk_cmpt_score_field where cmpt_id = #{cmpt_id} and is_delete = 0
</insert>
<!--复制 gksite 下的表 gk_cmpt_score_rank -->
<insert id="copyGkSiteGkCmptScoreRank" parameterType="java.util.Map">
insert into gksite.gk_cmpt_score_rank select null, #{new_gk_cmptId}, #{new_gk_itemId}, score_rank_name, score_rank_type, score_rank_person_rule, score_rank_team_rule, score_rank_from_time, score_rank_end_time, score_rank_sex, score_rank_order, is_delete, now(), null from gksite.gk_cmpt_score_rank where cmpt_id = #{cmpt_id} and road_id = #{item_id} and is_delete = 0
</insert>
<!--复制 gksite 下的表 gk_cmpt_score_rule -->
<insert id="copyGkSiteGkCmptScoreRule" parameterType="java.util.Map">
insert into gksite.gk_cmpt_score_rule select null, 0, #{new_gk_cmptId}, #{new_gk_itemId}, score_rule, score_upload_times, start_time, end_time, null, now(), order_rule from gksite.gk_cmpt_score_rule where cmpt_id = #{cmpt_id} and road_id = #{item_id}
</insert>
<!--复制 gksite 下的表 gk_cmptsetting -->
<insert id="copyGkSiteGkCmptsetting" parameterType="java.util.Map">
insert into gksite.gk_cmptsetting select uuid(), #{new_gk_cmptId}, name_web, name, type, visibility, status, style, seq, #{gk_userId}, now(), null, null, del_flag, app_id, url from gksite.gk_cmptsetting where cmptid = #{cmpt_id} and del_flag = '0'
</insert>
<!--复制 gksite 下的表 gk_road -->
<insert id="copyGkSiteGkRoad" parameterType="java.util.Map">
insert into gksite.gk_road select null, #{new_gk_itemId}, #{new_gk_cmptId}, road_name, file_name, file_url, file_size, is_delete, now(), 0 from gksite.gk_road where cmpt_id = #{cmpt_id} and road_id = #{item_id} and is_delete = 0
</insert>
<!--复制 gksite 下的表 gk_roads_gps -->
<insert id="copyGkSiteGkRoadsGps" parameterType="java.util.Map">
insert into gksite.gk_roads_gps select null, #{new_gk_cmptId}, #{new_gk_itemId}, points, now() from gksite.gk_roads_gps where cmpt_id = #{cmpt_id} and road_id = #{item_id}
</insert>
<!--复制 gksite 下的表 gk_roads_gps_checkpoint_map -->
<insert id="copyGkSiteGkRoadsGpsCheckpointMap" parameterType="java.util.Map">
insert into gksite.gk_roads_gps_checkpoint_map select null, #{new_gk_cmptId}, #{new_gk_itemId}, #{new_gk_checkPointId}, checkpoint_name, checkpoint_distance, checkpoint_gps_name, checkpoint_latitude, checkpoint_longitude, is_delete, now(), null from gksite.gk_roads_gps_checkpoint_map where cmpt_id = #{cmpt_id} and road_id = #{item_id} and checkpoint_id = #{checkPointId} and is_delete = '0'
</insert>
<!--获取 common 下的用户id -->
<select id="getCommonNeuUserId" resultType="int" parameterType="int">
select neuUserId from common.neuuser where gUserId = #{userId}
</select>
<!--复制 common 下的表 neucmpt -->
<insert id="copyCommonNeucmpt" parameterType="java.util.Map">
insert into common.neucmpt select null, #{new_rece_cmptId}, #{new_gk_cmptId}, #{neuUserId}, committeeNeuUserId, deleted from common.neucmpt where gCmptId = #{race_cmptId} and gtCmptId = #{gk_cmptId}
</insert>
</mapper> </mapper>
\ No newline at end of file
...@@ -2,10 +2,13 @@ package com.dlbridge.jadp.plugins.cmpt.service; ...@@ -2,10 +2,13 @@ package com.dlbridge.jadp.plugins.cmpt.service;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptTemplate; import com.dlbridge.jadp.plugins.cmpt.bean.CmptTemplate;
import com.dlbridge.jadp.plugins.cmpt.dao.mapper.TemplateMapper; import com.dlbridge.jadp.plugins.cmpt.dao.mapper.TemplateMapper;
import javafx.beans.binding.ObjectBinding;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.*;
@Service @Service
public class TemplateService { public class TemplateService {
...@@ -16,4 +19,452 @@ public class TemplateService { ...@@ -16,4 +19,452 @@ public class TemplateService {
public List<CmptTemplate> queryAllTemplate() { public List<CmptTemplate> queryAllTemplate() {
return templateMapper.queryAllTemplate(); return templateMapper.queryAllTemplate();
} }
/**
* 完全复制赛事信息
* @param templateId
* @throws Exception
*/
@Transactional
public int copyComp(int templateId, int userId) throws Exception {
// 按模板id查询gksite库下的赛事id
CmptTemplate cmptTemplate = templateMapper.queryTemplateById(templateId);
int gk_compId = cmptTemplate.getCmptId();
// 按gk_compId查询common库,获得raceenroll库的赛事id
Map<String,Object> neuCmpt = templateMapper.queryNeuCmptByGtCmptId(gk_compId);
int race_cmptId = Integer.valueOf(neuCmpt.get("gCmptId").toString());
/****************************复制raceenroll库的信息 开始****************************/
// 复制主赛事表 competition
Map<String, Object> pmap = new HashMap<>();
pmap.put("compId",race_cmptId);
pmap.put("userId",userId);
templateMapper.copyRaceCompetition(pmap);
int new_race_cmptId = Integer.valueOf(pmap.get("compId").toString()); // 生成赛事的新id
// 复制raceenroll.cmpt_partner_map表
pmap.clear();
pmap.put("compId",race_cmptId);
pmap.put("new_race_cmptId",new_race_cmptId);
templateMapper.copyRaceCmptPartnerMap(pmap);
// 复制raceenroll.competitioncustom
templateMapper.copyRaceCompetitioncustom(pmap);
// 查询赛事下的项目列表
List<Map<String, Object>> roads = templateMapper.queryRaceCompetitionroadmapByCompId(race_cmptId);
Map<String, Object> pmap1 = new HashMap<>();
Map<String, Object> pmap_extrapay = new HashMap<>();
Map<String, Object> pmap_payitem = new HashMap<>();
pmap_payitem.put("new_race_cmptId",new_race_cmptId);
pmap_payitem.put("compId",race_cmptId);
List<Map<String, Object>> roadIdMapList = new ArrayList<>(); // 存储新旧roadId关系
for (int i = 0; i < roads.size(); i++) {
// 复制raceenroll.competitionroadmap
pmap.put("roadId",roads.get(i).get("roadId"));
templateMapper.copyRaceCompetitionroadmap(pmap);
int new_race_roadId = Integer.valueOf(pmap.get("roadId").toString()); // 插入的新项目id
// 复制raceenroll.competitionroadrole
pmap1.put("userId",userId);
pmap1.put("roadId",roads.get(i).get("roadId"));
pmap1.put("new_race_roadId",new_race_roadId);
templateMapper.copyRaceCompetitionroadrole(pmap1);
// 查询 extrapay 表赛事项目额外费项表
List<Map<String, Object>> extrapays = templateMapper.queryRaceExtrapayByRoadId(Integer.valueOf(roads.get(i).get("roadId").toString()));
pmap_extrapay.put("new_race_roadId",new_race_roadId);
pmap_payitem.put("new_race_roadId",new_race_roadId);
pmap_payitem.put("roadId",roads.get(i).get("roadId"));
for (int j = 0; j < extrapays.size(); j++) {
// 复制 extrapay 表 赛事项目额外费项表
pmap_extrapay.put("id", extrapays.get(j).get("id"));
templateMapper.copyRaceExtrapay(pmap_extrapay);
int new_race_extraPayId = Integer.valueOf(pmap_extrapay.get("id").toString()); // 新生成的extraPayId
// 复制 payitem 表
pmap_payitem.put("extraPayId",extrapays.get(j).get("id"));
pmap_payitem.put("new_race_extraPayId",new_race_extraPayId);
templateMapper.copyRacePayitem(pmap_payitem);
// 复制 road_extrapay_relation 表
templateMapper.copyRaceRoadExtrapayRelation(pmap_payitem);
}
// 存储新旧roadId关系
Map<String, Object> roadIdMap = new HashMap<>();
roadIdMap.put("roadId",Integer.valueOf(roads.get(i).get("roadId").toString()));
roadIdMap.put("new_race_roadId",new_race_roadId);
roadIdMapList.add(roadIdMap);
// 复制 userdefined 项目表单配置表
templateMapper.copyRaceUserdefined(pmap_payitem);
}
// 查询项目优惠通道信息 discount表
Map<String, Object> pmap2 = new HashMap<>();
Map<String, Object> pmap_roadchannel = new HashMap<>();
List<Map<String, Object>> discounts = templateMapper.queryRaceDiscountByCompId(race_cmptId);
for (int i = 0; i < discounts.size(); i++) {
// 复制discount表
pmap.put("id",discounts.get(i).get("id"));
pmap.put("userId",userId);
templateMapper.copyRaceDiscount(pmap);
int new_race_discountId = Integer.valueOf(pmap.get("id").toString()); // 新生成的discount表的id
// 复制discount_item表
pmap2.put("id",discounts.get(i).get("id"));
pmap2.put("new_race_discountId",new_race_discountId);
pmap2.put("userId",userId);
templateMapper.copyRaceDiscountItem(pmap2);
// 复制discount_road_map
for (int j = 0; j < roadIdMapList.size(); j++) {
Map<String, Object> pmap3 = roadIdMapList.get(j);
pmap3.put("discountId",discounts.get(i).get("id"));
pmap3.put("new_race_discountId",new_race_discountId);
pmap3.put("userId",userId);
templateMapper.copyRaceDiscountRoadMap(pmap3);
}
// 查询 roadchannel 信息
List<Map<String, Object>> roadchannels = templateMapper.queryRaceroadchannelByCompIdAndDiscountId(race_cmptId,Integer.valueOf(discounts.get(i).get("id").toString()));
// 复制 roadchannel 表
if(roadchannels.size()>0) {
for (int j = 0; j < roadchannels.size(); j++) {
pmap_roadchannel.put("id",roadchannels.get(j).get("id"));
pmap_roadchannel.put("new_race_discountId",new_race_discountId);
pmap_roadchannel.put("new_race_cmptId",new_race_cmptId);
templateMapper.copyRaceRoadchannel(pmap_roadchannel);
int new_race_channelId = Integer.valueOf(pmap_roadchannel.get("id").toString());
// 复制 roadchannelitem 表
for (int k = 0; k < roadIdMapList.size(); k++) {
Map<String, Object> pmap_roadchannelitem = roadIdMapList.get(k);
pmap_roadchannelitem.put("new_race_channelId",new_race_channelId);
pmap_roadchannelitem.put("channelId",roadchannels.get(j).get("id"));
templateMapper.copyRaceRoadchannelitem(pmap_roadchannelitem);
}
}
}
}
// 查询赛事号码牌规则信息
List<Map<String, Object>> markNoRules = templateMapper.queryRaceMarkNoRuleByCompId(race_cmptId);
Map<String, Object> pmap5 = new HashMap<>();
for (int i = 0; i < markNoRules.size(); i++) {
// 复制 mark_no_rule 表
Map<String, Object> pmap4 = new HashMap<>();
pmap4.put("new_race_cmptId",new_race_cmptId);
pmap4.put("ruleId",markNoRules.get(i).get("ruleId"));
templateMapper.copyRaceMarkNoRule(pmap4);
int new_race_ruleId = Integer.valueOf(pmap4.get("ruleId").toString()); // 新生成的ruleId
// 复制mark_no_rule_item表
pmap5.put("new_race_ruleId",new_race_ruleId);
pmap5.put("ruleId",markNoRules.get(i).get("ruleId"));
templateMapper.copyRaceMarkNoRuleItem(pmap5);
}
// 查询 userdefined_road_relation 表
List<Map<String,Object>> userdefinedRoadRelations = templateMapper.queryRaceUserdefinedRoadRelationByCompId(race_cmptId);
List<String> roadList = new ArrayList<>();
if (userdefinedRoadRelations.size()>0) {
Map<String, Object> pmap_userdefinedRoadRelation = new HashMap<>();
pmap_userdefinedRoadRelation.put("new_race_cmptId",new_race_cmptId);
Map<String, Object> pmap_UserDefinedCreate = new HashMap<>();
for (int i = 0; i < userdefinedRoadRelations.size(); i++) {
String roadIds = userdefinedRoadRelations.get(i).get("roadId").toString();
roadList.clear();
for (int j = 0; j < roadIdMapList.size(); j++) {
Map<String ,Object> tmap = roadIdMapList.get(j);
String roadId = tmap.get("roadId").toString();
String new_race_roadId = tmap.get("new_race_roadId").toString();
if(roadIds.contains("roadId")) {
roadList.add(new_race_roadId);
}
}
String new_roadIds = StringUtils.join(roadList,",");
pmap_userdefinedRoadRelation.put("id",userdefinedRoadRelations.get(i).get("id"));
pmap_userdefinedRoadRelation.put("new_roadIds",new_roadIds);
// 复制 userdefined_road_relation
templateMapper.copyRaceUserdefinedRoadRelation(pmap_userdefinedRoadRelation);
int new_race_denpendId = Integer.valueOf(pmap_userdefinedRoadRelation.get("id").toString()); // 新生成的id
// 复制 user_defined_create 表
pmap_UserDefinedCreate.put("denpendId",userdefinedRoadRelations.get(i).get("id"));
pmap_UserDefinedCreate.put("new_race_denpendId",new_race_denpendId);
templateMapper.copyRaceUserDefinedCreate(pmap_UserDefinedCreate);
}
}
/****************************复制 raceenroll 库的信息 结束****************************/
/****************************复制 geerunner 库的信息 开始****************************/
// 获取geerunner库的userId
int gk_userId = templateMapper.getGeerunnerUserId(userId);
// 获取一个新的赛事id
int new_gk_cmptId = templateMapper.getGeerunnerSeqVal("CMPT_ID");
// 复制赛事主表 cmpt_main
Map<String, Object> gmap = new HashMap<>();
gmap.put("cmpt_id",gk_compId);
gmap.put("new_gk_cmptId",new_gk_cmptId);
gmap.put("gk_userId",gk_userId);
templateMapper.copyGeerunnerCmptMain(gmap);
// 查询 cmpt_item 项目表
List<Map<String, Object>> cmptItemList = templateMapper.queryGeerunnerCmptItemByCompId(gk_compId);
List<Map<String, Object>> gkItemMapList = new ArrayList<>(); // 新旧项目id对应关系
if (cmptItemList.size()>0) {
Map<String, Object> gmap1 = new HashMap<>();
gmap1.put("cmpt_id",gk_compId);
gmap1.put("new_gk_cmptId",new_gk_cmptId);
gmap1.put("gk_userId",gk_userId);
for (int i = 0; i < cmptItemList.size(); i++) {
// 获取一个新的项目id
int new_gk_itemId = templateMapper.getGeerunnerSeqVal("CMPT_ITEM");
// 复制 cmpt_item
gmap1.put("new_gk_itemId", new_gk_itemId);
gmap1.put("item_id", cmptItemList.get(i).get("item_id"));
templateMapper.copyGeerunnerCmptItem(gmap1);
// 存储新旧项目id对应关系
Map<String, Object> itemMap = new HashMap<>();
itemMap.put("item_id", cmptItemList.get(i).get("item_id"));
itemMap.put("new_gk_itemId", new_gk_itemId);
gkItemMapList.add(itemMap);
// 查询 certificate 表
List<Map<String, Object>> certificateList = templateMapper.queryGeerunnerCertificateByRoadId(Integer.valueOf(cmptItemList.get(i).get("item_id").toString()));
if(certificateList.size()>0) {
// 复制 certificate 表
for (int j = 0; j < certificateList.size(); j++) {
gmap1.put("id", certificateList.get(j).get("id"));
templateMapper.copyGeerunnerCertificate(gmap1);
int new_gk_certid = Integer.valueOf(gmap1.get("id").toString()); // 新生成的id
// 复制 certificatesetinfo 证书字段打印配置
gmap1.put("new_gk_certId", new_gk_certid);
gmap1.put("certid", certificateList.get(j).get("id"));
templateMapper.copyGeerunnerCertificatesetinfo(gmap1);
}
}
// 复制 cmpt_paypal 赛事国际支付配置表
templateMapper.copyGeerunnerCmptPaypal(gmap1);
// 复制 cmpt_rich_text 赛事富文本表
templateMapper.copyGeerunnerCmptRichText(gmap1);
// 复制 cmpt_userdefine 报名配置表
templateMapper.copyGeerunnerCmptUserdefine(gmap1);
}
}
// 查询 cmpt_discount 优惠方案
List<Map<String, Object>> cmptDiscounts = templateMapper.queryGeerunnerCmptDiscountByCmptId(gk_compId);
if(cmptDiscounts.size()>0) {
for (int i = 0; i < cmptDiscounts.size(); i++) {
// 复制 cmpt_discount 优惠方案
// 获取一个新的discount_id
int new_gk_discountId = templateMapper.getGeerunnerSeqVal("DISCOUNT_ID");
gmap.put("id", cmptDiscounts.get(i).get("id"));
gmap.put("new_gk_discountId",new_gk_discountId);
templateMapper.copyGeerunnerCmptDiscount(gmap);
// 复制 cmpt_discount_mapping 优惠方案项目关系表
for (int j = 0; j < gkItemMapList.size(); j++) {
Map<String, Object> gmap2 = gkItemMapList.get(j);
gmap2.put("discount_id", cmptDiscounts.get(i).get("id"));
gmap2.put("new_gk_discountId",new_gk_discountId);
gmap2.put("cmpt_id",gk_compId);
gmap2.put("new_gk_cmptId",new_gk_cmptId);
templateMapper.copyGeerunnerCmptDiscountMapping(gmap2);
}
}
}
// 查询 cmpt_extra_charge表的groupId
List<Map<String, Object>> groupIds = templateMapper.queryGeerunnerCmptExtraChargeGroupIdByCmptId(gk_compId);
if (groupIds.size()>0) {
Map<String, Object> gmap3 = new HashMap<>();
gmap3.put("new_gk_cmptId", new_gk_cmptId);
gmap3.put("gk_userId", gk_userId);
List<String> itemIdList = new ArrayList<>();
for (int i = 0; i < groupIds.size(); i++) {
// 获取一个新的groupId
int new_gk_groupId = templateMapper.getGeerunnerSeqVal("EXTRA_CHARGE_GROUP_ID");
gmap3.put("new_gk_groupId", new_gk_groupId);
// 按groupId和compId查询 cmpt_extra_charge 表
List<Map<String, Object>> cmptExtraChargeList = templateMapper.queryGeerunnerCmptExtraChargeByCmptIdAndGroupId(gk_compId,Integer.valueOf(groupIds.get(i).get("group_id").toString()));
for (int j = 0; j < cmptExtraChargeList.size(); j++) {
// 拼装新的itemIds
itemIdList.clear();
String itemIdsStr = cmptExtraChargeList.get(j).get("item_ids").toString();
for (int k = 0; k < gkItemMapList.size(); k++) {
if(itemIdsStr.contains(gkItemMapList.get(k).get("item_id").toString())) {
itemIdList.add(gkItemMapList.get(k).get("new_gk_itemId").toString());
}
}
gmap3.put("new_itemIds", StringUtils.join(itemIdList,","));
gmap3.put("charge_id",cmptExtraChargeList.get(j).get("charge_id"));
// 获取一个新的charge_id
int new_gk_chargeId = templateMapper.getGeerunnerSeqVal("EXTRA_CHARGE_ID");
gmap3.put("new_gk_chargeId",new_gk_chargeId);
// 复制 cmpt_extra_charge 附加收费项表
templateMapper.copyGeerunnerCmptExtraCharge(gmap3);
}
}
}
// 复制 cmpt_medal 赛事奖牌表
templateMapper.copyGeerunnerCmptMedal(gmap);
// 查询 gps_path
List<Map<String, Object>> gpsPathList = templateMapper.queryGeerunnerGpsPathByCmptId(gk_compId);
if(gpsPathList.size()>0) {
Map<String, Object> gmap4 = new HashMap<>();
gmap4.put("new_gk_cmptId", new_gk_cmptId);
gmap4.put("new_gk_itemId", -1 ); // 默认 -1
for (int i = 0; i < gpsPathList.size(); i++) {
for (int j = 0; j < gkItemMapList.size(); j++) {
if(gkItemMapList.get(j).get("item_id").toString().equals(gpsPathList.get(i).get("roadId").toString())) {
gmap4.put("new_gk_itemId", gkItemMapList.get(j).get("new_gk_itemId"));
}
}
gmap4.put("id", gpsPathList.get(i).get("id"));
// 复制 gps_path
templateMapper.copyGeerunnerGpsPath(gmap4);
int new_gk_pathId = Integer.valueOf(gmap4.get("id").toString()); // 新生成的id
// 复制 gps_placemark 表
gmap4.put("new_gk_pathId",new_gk_pathId);
templateMapper.copyGeerunnerGpsPlacemark(gmap4);
}
}
// 复制 time_seg
List<Map<String, Object>> gkSegList = new ArrayList<>(); // 存储seq 新旧id关系
Map<String, Object> gmap5 = new HashMap<>();
gmap5.put("new_gk_cmptId", new_gk_cmptId);
for (int i = 0; i < gkItemMapList.size(); i++) {
int roadId = Integer.valueOf(gkItemMapList.get(i).get("item_id").toString());
List<Map<String, Object>> timeSeqList = templateMapper.queryGeerunnerTimeSegByRoadId(roadId);
if (timeSeqList.size()>0) {
for (int j = 0; j < timeSeqList.size(); j++) {
gmap5.put("id", timeSeqList.get(j).get("id"));
gmap5.put("new_gk_itemId", gkItemMapList.get(i).get("new_gk_itemId"));
templateMapper.copyGeerunnerTimeSeg(gmap5);
int new_gk_segId = Integer.valueOf(gmap5.get("id").toString());
Map<String, Object> gkSegMap = new HashMap<>();
gkSegMap.put("segId", timeSeqList.get(j).get("id"));
gkSegMap.put("new_gk_segId", new_gk_segId);
gkSegList.add(gkSegMap);
}
}
}
// time_checkpoint 计时点
List<Map<String, Object>> timeCheckpointList = templateMapper.queryGeerunnerTimeCheckpointByCmptId(gk_compId);
if (timeCheckpointList.size()>0) {
Map<String, Object> gmap6 = new HashMap<>();
gmap6.put("new_gk_cmptId", new_gk_cmptId);
gmap6.put("cmpt_id", gk_compId);
for (int i = 0; i < timeCheckpointList.size(); i++) {
gmap6.put("id", timeCheckpointList.get(i).get("id"));
templateMapper.copyGeerunnerTimeCheckpoint(gmap6);
int new_gk_checkPointId = Integer.valueOf(gmap6.get("id").toString()); // 新生成的id
gmap6.put("new_gk_checkPointId",new_gk_checkPointId);
gmap6.put("checkPointId",timeCheckpointList.get(i).get("id"));
// 复制 time_seg_checkpoint
for (int j = 0; j < gkSegList.size(); j++) {
gmap6.putAll(gkSegList.get(j));
templateMapper.copyGeerunnertimeSegCheckpoint(gmap6);
}
// 复制 gksite 下的 gk_roads_gps_checkpoint_map 表
for (int j = 0; j < gkItemMapList.size(); j++) {
gmap6.putAll(gkItemMapList.get(j));
templateMapper.copyGkSiteGkRoadsGpsCheckpointMap(gmap6);
}
}
}
//time_ranking 成绩榜单配置
for (int i = 0; i < gkItemMapList.size(); i++) {
int roadId = Integer.valueOf(gkItemMapList.get(i).get("item_id").toString());
List<Map<String, Object>> timeRankingList = templateMapper.queryGeerunnerTimeRankingByRoldId(roadId);
if (timeRankingList.size()>0) {
Map<String, Object> gmap7 = new HashMap<>();
gmap7.put("new_gk_cmptId", new_gk_cmptId);
gmap7.put("new_gk_itemId", gkItemMapList.get(i).get("new_gk_itemId"));
List<String> segIds = new ArrayList<>();
for (int j = 0; j < timeRankingList.size(); j++) {
segIds.clear();
String fromSegs = timeRankingList.get(j).get("fromSegs").toString();
for (int k = 0; k < gkSegList.size(); k++) {
String segId = gkSegList.get(k).get("segId").toString();
String new_gk_segId = gkSegList.get(k).get("new_gk_segId").toString();
if (fromSegs.contains(segId)) {
segIds.add(new_gk_segId);
}
}
gmap7.put("new_fromSegs",StringUtils.join(segIds,","));
gmap7.put("id",timeRankingList.get(j).get("id"));
templateMapper.copyGeerunnerTimeRanking(gmap7);
}
}
}
/****************************复制 geerunner 库的信息 结束****************************/
/****************************复制 gksite 库的信息 开始****************************/
// 复制 gk_cmpt 赛事主表
Map<String, Object> smap = new HashMap<>();
smap.put("cmpt_id",gk_compId);
smap.put("new_gk_cmptId",new_gk_cmptId);
smap.put("gk_userId",gk_userId);
templateMapper.copyGkSiteGkCmpt(smap);
// 查询 banner 表
List<Map<String, Object>> bannerList = templateMapper.queryGksiteBannerByCmptId(gk_compId);
if(bannerList.size()>0) {
Map<String, Object> smap1 = new HashMap<>();
smap1.put("new_gk_cmptId",new_gk_cmptId);
// 复制 banner 表
for (int i = 0; i < bannerList.size(); i++) {
smap1.put("id",bannerList.get(i).get("id"));
// 获取一个新的uuid作为 banner表的id
smap1.put("new_bannerId",UUID.randomUUID().toString());
templateMapper.copyGkSiteBanner(smap1);
// 复制 banner_statistic 表
templateMapper.copyGkSiteBannerStatistic(smap1);
}
}
// 复制 gk_cmpt_func 表 各种配置的开关
templateMapper.copyGkSiteGkCmptFunc(smap);
for (int i = 0; i < gkItemMapList.size(); i++) {
Map<String, Object> smap2 = gkItemMapList.get(i);
smap2.put("cmpt_id",gk_compId);
smap2.put("new_gk_cmptId",new_gk_cmptId);
// 复制 gk_cmpt_score_checkpoint 打卡点配置
templateMapper.copyGkSiteGkCmptScoreCheckpoint(smap2);
// 复制 gk_cmpt_score_rank 成绩榜单配置
templateMapper.copyGkSiteGkCmptScoreRank(smap2);
// 复制 gk_cmpt_score_rule 成绩计算规则表
templateMapper.copyGkSiteGkCmptScoreRule(smap2);
// 复制 gk_road
templateMapper.copyGkSiteGkRoad(smap2);
// 复制 gk_roads_gps
templateMapper.copyGkSiteGkRoadsGps(smap2);
// 复制 gk_roads_gps_checkpoint_map
}
// 复制 gk_cmpt_score_field 表
templateMapper.copyGkSiteGkCmptScoreField(smap);
// 复制 gk_cmptsetting
templateMapper.copyGkSiteGkCmptsetting(smap);
/****************************复制 gksite 库的信息 结束****************************/
/****************************复制 common 库的信息 开始****************************/
// 复制 neucmpt
// 获取 neuUserId 东软赛客统一用户id
int neuUserId = templateMapper.getCommonNeuUserId(userId);
Map<String, Object> cmap = new HashMap<>();
cmap.put("neuUserId",neuUserId);
cmap.put("race_cmptId",race_cmptId);
cmap.put("gk_cmptId",gk_compId);
cmap.put("new_race_cmptId",new_race_cmptId);
cmap.put("new_gk_cmptId",new_gk_cmptId);
templateMapper.copyCommonNeucmpt(cmap);
/****************************复制 common 库的信息 结束****************************/
return new_gk_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