Преглед на файлове

fix

release_toaliyun_real
winter преди 2 години
родител
ревизия
e7f6172072
променени са 3 файла, в които са добавени 45 реда и са изтрити 31 реда
  1. +3
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxLevelConfigController.java
  2. +40
    -26
      mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java
  3. +2
    -2
      mallinkService/src/main/resources/mapper/WxLevelConfigCouponMapper.xml

+ 3
- 3
mallinkAdmin/src/main/java/com/iformall/controller/mem/WxLevelConfigController.java Целия файл

@@ -51,9 +51,9 @@ public class WxLevelConfigController extends BaseController {
public ResultData add(@RequestBody List<WxLevelConfig> levelConfigs) { public ResultData add(@RequestBody List<WxLevelConfig> levelConfigs) {
logger.debug("[" + getIpAddr() + "] WxLevelConfigController::add"); logger.debug("[" + getIpAddr() + "] WxLevelConfigController::add");
try { try {
if (StringUtils.isNotBlank(getTenantInfo().getParentTenantId())) {
return new ResultData(ErrorCode.USER_NO_PERMISSION.getCode(), "子广场用户无此权限");
}
//if (StringUtils.isNotBlank(getTenantInfo().getParentTenantId())) {
// return new ResultData(ErrorCode.USER_NO_PERMISSION.getCode(), "子广场用户无此权限");
//}
wxLevelConfigService.batchSave(getTenantInfo(), levelConfigs); wxLevelConfigService.batchSave(getTenantInfo(), levelConfigs);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());


+ 40
- 26
mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java Целия файл

@@ -22,6 +22,8 @@ import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.WxLevelConfigService; import com.iformall.service.WxLevelConfigService;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import com.iformall.utils.RedisCacheUtils; import com.iformall.utils.RedisCacheUtils;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -160,7 +162,7 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService {


@Override @Override
public List<WxLevelConfig> getByTenantInfo(TenantEntity tenantEntity) { public List<WxLevelConfig> getByTenantInfo(TenantEntity tenantEntity) {
String key = Constant.levelConfigPrev + tenantEntity.getFinalTenantId();
String key = Constant.levelConfigPrev + tenantEntity.getFinalTenantId()+":"+tenantEntity.getTenantId();
List<WxLevelConfig> clist = RedisCacheUtils.getCacheListObject(wxLevelConfigListRedisTemplate, key, WxLevelConfig.class); List<WxLevelConfig> clist = RedisCacheUtils.getCacheListObject(wxLevelConfigListRedisTemplate, key, WxLevelConfig.class);
if (null == clist || clist.size() <= 0) { if (null == clist || clist.size() <= 0) {
WxLevelConfig wxLevelConfig = new WxLevelConfig(); WxLevelConfig wxLevelConfig = new WxLevelConfig();
@@ -196,12 +198,18 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService {
} else { } else {
wxLevelConfigMapper.updateById(record); wxLevelConfigMapper.updateById(record);
} }
this.deleteRedis(record.getTenantId());
this.deleteRedis(record.getFinalTenantId(), record.getTenantId());
} }


@Transactional(rollbackFor = {Exception.class}) @Transactional(rollbackFor = {Exception.class})
@Override @Override
public void batchSave(TenantEntity tenantEntity, List<WxLevelConfig> records) { public void batchSave(TenantEntity tenantEntity, List<WxLevelConfig> records) {
boolean isParent = true;
boolean isCreate = false;
if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) {
isParent = false;
}
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
wxLevelConfigMapper.deleteAll(tenantEntity.getFinalTenantId()); wxLevelConfigMapper.deleteAll(tenantEntity.getFinalTenantId());
List<WxLevelConfig> levelConfigs = new ArrayList<>(); List<WxLevelConfig> levelConfigs = new ArrayList<>();
@@ -210,6 +218,7 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService {
levelConfig.setId(idWorker.nextId()); levelConfig.setId(idWorker.nextId());
levelConfig.setCreateDate(new Date()); levelConfig.setCreateDate(new Date());
levelConfig.setUpdateDate(new Date()); levelConfig.setUpdateDate(new Date());
isCreate = true;
} else { } else {
levelConfig.setUpdateDate(new Date()); levelConfig.setUpdateDate(new Date());
} }
@@ -217,27 +226,32 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService {
levelConfig.setTenantId(tenantEntity.getFinalTenantId()); levelConfig.setTenantId(tenantEntity.getFinalTenantId());
levelConfigs.add(levelConfig); levelConfigs.add(levelConfig);
WxLevelConfigCoupon lc = new WxLevelConfigCoupon();
lc.updateTenantInfo(tenantEntity);
lc.setLevelId(levelConfig.getId());
wxLevelConfigCouponMapper.deleteByConfig(lc);
if (null != levelConfig.getCoupons()) {
for (int i = 0 ; i < levelConfig.getCoupons().size(); i++) {
WxLevelConfigCoupon lcc = levelConfig.getCoupons().get(i);
WxLevelConfigCoupon wlcc = new WxLevelConfigCoupon();
wlcc.updateTenantInfo(tenantEntity);
wlcc.setCouponId(lcc.getCouponId());
wlcc.setId(idWorker.nextId());
wlcc.setCreateDate(new Date());
wlcc.setUpdateDate(new Date());
wlcc.setLevelId(levelConfig.getId());
wxLevelConfigCouponMapper.insert(wlcc);
}
//如果不是父级,点添加是不处理的
if (!isParent && isCreate) {
}else {
WxLevelConfigCoupon lc = new WxLevelConfigCoupon();
lc.updateTenantInfo(tenantEntity);
lc.setLevelId(levelConfig.getId());
wxLevelConfigCouponMapper.deleteByConfig(lc);
if (null != levelConfig.getCoupons()) {
for (int i = 0 ; i < levelConfig.getCoupons().size(); i++) {
WxLevelConfigCoupon lcc = levelConfig.getCoupons().get(i);
WxLevelConfigCoupon wlcc = new WxLevelConfigCoupon();
wlcc.updateTenantInfo(tenantEntity);
wlcc.setCouponId(lcc.getCouponId());
wlcc.setId(idWorker.nextId());
wlcc.setCreateDate(new Date());
wlcc.setUpdateDate(new Date());
wlcc.setLevelId(levelConfig.getId());
wxLevelConfigCouponMapper.insert(wlcc);
}
}
} }
} }
wxLevelConfigMapper.insertBatch(levelConfigs);

this.deleteRedis(tenantEntity.getFinalTenantId());
if (isParent) {
wxLevelConfigMapper.insertBatch(levelConfigs);
}
this.deleteRedis(tenantEntity.getFinalTenantId(),tenantEntity.getTenantId());
} }


@Override @Override
@@ -258,7 +272,7 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService {
wxLevelConfigMapper.batchUpdate(config); wxLevelConfigMapper.batchUpdate(config);
} }


this.deleteRedis(tenantEntity.getFinalTenantId());
this.deleteRedis(tenantEntity.getFinalTenantId(),tenantEntity.getTenantId());
} }


@Override @Override
@@ -274,13 +288,13 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService {
lc.setLevelId(records.getId()); lc.setLevelId(records.getId());
wxLevelConfigCouponMapper.deleteByConfig(lc); wxLevelConfigCouponMapper.deleteByConfig(lc);
this.deleteRedis(records.getTenantId());
this.deleteRedis(records.getFinalTenantId(),records.getTenantId());
wxLevelConfigMapper.deleteById(id); wxLevelConfigMapper.deleteById(id);
} }


@Override @Override
public void deleteAll(TenantEntity tenantEntity) { public void deleteAll(TenantEntity tenantEntity) {
this.deleteRedis(tenantEntity.getFinalTenantId());
this.deleteRedis(tenantEntity.getFinalTenantId(),tenantEntity.getTenantId());
wxLevelConfigMapper.deleteAll(tenantEntity.getFinalTenantId()); wxLevelConfigMapper.deleteAll(tenantEntity.getFinalTenantId());
} }
@@ -295,8 +309,8 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService {
return wxLevelMerchantapper.findListCVo(record); return wxLevelMerchantapper.findListCVo(record);
} }


private void deleteRedis(String tenantId){
String key1 = Constant.levelConfigPrev + tenantId;
private void deleteRedis(String finalTenantId,String tenantId){
String key1 = Constant.levelConfigPrev + finalTenantId+":"+tenantId;
RedisCacheUtils.removeCache(wxLevelConfigListRedisTemplate, key1); RedisCacheUtils.removeCache(wxLevelConfigListRedisTemplate, key1);
} }
} }

+ 2
- 2
mallinkService/src/main/resources/mapper/WxLevelConfigCouponMapper.xml Целия файл

@@ -15,7 +15,7 @@
</sql> </sql>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">
where `tenant_id` = #{finalTenantId}
where `tenant_id` = #{tenantId}


<if test=" null != id "> <if test=" null != id ">
and `id` = #{id} and `id` = #{id}
@@ -46,7 +46,7 @@
</select> </select>


<delete id="deleteByConfig" parameterType="com.iformall.domain.po.WxLevelConfigCoupon"> <delete id="deleteByConfig" parameterType="com.iformall.domain.po.WxLevelConfigCoupon">
delete from wx_level_config_coupon where `tenant_id` = #{finalTenantId} and level_id = #{levelId}
delete from wx_level_config_coupon where `tenant_id` = #{tenantId} and level_id = #{levelId}
</delete> </delete>


</mapper> </mapper>

Зареждане…
Отказ
Запис