From c1f945bc80699c368d467c6211908de27fb6255c Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期五, 19 十一月 2021 17:36:15 +0800
Subject: [PATCH] 物业宣传相关代码提交
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java | 460 ++++++++++++++++++++------------------------------------
1 files changed, 166 insertions(+), 294 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
index d7f8f47..e62f7df 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
@@ -1,31 +1,39 @@
package com.panzhihua.service_user.dao;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import com.panzhihua.common.model.vos.community.*;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.*;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.web.bind.annotation.RequestParam;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.PageDTO;
import com.panzhihua.common.model.dtos.community.ExportUserDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberEditStatusDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberPassResetDTO;
+import com.panzhihua.common.model.dtos.grid.PageEventGridMemberRelationDTO;
import com.panzhihua.common.model.dtos.user.EexcelUserDTO;
import com.panzhihua.common.model.dtos.user.PageUserAppletsBackstageDTO;
+import com.panzhihua.common.model.vos.AppletUserInfoVO;
import com.panzhihua.common.model.vos.IndexDataKanbanVO;
import com.panzhihua.common.model.vos.IndexDataVO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
-import com.panzhihua.common.model.vos.community.ComActVO;
-import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
+import com.panzhihua.common.model.vos.community.screen.event.EventGridMemberVO;
+import com.panzhihua.common.model.vos.grid.GridMemberVO;
+import com.panzhihua.common.model.vos.partybuilding.ComPbServiceTeamWishVO;
import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
import com.panzhihua.common.model.vos.user.SysUserVO;
+import com.panzhihua.common.model.vos.user.UpdateUserArchivesVO;
import com.panzhihua.service_user.model.dos.SysUserDO;
import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-import org.springframework.web.bind.annotation.RequestParam;
-
-import java.util.Date;
-import java.util.List;
/**
* @program: springcloud_k8s_panzhihuazhihuishequ
@@ -35,315 +43,179 @@
**/
@Mapper
public interface UserDao extends BaseMapper<SysUserDO> {
- // @Select("<script> " +
-// " <where>" +
-// "<if test='nameCn != null and nameCn.trim() != ""'>" +
-// " </if> " +
-// "<if test='nameCn != null and nameCn.trim() != ""'>" +
-// " </if> " +
-// "<if test='nameCn != null and nameCn.trim() != ""'>" +
-// " </if> " +
-// " </where>" +
-// "</script>")
- @Select("<script> " +
- "SELECT\n" +
- "u.user_id,\n" +
- "u.face_url,\n" +
- "u.nick_name,\n" +
- "u.`name`,\n" +
- "u.phone,\n" +
- "u.id_card,\n" +
- "u.face_state,\n" +
- "c.area_name communityName,\n" +
- "u.create_at \n" +
- "FROM\n" +
- "sys_user u\n" +
- "JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
- "<if test='loginUserInfoVO.communityName != null and loginUserInfoVO.communityName.trim() != ""'>" +
- "AND c.`area_name` like concat(#{loginUserInfoVO.communityName},'%') \n" +
- " </if> " +
- " where u.face_state is not null and u.type=1 and u.community_id=#{loginUserInfoVO.communityId} " +
- "<if test='loginUserInfoVO.name != null and loginUserInfoVO.name.trim() != ""'>" +
- "and u.`name` like concat(#{loginUserInfoVO.name},'%') \n" +
- " </if> " +
- "<if test='loginUserInfoVO.phone != null and loginUserInfoVO.phone.trim() != ""'>" +
- "AND u.phone like concat(#{loginUserInfoVO.phone},'%') " +
- " </if> " +
- " order by u.face_state asc,u.create_at asc " +
- "</script>")
+
IPage<LoginUserInfoVO> pageUserFace(Page page, @Param("loginUserInfoVO") LoginUserInfoVO loginUserInfoVO);
- @Select("<script> " +
- "SELECT\n" +
- "u.user_id,\n" +
- "u.`name`,\n" +
- "u.`sex`,\n" +
- "u.nick_name,\n" +
- "u.phone,\n" +
- "YEAR (now()) - YEAR (substring(u.id_card, 7, 8)) age,\n"+
- "1 isRegister,\n"+
- "v.political_face political_outlook,\n"+
- "u.id_card,\n" +
- "u.job,\n" +
- "c.area_name communityName,\n" +
- "u.tags,\n" +
- "u.create_at \n" +
- "FROM\n" +
- "sys_user u\n" +
- "left join com_mng_volunteer_mng v on u.phone=v.phone \n"+
- "<if test='loginUserInfoVO.communityName != null and loginUserInfoVO.communityName.trim() != ""'>" +
- " JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
- " </if> " +
- "<if test='loginUserInfoVO.communityName == null or loginUserInfoVO.communityName.trim() == ""'>" +
- "LEFT JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
- " </if> " +
- "<if test='loginUserInfoVO.communityName != null and loginUserInfoVO.communityName.trim() != ""'>" +
- "AND c.`area_name` like concat(#{loginUserInfoVO.communityName},'%') \n" +
- " </if> " +
- " where u.community_id=#{loginUserInfoVO.communityId} and u.type=1 " +
- "<if test='loginUserInfoVO.name != null and loginUserInfoVO.name.trim() != ""'>" +
- " and u.`name` like concat(#{loginUserInfoVO.name},'%') \n" +
- " </if> " +
- "<if test='loginUserInfoVO.phone != null and loginUserInfoVO.phone.trim() != ""'>" +
- "AND u.phone like concat(#{loginUserInfoVO.phone},'%') " +
- " </if> " +
- "</script>")
- IPage<LoginUserInfoVO> pageUser(Page page, @Param("loginUserInfoVO") LoginUserInfoVO loginUserInfoVO);
- @Select("<script> " +
- "SELECT\n" +
- "u.user_id,\n" +
- "u.account,\n" +
- "u.`name`,\n" +
- "u.`password`,\n" +
- "u.phone,\n" +
- "e.role_name,\n" +
- "e.role_id ,\n" +
- "u.`status`,\n" +
- "u.create_at,\n" +
- "u.last_login_time \n" +
- "FROM\n" +
- "sys_user u\n" +
- "JOIN sys_user_role r ON u.user_id = r.user_id\n" +
- "JOIN sys_role e ON r.role_id = e.role_id \n" +
- "<if test='administratorsUserVO.roleId != null and administratorsUserVO.roleId!=0'>" +
- " and e.role_id=#{administratorsUserVO.roleId}" +
- " </if> " +
- " <where>" +
- "<if test='administratorsUserVO.communityId != null '>" +
- "AND u.community_id = #{administratorsUserVO.communityId} \n" +
- " </if> " +
- "<if test='administratorsUserVO.name != null and administratorsUserVO.name.trim() != ""'>" +
- "AND u.name like concat (#{administratorsUserVO.name},'%') \n" +
- " </if> " +
- "<if test='administratorsUserVO.phone != null and administratorsUserVO.phone.trim() != ""'>" +
- "AND u.phone like concat(#{administratorsUserVO.phone},'%') " +
- " </if> " +
- "<if test='administratorsUserVO.account != null and administratorsUserVO.account.trim() != ""'>" +
- "AND u.account like concat(#{administratorsUserVO.account},'%') " +
- " </if> " +
- " </where>" +
- "</script>")
- IPage<AdministratorsUserVO> pageUserBackstage(Page page, @Param("administratorsUserVO") AdministratorsUserVO administratorsUserVO);
+ IPage<AppletUserInfoVO> pageUser(Page page, @Param("loginUserInfoVO") AppletUserInfoVO userInfoVO);
- @Select("<script> " +
- "select \n" +
- "u.user_id,\n" +
- "u.phone,\n" +
- "u.nick_name,\n" +
- "u.name,\n" +
- "a.name communityName,\n" +
- "u.status,\n" +
- "u.create_at,\n" +
- "u.last_login_time\n" +
- "from sys_user u\n" +
- "left join com_act a on u.community_id=a.community_id\n" +
- " where\n" +
- "u.type=1\n" +
- "<if test='pageUserAppletsBackstageDTO.phone != null and pageUserAppletsBackstageDTO.phone.trim() != ""'>" +
- "and u.phone=#{pageUserAppletsBackstageDTO.phone}\n" +
- " </if> " +
- "<if test='pageUserAppletsBackstageDTO.communityId != null and pageUserAppletsBackstageDTO.communityId != 0'>" +
- "and u.community_id=#{pageUserAppletsBackstageDTO.communityId}\n" +
- " </if> " +
- "<if test='pageUserAppletsBackstageDTO.status != null and pageUserAppletsBackstageDTO.status != 0'>" +
- "and u.status=#{pageUserAppletsBackstageDTO.status}\n" +
- " </if> " +
- "<if test='pageUserAppletsBackstageDTO.createAtBegin != null '>" +
- "and u.create_at between #{pageUserAppletsBackstageDTO.createAtBegin} and #{pageUserAppletsBackstageDTO.createAtEnd}\n" +
- " </if> " +
- "<if test='pageUserAppletsBackstageDTO.lastLoginTimeBegin != null '>" +
- "and u.last_login_time between #{pageUserAppletsBackstageDTO.lastLoginTimeBegin} and #{pageUserAppletsBackstageDTO.lastLoginTimeEnd}\n" +
- " </if> " +
- "order by u.create_at desc \n" +
- "</script>")
- IPage<SysUserVO> pageUserAppletsBackstage(Page page, @Param("pageUserAppletsBackstageDTO") PageUserAppletsBackstageDTO pageUserAppletsBackstageDTO);
- @Update("update sys_user set nick_name=null ,community_id=null,area_id=null where user_id=#{userId}")
+ IPage<AdministratorsUserVO> pageUserBackstage(Page page,
+ @Param("administratorsUserVO") AdministratorsUserVO administratorsUserVO);
+
+
+ IPage<SysUserVO> pageUserAppletsBackstage(Page page,
+ @Param("pageUserAppletsBackstageDTO") PageUserAppletsBackstageDTO pageUserAppletsBackstageDTO);
+
+
int deleteUserTest(Long userId);
- @Select("<script> " +
- "select * from \n" +
- "sys_user_notice \n" +
- "where \n" +
- "user_id=#{pageDTO.userId} \n" +
- "<if test='pageDTO.type != null and pageDTO.type != 0'>" +
- "and type=#{pageDTO.type}\n" +
- " </if> " +
- "order by create_at desc\n" +
- "</script>")
+
IPage<SysUserNoticeVO> pageNotice(Page page, @Param("pageDTO") PageDTO pageDTO);
- @Select("SELECT \n" +
- "COUNT(user_id)allUser,\n" +
- "COUNT(case WHEN DATE_FORMAT(create_at,'%m-%d-%Y')=DATE_FORMAT(SYSDATE(),'%m-%d-%Y') then user_id else null end )addUser,\n" +
- "COUNT(case WHEN DATE_FORMAT(last_login_time,'%m-%d-%Y')=DATE_FORMAT(SYSDATE(),'%m-%d-%Y') then user_id else null end )activeDayUser,\n" +
- "(SELECT count(user_id) FROM sys_user WHERE type = 1 AND last_login_time > date_sub(SYSDATE(), INTERVAL 7 DAY))activeWeekUser\n" +
- "FROM\n" +
- "sys_user\n" +
- "where type=1 and community_id is not null")
+
IndexDataKanbanVO selectIndexDataKanban();
- @Select("select t.* from (\n" +
- "SELECT \n" +
- "a.`name`,\n" +
- "COUNT(u.user_id)num\n" +
- "FROM\n" +
- "com_act a\n" +
- "LEFT JOIN sys_user u ON a.community_id = u.community_id and u.type=1\n" +
- "GROUP BY a.community_id)t ORDER BY t.num desc ")
- List<DataKanbanDTO> selectCommunityUserOrder();
- @Select("SELECT\n" +
- "\tCOUNT( a.id ) num \n" +
- "FROM\n" +
- "\tcom_act_activity a \n" +
- "WHERE\n" +
- "\tDATE_FORMAT( #{date1}, '%Y-%m-%d' )= DATE_FORMAT(\n" +
- "\t\ta.create_at,\n" +
- "\t'%Y-%m-%d')\n" +
- "\t")
+ List<DataKanbanDTO> selectCommunityUserOrder();
+
+ List<DataKanbanDTO> selectCommunityUserOrderMonth();
+
+
DataKanbanDTO selectCommunityActiveUserOrder(Date date1);
- @Select("SELECT \n" +
- "COUNT(DISTINCT u.user_id)allUser,\n" +
- "(select COUNT(m.id) from com_mng_volunteer_mng m where m.community_id=#{communityId} and m.`state`=2)volunteerUser,\n" +
- "COUNT(DISTINCT case when u.is_partymember=1 then u.user_id else null end )partymemberUser,\n" +
- "COUNT(h.id)house\n" +
- "FROM\n" +
- "sys_user u\n" +
- "JOIN com_act c ON u.community_id = c.community_id \n" +
- "LEFT JOIN com_mng_struct_house_user h on u.user_id=h.user_id\n" +
- "WHERE\n" +
- "u.community_id =#{communityId} and u.type=1")
+
+ DataKanbanDTO selectCommunityAddUserOrder(Date date1);
+
+
IndexDataVO indexDataCommunityBackstage(Long communityId);
- @Update("UPDATE sys_user u \n" +
- "SET u.continuous_landing_days =\n" +
- "IF\n" +
- "(\n" +
- "DATE_FORMAT( u.last_login_time, '%m-%d-%Y' )= DATE_FORMAT( SYSDATE(), '%m-%d-%Y' ),\n" +
- "u.continuous_landing_days + 1,\n" +
- "0)")
+
+
int timedTaskContinuousLandingDays();
- @Select("select state from com_mng_volunteer_mng where phone=#{phone} order by create_at desc limit 1")
+
+
ComMngVolunteerMngVO selectVolunteerMngByPhone(String phone);
- @Update("update sys_user set face_state=null where user_id=#{userId}")
+
+
int updateFaceState(Long userId);
- @Select("select name from com_act where community_id=#{communityId}")
+
+
ComActVO selectCommunity(Long communityId);
- @Select("select COUNT(a.id) from com_mng_struct_area a where a.area_name=#{areaName}")
+
+
Integer selectCountArea(String areaName);
- @Select("SELECT\n" +
- "\tCOUNT(h.id)\n" +
- "FROM\n" +
- "\tcom_mng_struct_area a \n" +
- "\tLEFT JOIN com_mng_struct_house h on h.parent_code=a.area_code\n" +
- "WHERE\n" +
- "\ta.area_name = #{areaName}")
+
+
Integer selectCountHouse(String areaName);
- @Select("<script> " +
- "SELECT\n" +
- "u.user_id 'order',\n" +
- "h.house_name doorNumber,\n" +
- "if(h.state=2,'租住','自主')isRent,\n" +
- "u.`name`,\n" +
- "'汉' nation,\n" +
- "if(u.is_partymember=1,'党员','群众')politicalOutlook,\n" +
- "'未知' maritalStatus,\n" +
- "u.phone,\n" +
- "'未知' education,\n" +
- "u.id_card,\n" +
- "'未知' company,\n" +
- "'未知' residence,\n" +
- "'未知' isPanZhiHua,\n" +
- "'未知' situation,\n" +
- "'未知' isContact,\n" +
- "'未知' major,\n" +
- "'未知' soldier,\n" +
- "'未知' disability,\n" +
- "'未知' lowIncomeHouseholds,\n" +
- "'未知' lowIncomePeople,\n" +
- "'未知' oldPeople,\n" +
- "'未知' specialServiceFamily,\n" +
- "'未知' keyPersonnel\n" +
- "FROM\n" +
- "sys_user u\n" +
- "left join com_mng_struct_house_user hu on hu.user_id=u.user_id\n"+
- "left join com_mng_struct_house h on hu.house_code=h.house_code\n"+
- "<if test='exportUserDTO.areaName != null and exportUserDTO.areaName.trim() != ""'>" +
- " JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
- " </if> " +
- "<if test='exportUserDTO.areaName == null or exportUserDTO.areaName.trim() == ""'>" +
- "LEFT JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
- " </if> " +
- "<if test='exportUserDTO.areaName != null and exportUserDTO.areaName.trim() != ""'>" +
- "AND c.`area_name` like concat(#{exportUserDTO.areaName},'%') \n" +
- " </if> " +
- " where u.community_id=#{exportUserDTO.communityId} and u.type=1 " +
- "<if test='exportUserDTO.name != null and exportUserDTO.name.trim() != ""'>" +
- " and u.`name` like concat(#{exportUserDTO.name},'%') \n" +
- " </if> " +
- "<if test='exportUserDTO.phone != null and exportUserDTO.phone.trim() != ""'>" +
- "AND u.phone like concat(#{exportUserDTO.phone},'%') " +
- " </if> " +
- " group by u.user_id "+
- "</script>")
+
List<EexcelUserDTO> selectExport(@Param("exportUserDTO") ExportUserDTO exportUserDTO);
-
- @Select("SELECT\n" +
- "\t COUNT(a.id)\n" +
- "FROM\n" +
- "\t com_pb_member_role a \n" +
- "WHERE\n" +
- "\t a.phone = #{phone}")
- Integer selectCountMemberRole(@Param("phone")String phone);
-
- @Select("SELECT\n" +
- "\t COUNT(a.id)\n" +
- "FROM\n" +
- "\t com_pb_service_team a \n" +
- "WHERE\n" +
- "\t a.phone = #{phone}")
- Integer selectCountTeam(@Param("phone")String phone);
-
-
- @Update("update com_pb_member_role u set u.phone=#{newphone},is_reg=1 where u.phone=#{oldphone}")
- void updateMemberRole(@Param("newphone")String newphone,@Param("oldphone")String oldphone);
- @Update("update com_pb_service_team u set u.phone=#{newphone},is_reg=1 where u.phone=#{oldphone}")
- void updateServiceTeam(@Param("newphone")String newphone,@Param("oldphone")String oldphone);
- @Select("SELECT\n" +
- "\t COUNT(ur.role_id) \n" +
- "FROM\n" +
- "\t sys_user u LEFT JOIN sys_user_role ur ON u.user_id = ur.user_id \n" +
- "\t LEFT JOIN sys_role r ON ur.role_id = r.role_id \n" +
- "WHERE ur.role_id IS NOT NULL AND u.phone = #{phone} ")
- Integer selectCountSysUser(@Param("phone")String phone);
- @Select("update com_shop_store set sys_user_id = #{sysUserId} where phone = #{phone}")
- void updateStoreByPhone(@Param("phone")String phone, @Param("sysUserId")Long sysUserId);
+ Integer selectCountMemberRole(@Param("phone") String phone, @Param("userCommunityId") Long userCommunityId);
- @Select("delete from com_shop_store where delete_status = 1 and phone = #{phone}")
+
+ Integer selectCountTeam(@Param("phone") String phone, @Param("userCommunityId") Long userCommunityId);
+
+
+ void updateMemberRole(@Param("newphone") String newphone, @Param("oldphone") String oldphone);
+
+
+ void updateServiceTeam(@Param("newphone") String newphone, @Param("oldphone") String oldphone);
+
+
+ Integer selectCountSysUser(@Param("phone") String phone, @Param("userCommunityId") Long userCommunityId);
+
+
+ void updateStoreByPhone(@Param("phone") String phone, @Param("sysUserId") Long sysUserId);
+
+
void deleteStoreByPhoneAndStatus(@RequestParam("phone") String phone);
+
+
+ void updateUserArchives(@Param("userArchivesVO") UpdateUserArchivesVO userArchivesVO);
+
+
+ void updateComPbMemberUserId(@Param("idCard") String idCard, @Param("userId") Long userId);
+
+
+ Long getPartyBuildingByIdCard(@Param("idCard") String idCard);
+
+
+ IPage<GridMemberVO> getGridMemberList(Page page,
+ @Param("memberRelationDTO") PageEventGridMemberRelationDTO memberRelationDTO);
+
+
+ void gridMemberEditStatus(@Param("gridMemberEditDTO") EventGridMemberEditStatusDTO gridMemberEditDTO);
+
+
+ void passResetUser(@Param("gridMemberDTO") EventGridMemberPassResetDTO gridMemberDTO);
+
+
+ void addLcMember(@Param("lcMemberId") Long lcMemberId, @Param("userId") Long userId,
+ @Param("userName") String userName);
+
+
+ void delLcMember(@Param("gridMemberId") Long gridMemberId);
+
+
+ Map<String, Long> getBuilding(@Param("buildingId") Long buildingId);
+
+
+ void delGridMemberRelation(@Param("gridMemberId") Long gridMemberId);
+
+
+ Map<String, String> getLcMemberId(@Param("gridMemberId") Long gridMemberId);
+
+
+ Integer getGridIsOk(@Param("userId") Long userId);
+
+ List<EventGridMemberVO> getGridsMemberList(@Param("communityId") Long communityId);
+
+
+ List<ComPbServiceTeamWishVO> getServiceTeamList(@Param("param") String param,
+ @Param("communityId") Long communityId);
+
+
+ List<SysUserVO> getUserListByCommunityId(@Param("communityId") Long communityId);
+
+ int putUserTag(@Param("sysUserDO") SysUserDO sysUserDO);
+
+ /**
+ * 禁用/启用便民服务商家账号
+ * @param status
+ * @param userIds
+ * @return
+ */
+ int disableOrEnableMerchantUsers(@Param("status") Integer status, @Param("userIds") List<Long> userIds);
+
+ /**
+ * 根据手机号维护社区团队表是否注册
+ * @param phone 手机号
+ */
+ void judgeCommunityTeam(@Param("phone") String phone);
+
+ /**
+ * 根据手机号查询社区团队表中用户数量
+ * @param phone 手机号
+ * @return 用户数量
+ */
+ Integer getCommunityTeamCount(@Param("phone") String phone);
+
+ /**
+ * 查询西区所有街道列表以及统计人数
+ * @return 西区所有街道列表以及统计人数
+ */
+ List<IndexUserStreetVo> getUserStreetList();
+
+ /**
+ * 查询街道下社区列表以及统计人数
+ * @param streetId 街道id
+ * @return 社区列表以及统计人数
+ */
+ List<IndexUserCommunityVo> getUserCommunityList(@Param("streetId") Long streetId);
+
+ /**
+ * 查询街道下社区注册人数统计数据导出
+ * @return 社区注册人数统计数据导出
+ */
+ List<IndexUserStreetExcelExportVo> getUserCommunityExcelExport();
+
+ /**
+ * 查看是否是社区物业人员
+ * @param userId
+ * @param userCommunityId
+ * @return
+ */
+ int countPropertyWorker(@Param("userId") Long userId, @Param("communityId") Long userCommunityId);
}
--
Gitblit v1.7.1