新增用户配置

This commit is contained in:
liuzhaotian
2024-07-19 14:44:21 +08:00
parent c9788110fb
commit 43f705f602
13 changed files with 394 additions and 10 deletions
@@ -24,6 +24,6 @@ public class DataSourceApiImpl implements DataSourceApi {
if(Objects.isNull(dataSourceDO)) {
throw exception(new ErrorCode(2133,"数据源不存在"));
}
return CommonResult.success(dataSourceDO.getSqlStr()) ;
return null;
}
}
@@ -0,0 +1,67 @@
package com.cf.imes.module.system.controller.admin.setting;
import com.cf.imes.framework.common.pojo.CommonResult;
import com.cf.imes.module.system.controller.admin.datasource.vo.DataSourceFiledReqVO;
import com.cf.imes.module.system.controller.admin.setting.vo.PackageConfigReqVO;
import com.cf.imes.module.system.service.setting.SettingService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 系统配置")
@RestController
@RequestMapping("/system/setting")
@Validated
public class SettingController {
@Resource
private SettingService settingService;
@PutMapping("/insert")
@Operation(summary = "新增系统配置")
//@PreAuthorize("@ss.hasPermission('system:data-source:query')")
public CommonResult<Long> insertSetting( @RequestBody PackageConfigReqVO reqVO ) {
return success(settingService.insertSetting(reqVO));
}
@PostMapping("/update")
@Operation(summary = "更新系统配置")
//@PreAuthorize("@ss.hasPermission('system:data-source:query')")
public CommonResult<Long> updateSetting( @RequestBody PackageConfigReqVO reqVO ) {
return success(settingService.updateSetting(reqVO));
}
@GetMapping("/select")
@Operation(summary = "查看当前用户的配置信息")
@Parameter(name = "type", description = "配置类型", required = true)
public CommonResult<PackageConfigReqVO> selectSetting( @RequestParam("type") Integer type ) {
return success(settingService.selectSetting(type));
}
}
@@ -0,0 +1,26 @@
package com.cf.imes.module.system.dal.mysql.setting;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.system.controller.admin.machine.vo.MachinePageReqVO;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO;
import com.cf.imes.module.system.dal.dataobject.setting.PackageConfigDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.Collection;
@Mapper
public interface SettingMapper extends BaseMapperX<PackageConfigDO> {
default PackageConfigDO selectSetting(Integer type, Long id, Long organId) {
return selectOne( new LambdaQueryWrapperX<PackageConfigDO>()
.eqIfPresent(PackageConfigDO::getOrganId,organId)
.eqIfPresent(PackageConfigDO::getUserId,id)
.eqIfPresent(PackageConfigDO::getType,type));
}
}
@@ -0,0 +1,16 @@
package com.cf.imes.module.system.service.setting;
import com.cf.imes.module.system.controller.admin.setting.vo.PackageConfigReqVO;
import org.springframework.stereotype.Service;
public interface SettingService {
Long insertSetting(PackageConfigReqVO reqVO);
Long updateSetting(PackageConfigReqVO reqVO);
PackageConfigReqVO selectSetting(Integer type);
}
@@ -0,0 +1,83 @@
package com.cf.imes.module.system.service.setting;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.security.core.LoginUser;
import com.cf.imes.module.system.controller.admin.setting.vo.PackageConfigReqVO;
import com.cf.imes.module.system.dal.dataobject.setting.PackageConfigDO;
import com.cf.imes.module.system.dal.mysql.setting.SettingMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
@Service
@Validated
public class SettingServiceImpl implements SettingService{
@Resource
private SettingMapper settingMapper;
@Override
public Long insertSetting(PackageConfigReqVO reqVO) {
LoginUser loginUser = getLoginUser();
PackageConfigDO packageConfigDO = PackageConfigDO.builder()
.userId(loginUser.getId())
.organId(loginUser.getOrganId())
.setting(JsonUtils.zipString(reqVO.getSetting().toJSONString()))
.type(reqVO.getType())
.build();
settingMapper.insert(packageConfigDO);
return packageConfigDO.getId();
}
@Override
public Long updateSetting(PackageConfigReqVO reqVO) {
// 更新
PackageConfigDO packageConfigDO = settingMapper.selectById(reqVO.getId());
if (packageConfigDO == null) {
throw exception(CURRENTLY_NO_CONFIGURATION_AVAILABLE);
}
if(reqVO.getSetting() != null) {
packageConfigDO.setSetting(JsonUtils.zipString(reqVO.getSetting().toJSONString()));
}
settingMapper.updateById(packageConfigDO);
return packageConfigDO.getId();
}
@Override
public PackageConfigReqVO selectSetting(Integer type) {
LoginUser loginUser = getLoginUser();
PackageConfigDO packageConfigDO = settingMapper.selectSetting(type, loginUser.getId(), loginUser.getOrganId());
if (packageConfigDO == null) {
throw exception(CURRENTLY_NO_CONFIGURATION_AVAILABLE);
}
packageConfigDO.setSetting(JsonUtils.unzipString(packageConfigDO.getSetting()));
return BeanUtils.toBean(packageConfigDO,PackageConfigReqVO.class);
}
}