运营配置

This commit is contained in:
attiya 2025-10-28 10:18:27 +08:00
parent e4ffe2fc0e
commit a77e71ec4d
5 changed files with 151 additions and 5 deletions

View File

@ -0,0 +1,14 @@
package com.cdzy.operations.mapper;
import com.mybatisflex.core.BaseMapper;
import com.cdzy.operations.model.entity.EbikeOperationConfig;
/**
* 映射层
*
* @author attiya
* @since 2025-10-28
*/
public interface EbikeOperationConfigMapper extends BaseMapper<EbikeOperationConfig> {
}

View File

@ -0,0 +1,51 @@
package com.cdzy.operations.model.entity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 实体类
*
* @author attiya
* @since 2025-10-28
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("ebike_operation_config")
public class EbikeOperationConfig implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 运营配置ID
*/
@Id
private Long operationConfigId;
/**
* 运营区ID
*/
private Long regionId;
/**
* 支付方式wechat/alipay/balance
*/
private String paymentMethod;
/**
* 认证方式1-实名 2-学生 3-无需认证
*/
private Integer certificationType;
}

View File

@ -1,5 +1,6 @@
package com.cdzy.operations.model.vo;
import com.cdzy.operations.model.entity.EbikeOperationConfig;
import com.cdzy.operations.model.entity.EbikeOperationLockConfig;
import com.cdzy.operations.model.entity.EbikeOperationReturnConfig;
import com.cdzy.operations.model.entity.EbikeOperationUseConfig;
@ -34,4 +35,14 @@ public class EbikeOperationConfigVo{
*/
private EbikeOperationUseConfig useConfig;
/**
* 运营配置
*/
private EbikeOperationConfig operationConfig;
/**
* 运营区ID
*/
private Long regionId;
}

View File

@ -3,15 +3,21 @@ package com.cdzy.operations.service.impl;
import cn.dev33.satoken.stp.StpUtil;
import com.cdzy.common.ex.EbikeException;
import com.cdzy.operations.enums.RegionStatus;
import com.cdzy.operations.mapper.EbikeRegionMapper;
import com.cdzy.operations.model.entity.EbikeRegion;
import com.cdzy.operations.mapper.*;
import com.cdzy.operations.model.entity.*;
import com.cdzy.operations.model.vo.EbikeOperationConfigVo;
import com.cdzy.operations.model.vo.EbikeRegionVo;
import com.cdzy.operations.service.EbikeRegionService;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import static com.cdzy.operations.model.entity.table.EbikeOperationConfigTableDef.EBIKE_OPERATION_CONFIG;
import static com.cdzy.operations.model.entity.table.EbikeOperationLockConfigTableDef.EBIKE_OPERATION_LOCK_CONFIG;
import static com.cdzy.operations.model.entity.table.EbikeOperationReturnConfigTableDef.EBIKE_OPERATION_RETURN_CONFIG;
import static com.cdzy.operations.model.entity.table.EbikeOperationUseConfigTableDef.EBIKE_OPERATION_USE_CONFIG;
import static com.cdzy.operations.model.entity.table.EbikeRegionTableDef.EBIKE_REGION;
/**
@ -23,6 +29,18 @@ import static com.cdzy.operations.model.entity.table.EbikeRegionTableDef.EBIKE_R
@Service
public class EbikeRegionServiceImpl extends ServiceImpl<EbikeRegionMapper, EbikeRegion> implements EbikeRegionService {
@Resource
private EbikeOperationConfigMapper operationConfigMapper;
@Resource
private EbikeOperationUseConfigMapper useConfigMapper;
@Resource
private EbikeOperationLockConfigMapper lockConfigMapper;
@Resource
private EbikeOperationReturnConfigMapper returnConfigMapper;
@Override
public void save(EbikeRegionVo ebikeRegion) {
EbikeRegion entity = EbikeRegion.builder()
@ -52,12 +70,64 @@ public class EbikeRegionServiceImpl extends ServiceImpl<EbikeRegionMapper, Ebike
}
@Override
@Transactional(rollbackFor = Exception.class)
public void operationConfiguration(EbikeOperationConfigVo configurationVo) {
EbikeOperationConfig operationConfig = configurationVo.getOperationConfig();
EbikeOperationLockConfig lockConfig = configurationVo.getLockConfig();
EbikeOperationReturnConfig returnConfig = configurationVo.getReturnConfig();
EbikeOperationUseConfig useConfig = configurationVo.getUseConfig();
Long regionId = configurationVo.getRegionId();
if (operationConfig != null) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_OPERATION_CONFIG.REGION_ID.eq(regionId));
operationConfigMapper.deleteByQuery(queryWrapper);
operationConfigMapper.insert(operationConfig);
}
if (lockConfig != null) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_OPERATION_LOCK_CONFIG.REGION_ID.eq(regionId));
lockConfigMapper.deleteByQuery(queryWrapper);
lockConfigMapper.insert(lockConfig);
}
if (returnConfig != null) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_OPERATION_RETURN_CONFIG.REGION_ID.eq(regionId));
returnConfigMapper.deleteByQuery(queryWrapper);
returnConfigMapper.insert(returnConfig);
}
if (useConfig != null) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_OPERATION_USE_CONFIG.REGION_ID.eq(regionId));
useConfigMapper.deleteByQuery(queryWrapper);
useConfigMapper.insert(useConfig);
}
}
@Override
public EbikeOperationConfigVo getOperationConfiguration(Long regionId) {
return null;
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_OPERATION_CONFIG.REGION_ID.eq(regionId));
EbikeOperationConfig operationConfig = operationConfigMapper.selectOneByQuery(queryWrapper);
queryWrapper.clear();
queryWrapper.where(EBIKE_OPERATION_LOCK_CONFIG.REGION_ID.eq(regionId));
EbikeOperationLockConfig lockConfig = lockConfigMapper.selectOneByQuery(queryWrapper);
queryWrapper.clear();
queryWrapper.where(EBIKE_OPERATION_RETURN_CONFIG.REGION_ID.eq(regionId));
EbikeOperationReturnConfig returnConfig = returnConfigMapper.selectOneByQuery(queryWrapper);
queryWrapper.clear();
queryWrapper.where(EBIKE_OPERATION_USE_CONFIG.REGION_ID.eq(regionId));
EbikeOperationUseConfig useConfig = useConfigMapper.selectOneByQuery(queryWrapper);
return EbikeOperationConfigVo.builder()
.regionId(regionId)
.operationConfig(operationConfig)
.lockConfig(lockConfig)
.returnConfig(returnConfig)
.useConfig(useConfig)
.build();
}
}

View File

@ -12,7 +12,7 @@ class EbikeStaffApplicationTests {
private static final String mapperPath="D:/ebike_plus/ebike-operations/resources/mapper";
private static final String packageName ="com.cdzy.operations";
private static final String[] tables= new String[]{
"ebike_operation_return_config","ebike_operation_lock_config","ebike_operation_use_config"
"ebike_operation_config"
};
@Test