28 changed files with 670 additions and 96 deletions
@ -0,0 +1,21 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.stereotype.Controller; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 地图核心主任务表 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
@Controller |
||||||
|
@RequestMapping("/map") |
||||||
|
public class MapController { |
||||||
|
|
||||||
|
} |
||||||
|
|
@ -0,0 +1,21 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.stereotype.Controller; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
@Controller |
||||||
|
@RequestMapping("/mapHandoverPreset") |
||||||
|
public class MapHandoverPresetController { |
||||||
|
|
||||||
|
} |
||||||
|
|
@ -0,0 +1,21 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.controller; |
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.stereotype.Controller; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 地图核心主任务表 前端控制器 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
@Controller |
||||||
|
@RequestMapping("/mapLogisticPoint") |
||||||
|
public class MapLogisticPointController { |
||||||
|
|
||||||
|
} |
||||||
|
|
@ -1,44 +1,21 @@ |
|||||||
package com.cloud.kicc.commonbiz.controller; |
package com.cloud.kicc.commonbiz.controller; |
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
||||||
import com.cloud.kicc.common.core.api.R; |
|
||||||
import com.cloud.kicc.common.core.constant.AppConstants; |
|
||||||
import com.cloud.kicc.common.log.annotation.SysLog; |
|
||||||
import com.cloud.kicc.commonbiz.api.entity.MapTask; |
|
||||||
import com.cloud.kicc.commonbiz.service.MapTaskService; |
|
||||||
import lombok.RequiredArgsConstructor; |
|
||||||
import org.springframework.security.access.prepost.PreAuthorize; |
|
||||||
import org.springframework.web.bind.annotation.*; |
|
||||||
|
|
||||||
import java.util.List; |
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
|
||||||
|
import org.springframework.stereotype.Controller; |
||||||
|
|
||||||
/** |
/** |
||||||
*<p> |
* <p> |
||||||
* 地图任务信息 |
* 前端控制器 |
||||||
*</p> |
* </p> |
||||||
* |
* |
||||||
* @Author: entfrm开发团队-王翔 |
* @author entfrm开发团队-王翔 |
||||||
* @Date: 2022/6/6 |
* @since 2022-07-22 |
||||||
*/ |
*/ |
||||||
@RestController |
@Controller |
||||||
@RequiredArgsConstructor |
@RequestMapping("/mapTask") |
||||||
@RequestMapping(AppConstants.APP_COMMON + "/mapTask") |
|
||||||
public class MapTaskController { |
public class MapTaskController { |
||||||
|
|
||||||
private final MapTaskService mapTaskService; |
|
||||||
|
|
||||||
@GetMapping("/list/{takeSpecimenId}") |
|
||||||
public R list(@PathVariable String takeSpecimenId) { |
|
||||||
List<MapTask> list = mapTaskService.list(Wrappers.<MapTask>lambdaQuery().eq(MapTask::getTakeSpecimenId, takeSpecimenId)); |
|
||||||
return R.ok(list); |
|
||||||
} |
|
||||||
|
|
||||||
@SysLog("用户修改") |
|
||||||
@PutMapping("/update") |
|
||||||
@PreAuthorize("@pms.hasPermission('user_edit')") |
|
||||||
public R update(@RequestBody List<MapTask> mapTasks) { |
|
||||||
mapTaskService.batchUpdate(mapTasks); |
|
||||||
return R.ok(); |
|
||||||
} |
|
||||||
|
|
||||||
} |
} |
||||||
|
|
||||||
|
@ -0,0 +1,16 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.mapper; |
||||||
|
|
||||||
|
import com.cloud.kicc.commonbiz.api.entity.MapHandoverPreset; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
public interface MapHandoverPresetMapper extends BaseMapper<MapHandoverPreset> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.mapper; |
||||||
|
|
||||||
|
import com.cloud.kicc.commonbiz.api.entity.MapLogisticPoint; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 地图核心主任务表 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
public interface MapLogisticPointMapper extends BaseMapper<MapLogisticPoint> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.mapper; |
||||||
|
|
||||||
|
import com.cloud.kicc.commonbiz.api.entity.Map; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 地图核心主任务表 Mapper 接口 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
public interface MapMapper extends BaseMapper<Map> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.service; |
||||||
|
|
||||||
|
import com.cloud.kicc.commonbiz.api.entity.MapHandoverPreset; |
||||||
|
import com.baomidou.mybatisplus.extension.service.IService; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 服务类 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
public interface IMapHandoverPresetService extends IService<MapHandoverPreset> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.service; |
||||||
|
|
||||||
|
import com.cloud.kicc.commonbiz.api.entity.MapLogisticPoint; |
||||||
|
import com.baomidou.mybatisplus.extension.service.IService; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 地图核心主任务表 服务类 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
public interface IMapLogisticPointService extends IService<MapLogisticPoint> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.service; |
||||||
|
|
||||||
|
import com.cloud.kicc.commonbiz.api.entity.Map; |
||||||
|
import com.baomidou.mybatisplus.extension.service.IService; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 地图核心主任务表 服务类 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
public interface IMapService extends IService<Map> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.service; |
||||||
|
|
||||||
|
import com.cloud.kicc.commonbiz.api.entity.MapTask; |
||||||
|
import com.baomidou.mybatisplus.extension.service.IService; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 服务类 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
public interface IMapTaskService extends IService<MapTask> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.service.impl; |
||||||
|
|
||||||
|
import com.cloud.kicc.commonbiz.api.entity.MapHandoverPreset; |
||||||
|
import com.cloud.kicc.commonbiz.mapper.MapHandoverPresetMapper; |
||||||
|
import com.cloud.kicc.commonbiz.service.IMapHandoverPresetService; |
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 服务实现类 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class MapHandoverPresetServiceImpl extends ServiceImpl<MapHandoverPresetMapper, MapHandoverPreset> implements IMapHandoverPresetService { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.service.impl; |
||||||
|
|
||||||
|
import com.cloud.kicc.commonbiz.api.entity.MapLogisticPoint; |
||||||
|
import com.cloud.kicc.commonbiz.mapper.MapLogisticPointMapper; |
||||||
|
import com.cloud.kicc.commonbiz.service.IMapLogisticPointService; |
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 地图核心主任务表 服务实现类 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class MapLogisticPointServiceImpl extends ServiceImpl<MapLogisticPointMapper, MapLogisticPoint> implements IMapLogisticPointService { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package com.cloud.kicc.commonbiz.service.impl; |
||||||
|
|
||||||
|
import com.cloud.kicc.commonbiz.api.entity.Map; |
||||||
|
import com.cloud.kicc.commonbiz.mapper.MapMapper; |
||||||
|
import com.cloud.kicc.commonbiz.service.IMapService; |
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* 地图核心主任务表 服务实现类 |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author entfrm开发团队-王翔 |
||||||
|
* @since 2022-07-22 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class MapServiceImpl extends ServiceImpl<MapMapper, Map> implements IMapService { |
||||||
|
|
||||||
|
} |
@ -1,33 +1,20 @@ |
|||||||
package com.cloud.kicc.commonbiz.service.impl; |
package com.cloud.kicc.commonbiz.service.impl; |
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
||||||
import com.cloud.kicc.commonbiz.api.entity.MapTask; |
import com.cloud.kicc.commonbiz.api.entity.MapTask; |
||||||
import com.cloud.kicc.commonbiz.mapper.MapTaskMapper; |
import com.cloud.kicc.commonbiz.mapper.MapTaskMapper; |
||||||
import com.cloud.kicc.commonbiz.service.MapTaskService; |
import com.cloud.kicc.commonbiz.service.IMapTaskService; |
||||||
import lombok.RequiredArgsConstructor; |
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||||
import org.springframework.stereotype.Service; |
import org.springframework.stereotype.Service; |
||||||
import org.springframework.transaction.annotation.Transactional; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
/** |
/** |
||||||
*<p> |
* <p> |
||||||
* 地图任务 |
* 服务实现类 |
||||||
*</p> |
* </p> |
||||||
* |
* |
||||||
* @Author: entfrm开发团队-王翔 |
* @author entfrm开发团队-王翔 |
||||||
* @Date: 2022/6/6 |
* @since 2022-07-22 |
||||||
*/ |
*/ |
||||||
@Service |
@Service |
||||||
@RequiredArgsConstructor |
public class MapTaskServiceImpl extends ServiceImpl<MapTaskMapper, MapTask> implements IMapTaskService { |
||||||
public class MapTaskServiceImpl extends ServiceImpl<MapTaskMapper, MapTask> implements MapTaskService { |
|
||||||
|
|
||||||
@Transactional(noRollbackFor = Exception.class) |
|
||||||
@Override |
|
||||||
public void batchUpdate(List<MapTask> mapTasks) { |
|
||||||
mapTasks.forEach(mapTask -> { |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
} |
} |
||||||
|
@ -0,0 +1,5 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="com.cloud.kicc.commonbiz.mapper.MapHandoverPresetMapper"> |
||||||
|
|
||||||
|
</mapper> |
@ -0,0 +1,5 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="com.cloud.kicc.commonbiz.mapper.MapLogisticPointMapper"> |
||||||
|
|
||||||
|
</mapper> |
@ -0,0 +1,5 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="com.cloud.kicc.commonbiz.mapper.MapMapper"> |
||||||
|
|
||||||
|
</mapper> |
@ -1,24 +1,5 @@ |
|||||||
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
<mapper namespace="com.cloud.kicc.system.mapper.DeptMapper"> |
<mapper namespace="com.cloud.kicc.commonbiz.mapper.MapTaskMapper"> |
||||||
|
|
||||||
<resultMap type="Dept" id="DeptResult"> |
|
||||||
<id property="deptId" column="dept_id"/> |
|
||||||
<result property="code" column="code"/> |
|
||||||
<result property="name" column="name"/> |
|
||||||
<result property="parentId" column="parent_id"/> |
|
||||||
<result property="sort" column="sort"/> |
|
||||||
<result property="contacts" column="contacts"/> |
|
||||||
<result property="phone" column="phone"/> |
|
||||||
<result property="email" column="email"/> |
|
||||||
<result property="status" column="status"/> |
|
||||||
<result property="createById" column="create_by_id"/> |
|
||||||
<result property="createByName" column="create_by_name"/> |
|
||||||
<result property="createTime" column="create_time"/> |
|
||||||
<result property="updateById" column="update_by_id"/> |
|
||||||
<result property="updateByName" column="update_by_name"/> |
|
||||||
<result property="updateTime" column="update_time"/> |
|
||||||
<result property="delFlag" column="del_flag"/> |
|
||||||
</resultMap> |
|
||||||
|
|
||||||
</mapper> |
</mapper> |
||||||
|
@ -0,0 +1,101 @@ |
|||||||
|
import com.baomidou.mybatisplus.generator.AutoGenerator; |
||||||
|
import com.baomidou.mybatisplus.generator.config.*; |
||||||
|
import com.cloud.kicc.common.data.entity.CommonEntity; |
||||||
|
import org.junit.jupiter.api.Test; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.concurrent.ConcurrentHashMap; |
||||||
|
|
||||||
|
/** |
||||||
|
*<p> |
||||||
|
* mysql crud代码自动生成 |
||||||
|
*</p> |
||||||
|
* |
||||||
|
* @Author: entfrm开发团队-王翔 |
||||||
|
* @Date: 2022/7/22 |
||||||
|
*/ |
||||||
|
public class SimpleCrudGeneratorTest { |
||||||
|
|
||||||
|
/** 代码生成全局配置 */ |
||||||
|
interface Config { |
||||||
|
|
||||||
|
String url = "jdbc:mysql://192.168.3.8:8052/kicc?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true"; |
||||||
|
|
||||||
|
String username = "root"; |
||||||
|
|
||||||
|
String password = "kanglai@2022"; |
||||||
|
|
||||||
|
String author = "entfrm开发团队-王翔"; |
||||||
|
|
||||||
|
String rootOutputDir = "/Users/wangxiang/IdeaProjects/kicc/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java"; |
||||||
|
|
||||||
|
String entityOutputDir = "/Users/wangxiang/IdeaProjects/kicc/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity"; |
||||||
|
|
||||||
|
String mapperXmlOutputDir = "/Users/wangxiang/IdeaProjects/kicc/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper"; |
||||||
|
|
||||||
|
String packageParent = "com.cloud.kicc.commonbiz"; |
||||||
|
|
||||||
|
String packageService = "service"; |
||||||
|
|
||||||
|
String packageEntity = "api.entity"; |
||||||
|
|
||||||
|
String packageServiceImpl = "service.impl"; |
||||||
|
|
||||||
|
String packageMapper = "mapper"; |
||||||
|
|
||||||
|
String packageController = "controller"; |
||||||
|
|
||||||
|
String[] includeTable = { "common_map", "common_map_handover_preset", "common_map_logistic_point", "common_map_task" }; |
||||||
|
|
||||||
|
String[] filterEntityTablePrefix = { "common_" }; |
||||||
|
|
||||||
|
String[] superEntityColumns = { "createById", "createByName", "createTime", "updateById","updateByName", "updateTime", "remarks", "delFlag" }; |
||||||
|
|
||||||
|
String[] ignoreColumns = { "tenant_id" }; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
/** 运行代码生成 */ |
||||||
|
public void CrudSimpleGenerator() { |
||||||
|
|
||||||
|
AutoGenerator generator = new AutoGenerator(new DataSourceConfig.Builder(Config.url, Config.username, Config.password).build()); |
||||||
|
// 全局配置 参考:https://github.com/baomidou/generator#%E5%85%A8%E5%B1%80%E9%85%8D%E7%BD%AEglobalconfig
|
||||||
|
generator.global(new GlobalConfig.Builder() |
||||||
|
.author(Config.author) |
||||||
|
.enableSwagger() |
||||||
|
.fileOverride() |
||||||
|
.outputDir(Config.rootOutputDir) |
||||||
|
.build() |
||||||
|
); |
||||||
|
// 包路径配置 参考:https://github.com/baomidou/generator#%E5%8C%85%E9%85%8D%E7%BD%AEpackageconfig
|
||||||
|
Map<OutputFile, String> pathInfos = new ConcurrentHashMap(); |
||||||
|
pathInfos.put(OutputFile.entity, Config.entityOutputDir); |
||||||
|
pathInfos.put(OutputFile.mapperXml, Config.mapperXmlOutputDir); |
||||||
|
generator.packageInfo(new PackageConfig.Builder() |
||||||
|
.parent(Config.packageParent) |
||||||
|
.service(Config.packageService) |
||||||
|
.entity(Config.packageEntity) |
||||||
|
.serviceImpl(Config.packageServiceImpl) |
||||||
|
.mapper(Config.packageMapper) |
||||||
|
.controller(Config.packageController) |
||||||
|
.pathInfo(pathInfos) |
||||||
|
.build() |
||||||
|
); |
||||||
|
// 策略配置 参考:https://github.com/baomidou/generator#%E7%AD%96%E7%95%A5%E9%85%8D%E7%BD%AEstrategyconfig
|
||||||
|
generator.strategy(new StrategyConfig.Builder() |
||||||
|
.addInclude(Config.includeTable) |
||||||
|
.addTablePrefix(Config.filterEntityTablePrefix) |
||||||
|
.entityBuilder() |
||||||
|
.enableChainModel() |
||||||
|
.enableLombok() |
||||||
|
.enableRemoveIsPrefix() |
||||||
|
.superClass(CommonEntity.class) |
||||||
|
.addSuperEntityColumns(Config.superEntityColumns) |
||||||
|
.addIgnoreColumns(Config.ignoreColumns) |
||||||
|
.build() |
||||||
|
); |
||||||
|
generator.execute(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue