Procházet zdrojové kódy

sql

release_toaliyun_real
xhxu před 5 roky
rodič
revize
551460bef7
3 změnil soubory, kde provedl 26 přidání a 15 odebrání
  1. +18
    -11
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java
  2. +6
    -4
      mallinkAdmin/src/main/resources/db/migration/V202007311142__GROUP__ADD_002.sql
  3. +2
    -0
      mallinkService/src/main/resources/mapper/WxMallMapper.xml

+ 18
- 11
mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java Zobrazit soubor

@@ -628,17 +628,20 @@ public class WxProjectConfigController extends BaseController {
@PostMapping("/init/submall") @PostMapping("/init/submall")
@SystemControllerLog(description = "子广场-更新") @SystemControllerLog(description = "子广场-更新")
@TenantIgnore @TenantIgnore
public ResultData initSubmall(@RequestBody WxMall wxMall) {
public ResultData initSubmall(@RequestBody Map<String, Object> map) {
logger.debug("[" + getIpAddr() + "] WxProjectConfigController::initSubmall"); logger.debug("[" + getIpAddr() + "] WxProjectConfigController::initSubmall");
try { try {
if(StringUtils.isBlank(wxMall.getTenantId())){
String tenantId = (String) map.get("tenantId");
String[] subTenantIds = (String[]) map.get("subTenantIds");

if(StringUtils.isBlank(tenantId)){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
} }
if(StringUtils.isBlank(wxMall.getParentTenantId())){
if(subTenantIds == null || subTenantIds.length == 0){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
} }
TenantEntity TenantEntity = new TenantEntity(){{ TenantEntity TenantEntity = new TenantEntity(){{
setTenantId(wxMall.getParentTenantId());
setTenantId(tenantId);
}}; }};
WxMall parentWxMall = wxMallService.getByTenantInfo(TenantEntity); WxMall parentWxMall = wxMallService.getByTenantInfo(TenantEntity);
if(parentWxMall == null || parentWxMall.getSaleType() != 100 if(parentWxMall == null || parentWxMall.getSaleType() != 100
@@ -646,8 +649,7 @@ public class WxProjectConfigController extends BaseController {
|| StringUtils.isNotBlank(parentWxMall.getParentTenantId())){ || StringUtils.isNotBlank(parentWxMall.getParentTenantId())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
} }
String[] tenantIds = wxMall.getTenantId().split(",");
wxProjectConfigService.initSubmall(wxMall.getParentTenantId(),tenantIds);
wxProjectConfigService.initSubmall(tenantId,subTenantIds);


return new ResultData(); return new ResultData();
}catch (Exception e){ }catch (Exception e){
@@ -660,17 +662,20 @@ public class WxProjectConfigController extends BaseController {
@PostMapping("/init/after/group") @PostMapping("/init/after/group")
@SystemControllerLog(description = "商场-数据更新") @SystemControllerLog(description = "商场-数据更新")
@TenantIgnore @TenantIgnore
public ResultData initAfterGroup(@RequestBody WxMall wxMall) {
public ResultData initAfterGroup(@RequestBody Map<String, Object> map) {
logger.debug("[" + getIpAddr() + "] WxProjectConfigController::initAfterGroup"); logger.debug("[" + getIpAddr() + "] WxProjectConfigController::initAfterGroup");
try { try {
if(StringUtils.isBlank(wxMall.getTenantId())){
String tenantId = (String) map.get("tenantId");
String[] subTenantIds = (String[]) map.get("subTenantIds");

if(StringUtils.isBlank(tenantId)){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
} }
if(StringUtils.isBlank(wxMall.getParentTenantId())){
if(subTenantIds == null || subTenantIds.length == 0){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
} }
TenantEntity TenantEntity = new TenantEntity(){{ TenantEntity TenantEntity = new TenantEntity(){{
setTenantId(wxMall.getParentTenantId());
setTenantId(tenantId);
}}; }};
WxMall parentWxMall = wxMallService.getByTenantInfo(TenantEntity); WxMall parentWxMall = wxMallService.getByTenantInfo(TenantEntity);
if(parentWxMall == null || parentWxMall.getSaleType() != 100 if(parentWxMall == null || parentWxMall.getSaleType() != 100
@@ -687,7 +692,9 @@ public class WxProjectConfigController extends BaseController {
}else{ }else{
openRedisTemplate.opsForValue().set(key,"1",3000, TimeUnit.SECONDS); openRedisTemplate.opsForValue().set(key,"1",3000, TimeUnit.SECONDS);
} }
wxProjectConfigService.initAfterGroup(wxMall.getParentTenantId(),wxMall.getTenantId());

String join = StringUtils.join(subTenantIds, ',');
wxProjectConfigService.initAfterGroup(tenantId,join);


return new ResultData(); return new ResultData();
}catch (Exception e){ }catch (Exception e){


+ 6
- 4
mallinkAdmin/src/main/resources/db/migration/V202007311142__GROUP__ADD_002.sql Zobrazit soubor

@@ -20,10 +20,12 @@ BEGIN
PREPARE stmt_old FROM @old_data_sql; PREPARE stmt_old FROM @old_data_sql;
EXECUTE stmt_old; EXECUTE stmt_old;
DEALLOCATE PREPARE stmt_old; DEALLOCATE PREPARE stmt_old;
SET @new_data_sql = CONCAT("UPDATE ",tableName," SET parent_tenant_id = '",tenantId,"' WHERE FIND_IN_SET(tenant_id ,'",subTenantIds,"');");
PREPARE stmt_new FROM @new_data_sql;
EXECUTE stmt_new;
DEALLOCATE PREPARE stmt_new;
IF ISNULL(subTenantIds)=0 and LENGTH(trim(subTenantIds))>0 THEN
SET @new_data_sql = CONCAT("UPDATE ",tableName," SET parent_tenant_id = '",tenantId,"' WHERE FIND_IN_SET(tenant_id ,'",subTenantIds,"');");
PREPARE stmt_new FROM @new_data_sql;
EXECUTE stmt_new;
DEALLOCATE PREPARE stmt_new;
END IF;
END LOOP; END LOOP;
CLOSE table_cursor; CLOSE table_cursor;
IF err_flag THEN IF err_flag THEN


+ 2
- 0
mallinkService/src/main/resources/mapper/WxMallMapper.xml Zobrazit soubor

@@ -193,11 +193,13 @@
<update id="undateSubmall"> <update id="undateSubmall">
update wx_mall set parent_tenant_id = null where parent_tenant_id = #{parentTenantId} ; update wx_mall set parent_tenant_id = null where parent_tenant_id = #{parentTenantId} ;
<if test="tenantIds != null and tenantIds.length > 0">
update wx_mall set parent_tenant_id = #{parentTenantId} where tenant_id in update wx_mall set parent_tenant_id = #{parentTenantId} where tenant_id in
<foreach collection="tenantIds" item="item" index="index" open="(" <foreach collection="tenantIds" item="item" index="index" open="("
separator="," close=")"> separator="," close=")">
#{item} #{item}
</foreach> </foreach>
</if>
</update> </update>






Načítá se…
Zrušit
Uložit