From 644d49c3483c0220d7d272d5d14cfadf1efdb72b Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期四, 07 十一月 2024 09:45:08 +0800 Subject: [PATCH] Revert "新增 queue_sequence 表操作" --- jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java | 2 -- /dev/null | 12 ------------ 2 files changed, 0 insertions(+), 14 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java index b1b00fd..0469332 100644 --- a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java +++ b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java @@ -54,6 +54,4 @@ ErrorCode CALL_NOT_EXISTS = new ErrorCode(1_010_008_000, "鍙彿涓嶅瓨鍦�"); ErrorCode CHECK_TYPE_NOT_EXISTS = new ErrorCode(1_010_009_000, "妫�鏌ョ被鍨嬩笉瀛樺湪"); - - ErrorCode SEQUENCE_NOT_EXISTS = new ErrorCode(1_010_010_000, "褰撳ぉ搴忓彿涓嶅瓨鍦�"); } diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/SequenceController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/SequenceController.java deleted file mode 100644 index 04a88a5..0000000 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/SequenceController.java +++ /dev/null @@ -1,95 +0,0 @@ -package cn.lihu.jh.module.queue.controller.admin.sequence; - -import org.springframework.web.bind.annotation.*; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import jakarta.validation.constraints.*; -import jakarta.validation.*; -import jakarta.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.lihu.jh.framework.common.pojo.PageParam; -import cn.lihu.jh.framework.common.pojo.PageResult; -import cn.lihu.jh.framework.common.pojo.CommonResult; -import cn.lihu.jh.framework.common.util.object.BeanUtils; -import static cn.lihu.jh.framework.common.pojo.CommonResult.success; - -import cn.lihu.jh.framework.excel.core.util.ExcelUtils; - -import cn.lihu.jh.framework.apilog.core.annotation.ApiAccessLog; -import static cn.lihu.jh.framework.apilog.core.enums.OperateTypeEnum.*; - -import cn.lihu.jh.module.queue.controller.admin.sequence.vo.*; -import cn.lihu.jh.module.queue.dal.dataobject.sequence.SequenceDO; -import cn.lihu.jh.module.queue.service.sequence.SequenceService; - -@Tag(name = "绠$悊鍚庡彴 - 褰撳ぉ搴忓彿") -@RestController -@RequestMapping("/queue/sequence") -@Validated -public class SequenceController { - - @Resource - private SequenceService sequenceService; - - @PostMapping("/create") - @Operation(summary = "鍒涘缓褰撳ぉ搴忓彿") - @PreAuthorize("@ss.hasPermission('queue:sequence:create')") - public CommonResult<Integer> createSequence(@Valid @RequestBody SequenceSaveReqVO createReqVO) { - return success(sequenceService.createSequence(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "鏇存柊褰撳ぉ搴忓彿") - @PreAuthorize("@ss.hasPermission('queue:sequence:update')") - public CommonResult<Boolean> updateSequence(@Valid @RequestBody SequenceSaveReqVO updateReqVO) { - sequenceService.updateSequence(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "鍒犻櫎褰撳ぉ搴忓彿") - @Parameter(name = "id", description = "缂栧彿", required = true) - @PreAuthorize("@ss.hasPermission('queue:sequence:delete')") - public CommonResult<Boolean> deleteSequence(@RequestParam("id") Integer id) { - sequenceService.deleteSequence(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "鑾峰緱褰撳ぉ搴忓彿") - @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('queue:sequence:query')") - public CommonResult<SequenceRespVO> getSequence(@RequestParam("id") Integer id) { - SequenceDO sequence = sequenceService.getSequence(id); - return success(BeanUtils.toBean(sequence, SequenceRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "鑾峰緱褰撳ぉ搴忓彿鍒嗛〉") - @PreAuthorize("@ss.hasPermission('queue:sequence:query')") - public CommonResult<PageResult<SequenceRespVO>> getSequencePage(@Valid SequencePageReqVO pageReqVO) { - PageResult<SequenceDO> pageResult = sequenceService.getSequencePage(pageReqVO); - return success(BeanUtils.toBean(pageResult, SequenceRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "瀵煎嚭褰撳ぉ搴忓彿 Excel") - @PreAuthorize("@ss.hasPermission('queue:sequence:export')") - @ApiAccessLog(operateType = EXPORT) - public void exportSequenceExcel(@Valid SequencePageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List<SequenceDO> list = sequenceService.getSequencePage(pageReqVO).getList(); - // 瀵煎嚭 Excel - ExcelUtils.write(response, "褰撳ぉ搴忓彿.xls", "鏁版嵁", SequenceRespVO.class, - BeanUtils.toBean(list, SequenceRespVO.class)); - } - -} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/vo/SequencePageReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/vo/SequencePageReqVO.java deleted file mode 100644 index 257f5ba..0000000 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/vo/SequencePageReqVO.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.lihu.jh.module.queue.controller.admin.sequence.vo; - -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; -import cn.lihu.jh.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; - -import static cn.lihu.jh.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "绠$悊鍚庡彴 - 褰撳ぉ搴忓彿鍒嗛〉 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SequencePageReqVO extends PageParam { - - @Schema(description = "妫�鏌ョ被鍨�", example = "2") - private Integer checkType; - - @Schema(description = "鏃舵") - private Integer timeSlot; - - @Schema(description = "璇ユ椂娈� 鏅�氭偅鑰� 搴忓彿") - private Integer queueNo; - - @Schema(description = "璇ユ椂娈� vip 搴忓彿") - private Integer queueVipNo; - - @Schema(description = "璇ユ椂娈� 鏅�氭偅鑰� 搴忓彿婊�") - private Integer queueFull; - - @Schema(description = "璇ユ椂娈� vip 搴忓彿婊�") - private Integer queueVipFull; - - @Schema(description = "鍒涘缓鏃堕棿") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/vo/SequenceRespVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/vo/SequenceRespVO.java deleted file mode 100644 index 4ca8062..0000000 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/vo/SequenceRespVO.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.lihu.jh.module.queue.controller.admin.sequence.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; -import com.alibaba.excel.annotation.*; - -@Schema(description = "绠$悊鍚庡彴 - 褰撳ぉ搴忓彿 Response VO") -@Data -@ExcelIgnoreUnannotated -public class SequenceRespVO { - - @Schema(description = "DB 涓婚敭", requiredMode = Schema.RequiredMode.REQUIRED, example = "11958") - @ExcelProperty("DB 涓婚敭") - private Integer id; - - @Schema(description = "妫�鏌ョ被鍨�", example = "2") - @ExcelProperty("妫�鏌ョ被鍨�") - private Integer checkType; - - @Schema(description = "鏃舵") - @ExcelProperty("鏃舵") - private Integer timeSlot; - - @Schema(description = "璇ユ椂娈� 鏅�氭偅鑰� 搴忓彿") - @ExcelProperty("璇ユ椂娈� 鏅�氭偅鑰� 搴忓彿") - private Integer queueNo; - - @Schema(description = "璇ユ椂娈� vip 搴忓彿") - @ExcelProperty("璇ユ椂娈� vip 搴忓彿") - private Integer queueVipNo; - - @Schema(description = "璇ユ椂娈� 鏅�氭偅鑰� 搴忓彿婊�") - @ExcelProperty("璇ユ椂娈� 鏅�氭偅鑰� 搴忓彿婊�") - private Integer queueFull; - - @Schema(description = "璇ユ椂娈� vip 搴忓彿婊�") - @ExcelProperty("璇ユ椂娈� vip 搴忓彿婊�") - private Integer queueVipFull; - - @Schema(description = "鍒涘缓鏃堕棿", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("鍒涘缓鏃堕棿") - private LocalDateTime createTime; - -} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/vo/SequenceSaveReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/vo/SequenceSaveReqVO.java deleted file mode 100644 index b7f8b04..0000000 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/controller/admin/sequence/vo/SequenceSaveReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.lihu.jh.module.queue.controller.admin.sequence.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import jakarta.validation.constraints.*; - -@Schema(description = "绠$悊鍚庡彴 - 褰撳ぉ搴忓彿鏂板/淇敼 Request VO") -@Data -public class SequenceSaveReqVO { - - @Schema(description = "DB 涓婚敭", requiredMode = Schema.RequiredMode.REQUIRED, example = "11958") - private Integer id; - - @Schema(description = "妫�鏌ョ被鍨�", example = "2") - private Integer checkType; - - @Schema(description = "鏃舵") - private Integer timeSlot; - - @Schema(description = "璇ユ椂娈� 鏅�氭偅鑰� 搴忓彿") - private Integer queueNo; - - @Schema(description = "璇ユ椂娈� vip 搴忓彿") - private Integer queueVipNo; - - @Schema(description = "璇ユ椂娈� 鏅�氭偅鑰� 搴忓彿婊�") - private Integer queueFull; - - @Schema(description = "璇ユ椂娈� vip 搴忓彿婊�") - private Integer queueVipFull; - -} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/dal/dataobject/sequence/SequenceDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/dal/dataobject/sequence/SequenceDO.java deleted file mode 100644 index 40d750c..0000000 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/dal/dataobject/sequence/SequenceDO.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.lihu.jh.module.queue.dal.dataobject.sequence; - -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; -import cn.lihu.jh.framework.mybatis.core.dataobject.BaseDO; - -/** - * 褰撳ぉ搴忓彿 DO - * - * @author 閲戝崕鍖婚櫌 - */ -@TableName("queue_sequence") -@KeySequence("queue_sequence_seq") // 鐢ㄤ簬 Oracle銆丳ostgreSQL銆並ingbase銆丏B2銆丠2 鏁版嵁搴撶殑涓婚敭鑷銆傚鏋滄槸 MySQL 绛夋暟鎹簱锛屽彲涓嶅啓銆� -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class SequenceDO extends BaseDO { - - /** - * DB 涓婚敭 - */ - @TableId - private Integer id; - /** - * 妫�鏌ョ被鍨� - */ - private Integer checkType; - /** - * 鏃舵 - */ - private Integer timeSlot; - /** - * 璇ユ椂娈� 鏅�氭偅鑰� 搴忓彿 - */ - private Integer queueNo; - /** - * 璇ユ椂娈� vip 搴忓彿 - */ - private Integer queueVipNo; - /** - * 璇ユ椂娈� 鏅�氭偅鑰� 搴忓彿婊� - */ - private Integer queueFull; - /** - * 璇ユ椂娈� vip 搴忓彿婊� - */ - private Integer queueVipFull; - -} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/dal/mysql/sequence/SequenceMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/dal/mysql/sequence/SequenceMapper.java deleted file mode 100644 index 76c0c08..0000000 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/dal/mysql/sequence/SequenceMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.lihu.jh.module.queue.dal.mysql.sequence; - -import java.util.*; - -import cn.lihu.jh.framework.common.pojo.PageResult; -import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.lihu.jh.framework.mybatis.core.mapper.BaseMapperX; -import cn.lihu.jh.module.queue.dal.dataobject.sequence.SequenceDO; -import org.apache.ibatis.annotations.Mapper; -import cn.lihu.jh.module.queue.controller.admin.sequence.vo.*; - -/** - * 褰撳ぉ搴忓彿 Mapper - * - * @author 閲戝崕鍖婚櫌 - */ -@Mapper -public interface SequenceMapper extends BaseMapperX<SequenceDO> { - - default PageResult<SequenceDO> selectPage(SequencePageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX<SequenceDO>() - .eqIfPresent(SequenceDO::getCheckType, reqVO.getCheckType()) - .eqIfPresent(SequenceDO::getTimeSlot, reqVO.getTimeSlot()) - .eqIfPresent(SequenceDO::getQueueNo, reqVO.getQueueNo()) - .eqIfPresent(SequenceDO::getQueueVipNo, reqVO.getQueueVipNo()) - .eqIfPresent(SequenceDO::getQueueFull, reqVO.getQueueFull()) - .eqIfPresent(SequenceDO::getQueueVipFull, reqVO.getQueueVipFull()) - .betweenIfPresent(SequenceDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(SequenceDO::getId)); - } - -} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/service/sequence/SequenceService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/service/sequence/SequenceService.java deleted file mode 100644 index acc4dee..0000000 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/service/sequence/SequenceService.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.lihu.jh.module.queue.service.sequence; - -import java.util.*; -import jakarta.validation.*; -import cn.lihu.jh.module.queue.controller.admin.sequence.vo.*; -import cn.lihu.jh.module.queue.dal.dataobject.sequence.SequenceDO; -import cn.lihu.jh.framework.common.pojo.PageResult; -import cn.lihu.jh.framework.common.pojo.PageParam; - -/** - * 褰撳ぉ搴忓彿 Service 鎺ュ彛 - * - * @author 閲戝崕鍖婚櫌 - */ -public interface SequenceService { - - /** - * 鍒涘缓褰撳ぉ搴忓彿 - * - * @param createReqVO 鍒涘缓淇℃伅 - * @return 缂栧彿 - */ - Integer createSequence(@Valid SequenceSaveReqVO createReqVO); - - /** - * 鏇存柊褰撳ぉ搴忓彿 - * - * @param updateReqVO 鏇存柊淇℃伅 - */ - void updateSequence(@Valid SequenceSaveReqVO updateReqVO); - - /** - * 鍒犻櫎褰撳ぉ搴忓彿 - * - * @param id 缂栧彿 - */ - void deleteSequence(Integer id); - - /** - * 鑾峰緱褰撳ぉ搴忓彿 - * - * @param id 缂栧彿 - * @return 褰撳ぉ搴忓彿 - */ - SequenceDO getSequence(Integer id); - - /** - * 鑾峰緱褰撳ぉ搴忓彿鍒嗛〉 - * - * @param pageReqVO 鍒嗛〉鏌ヨ - * @return 褰撳ぉ搴忓彿鍒嗛〉 - */ - PageResult<SequenceDO> getSequencePage(SequencePageReqVO pageReqVO); - -} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/service/sequence/SequenceServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/service/sequence/SequenceServiceImpl.java deleted file mode 100644 index d0477de..0000000 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/queue/service/sequence/SequenceServiceImpl.java +++ /dev/null @@ -1,74 +0,0 @@ -package cn.lihu.jh.module.queue.service.sequence; - -import org.springframework.stereotype.Service; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import cn.lihu.jh.module.queue.controller.admin.sequence.vo.*; -import cn.lihu.jh.module.queue.dal.dataobject.sequence.SequenceDO; -import cn.lihu.jh.framework.common.pojo.PageResult; -import cn.lihu.jh.framework.common.pojo.PageParam; -import cn.lihu.jh.framework.common.util.object.BeanUtils; - -import cn.lihu.jh.module.queue.dal.mysql.sequence.SequenceMapper; - -import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.lihu.jh.module.queue.enums.ErrorCodeConstants.*; - -/** - * 褰撳ぉ搴忓彿 Service 瀹炵幇绫� - * - * @author 閲戝崕鍖婚櫌 - */ -@Service -@Validated -public class SequenceServiceImpl implements SequenceService { - - @Resource - private SequenceMapper sequenceMapper; - - @Override - public Integer createSequence(SequenceSaveReqVO createReqVO) { - // 鎻掑叆 - SequenceDO sequence = BeanUtils.toBean(createReqVO, SequenceDO.class); - sequenceMapper.insert(sequence); - // 杩斿洖 - return sequence.getId(); - } - - @Override - public void updateSequence(SequenceSaveReqVO updateReqVO) { - // 鏍¢獙瀛樺湪 - validateSequenceExists(updateReqVO.getId()); - // 鏇存柊 - SequenceDO updateObj = BeanUtils.toBean(updateReqVO, SequenceDO.class); - sequenceMapper.updateById(updateObj); - } - - @Override - public void deleteSequence(Integer id) { - // 鏍¢獙瀛樺湪 - validateSequenceExists(id); - // 鍒犻櫎 - sequenceMapper.deleteById(id); - } - - private void validateSequenceExists(Integer id) { - if (sequenceMapper.selectById(id) == null) { - throw exception(SEQUENCE_NOT_EXISTS); - } - } - - @Override - public SequenceDO getSequence(Integer id) { - return sequenceMapper.selectById(id); - } - - @Override - public PageResult<SequenceDO> getSequencePage(SequencePageReqVO pageReqVO) { - return sequenceMapper.selectPage(pageReqVO); - } - -} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/sequence/SequenceMapper.xml b/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/sequence/SequenceMapper.xml deleted file mode 100644 index 5c78efb..0000000 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/sequence/SequenceMapper.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?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="cn.lihu.jh.module.queue.dal.mysql.sequence.SequenceMapper"> - - <!-- - 涓�鑸儏鍐典笅锛屽敖鍙兘浣跨敤 Mapper 杩涜 CRUD 澧炲垹鏀规煡鍗冲彲銆� - 鏃犳硶婊¤冻鐨勫満鏅紝渚嬪璇村琛ㄥ叧鑱旀煡璇紝鎵嶄娇鐢� XML 缂栧啓 SQL銆� - 浠g爜鐢熸垚鍣ㄦ殏鏃跺彧鐢熸垚 Mapper XML 鏂囦欢鏈韩锛屾洿澶氭帹鑽� MybatisX 蹇�熷紑鍙戞彃浠舵潵鐢熸垚鏌ヨ銆� - 鏂囨。鍙锛歨ttps://www.iocoder.cn/MyBatis/x-plugins/ - --> - -</mapper> \ No newline at end of file -- Gitblit v1.9.3