|
|
|
@@ -22,6 +22,8 @@ import com.iformall.service.WxCUserBasicInfoService; |
|
|
|
import com.iformall.service.WxLevelConfigService; |
|
|
|
import com.iformall.utils.Constant; |
|
|
|
import com.iformall.utils.RedisCacheUtils; |
|
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
@@ -160,7 +162,7 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { |
|
|
|
|
|
|
|
@Override |
|
|
|
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); |
|
|
|
if (null == clist || clist.size() <= 0) { |
|
|
|
WxLevelConfig wxLevelConfig = new WxLevelConfig(); |
|
|
|
@@ -196,12 +198,18 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { |
|
|
|
} else { |
|
|
|
wxLevelConfigMapper.updateById(record); |
|
|
|
} |
|
|
|
this.deleteRedis(record.getTenantId()); |
|
|
|
this.deleteRedis(record.getFinalTenantId(), record.getTenantId()); |
|
|
|
} |
|
|
|
|
|
|
|
@Transactional(rollbackFor = {Exception.class}) |
|
|
|
@Override |
|
|
|
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(); |
|
|
|
wxLevelConfigMapper.deleteAll(tenantEntity.getFinalTenantId()); |
|
|
|
List<WxLevelConfig> levelConfigs = new ArrayList<>(); |
|
|
|
@@ -210,6 +218,7 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { |
|
|
|
levelConfig.setId(idWorker.nextId()); |
|
|
|
levelConfig.setCreateDate(new Date()); |
|
|
|
levelConfig.setUpdateDate(new Date()); |
|
|
|
isCreate = true; |
|
|
|
} else { |
|
|
|
levelConfig.setUpdateDate(new Date()); |
|
|
|
} |
|
|
|
@@ -217,27 +226,32 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { |
|
|
|
levelConfig.setTenantId(tenantEntity.getFinalTenantId()); |
|
|
|
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 |
|
|
|
@@ -258,7 +272,7 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { |
|
|
|
wxLevelConfigMapper.batchUpdate(config); |
|
|
|
} |
|
|
|
|
|
|
|
this.deleteRedis(tenantEntity.getFinalTenantId()); |
|
|
|
this.deleteRedis(tenantEntity.getFinalTenantId(),tenantEntity.getTenantId()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@@ -274,13 +288,13 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { |
|
|
|
lc.setLevelId(records.getId()); |
|
|
|
wxLevelConfigCouponMapper.deleteByConfig(lc); |
|
|
|
|
|
|
|
this.deleteRedis(records.getTenantId()); |
|
|
|
this.deleteRedis(records.getFinalTenantId(),records.getTenantId()); |
|
|
|
wxLevelConfigMapper.deleteById(id); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void deleteAll(TenantEntity tenantEntity) { |
|
|
|
this.deleteRedis(tenantEntity.getFinalTenantId()); |
|
|
|
this.deleteRedis(tenantEntity.getFinalTenantId(),tenantEntity.getTenantId()); |
|
|
|
wxLevelConfigMapper.deleteAll(tenantEntity.getFinalTenantId()); |
|
|
|
|
|
|
|
} |
|
|
|
@@ -295,8 +309,8 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { |
|
|
|
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); |
|
|
|
} |
|
|
|
} |