Pārlūkot izejas kodu

fix

release_toaliyun_real
winter pirms 2 gadiem
vecāks
revīzija
e7f6172072
3 mainītis faili ar 45 papildinājumiem un 31 dzēšanām
  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 Parādīt failu

@@ -51,9 +51,9 @@ public class WxLevelConfigController extends BaseController {
public ResultData add(@RequestBody List<WxLevelConfig> levelConfigs) {
logger.debug("[" + getIpAddr() + "] WxLevelConfigController::add");
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);
} catch (Exception e) {
logger.error(e.getMessage());


+ 40
- 26
mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java Parādīt failu

@@ -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);
}
}

+ 2
- 2
mallinkService/src/main/resources/mapper/WxLevelConfigCouponMapper.xml Parādīt failu

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

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

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

<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>

</mapper>

Notiek ielāde…
Atcelt
Saglabāt