xhxu 5 лет назад
Родитель
Сommit
551460bef7
3 измененных файлов: 26 добавлений и 15 удалений
  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 Просмотреть файл

@@ -628,17 +628,20 @@ public class WxProjectConfigController extends BaseController {
@PostMapping("/init/submall")
@SystemControllerLog(description = "子广场-更新")
@TenantIgnore
public ResultData initSubmall(@RequestBody WxMall wxMall) {
public ResultData initSubmall(@RequestBody Map<String, Object> map) {
logger.debug("[" + getIpAddr() + "] WxProjectConfigController::initSubmall");
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);
}
if(StringUtils.isBlank(wxMall.getParentTenantId())){
if(subTenantIds == null || subTenantIds.length == 0){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
TenantEntity TenantEntity = new TenantEntity(){{
setTenantId(wxMall.getParentTenantId());
setTenantId(tenantId);
}};
WxMall parentWxMall = wxMallService.getByTenantInfo(TenantEntity);
if(parentWxMall == null || parentWxMall.getSaleType() != 100
@@ -646,8 +649,7 @@ public class WxProjectConfigController extends BaseController {
|| StringUtils.isNotBlank(parentWxMall.getParentTenantId())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
}
String[] tenantIds = wxMall.getTenantId().split(",");
wxProjectConfigService.initSubmall(wxMall.getParentTenantId(),tenantIds);
wxProjectConfigService.initSubmall(tenantId,subTenantIds);

return new ResultData();
}catch (Exception e){
@@ -660,17 +662,20 @@ public class WxProjectConfigController extends BaseController {
@PostMapping("/init/after/group")
@SystemControllerLog(description = "商场-数据更新")
@TenantIgnore
public ResultData initAfterGroup(@RequestBody WxMall wxMall) {
public ResultData initAfterGroup(@RequestBody Map<String, Object> map) {
logger.debug("[" + getIpAddr() + "] WxProjectConfigController::initAfterGroup");
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);
}
if(StringUtils.isBlank(wxMall.getParentTenantId())){
if(subTenantIds == null || subTenantIds.length == 0){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
TenantEntity TenantEntity = new TenantEntity(){{
setTenantId(wxMall.getParentTenantId());
setTenantId(tenantId);
}};
WxMall parentWxMall = wxMallService.getByTenantInfo(TenantEntity);
if(parentWxMall == null || parentWxMall.getSaleType() != 100
@@ -687,7 +692,9 @@ public class WxProjectConfigController extends BaseController {
}else{
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();
}catch (Exception e){


+ 6
- 4
mallinkAdmin/src/main/resources/db/migration/V202007311142__GROUP__ADD_002.sql Просмотреть файл

@@ -20,10 +20,12 @@ BEGIN
PREPARE stmt_old FROM @old_data_sql;
EXECUTE 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;
CLOSE table_cursor;
IF err_flag THEN


+ 2
- 0
mallinkService/src/main/resources/mapper/WxMallMapper.xml Просмотреть файл

@@ -193,11 +193,13 @@
<update id="undateSubmall">
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
<foreach collection="tenantIds" item="item" index="index" open="("
separator="," close=")">
#{item}
</foreach>
</if>
</update>




Загрузка…
Отмена
Сохранить