魏超 6 年之前
父節點
當前提交
288e07ee5e

+ 6
- 2
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/MessageController.java 查看文件

@@ -48,7 +48,9 @@ public class MessageController {
48 48
 			@ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageNum", value = "分页第几页"),
49 49
 			@ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageSize", value = "分页每页长度")})
50 50
 	@RequestMapping(value = "/message/{communityId}/news",method = RequestMethod.GET)
51
-	public ResponseBean getNews(@PathVariable Integer communityId,@RequestParam Integer pageNum,@RequestParam Integer pageSize){
51
+	public ResponseBean getNews(@PathVariable Integer communityId,
52
+	                            @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
53
+	                            @RequestParam(value ="pageSize",defaultValue = "5") Integer pageSize){
52 54
 		ResponseBean responseBean = new ResponseBean();
53 55
 		List<TpMessage> newsList = messageService.getMessages(communityId,pageNum,pageSize, Constant.MODEL_TYPE_NEWS);
54 56
 		responseBean.addSuccess(newsList);
@@ -60,7 +62,9 @@ public class MessageController {
60 62
 			@ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageNum", value = "分页第几页"),
61 63
 			@ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageSize", value = "分页每页长度")})
62 64
 	@RequestMapping(value = "/message/{communityId}/upcoming",method = RequestMethod.GET)
63
-	public ResponseBean getUpcoming(@PathVariable Integer communityId,@RequestParam Integer pageNum,@RequestParam Integer pageSize){
65
+	public ResponseBean getUpcoming(@PathVariable Integer communityId,
66
+	                                @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
67
+	                                @RequestParam(value ="pageSize",defaultValue = "5") Integer pageSize){
64 68
 		ResponseBean responseBean = new ResponseBean();
65 69
 		List<TpMessage> upcomingList = messageService.getMessages(communityId,pageNum,pageSize,Constant.MODEL_TYPE_UPCOMING);
66 70
 		responseBean.addSuccess(upcomingList);

+ 22
- 7
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/SocialController.java 查看文件

@@ -56,7 +56,9 @@ public class SocialController {
56 56
             @ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageNum", value = "分页第几页"),
57 57
             @ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageSize", value = "分页每页长度")})
58 58
     @RequestMapping(value = "/announcements/{communityId}",method = RequestMethod.GET)
59
-    public ResponseBean getAnnouncements(@PathVariable Integer communityId,@RequestParam String title,@RequestParam Integer pageNum,@RequestParam Integer pageSize){
59
+    public ResponseBean getAnnouncements(@PathVariable Integer communityId,@RequestParam String title,
60
+                                         @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
61
+                                         @RequestParam(value ="pageSize",defaultValue = "5") Integer pageSize){
60 62
         ResponseBean responseBean = new ResponseBean();
61 63
         List<TpAnnouncement> announcementList = socialServiceI.getAnnouncements(communityId,title,pageNum,pageSize);
62 64
         responseBean.addSuccess(announcementList);
@@ -65,13 +67,12 @@ public class SocialController {
65 67
 
66 68
     @ApiOperation(value = "获取公告轮播图", notes = "获取公告轮播图")
67 69
     @ApiImplicitParams({
68
-            @ApiImplicitParam(paramType = "query",dataType = "String",name = "communityId",value = "小区id"),
69
-            @ApiImplicitParam(paramType = "query",dataType = "String",name = "sum",value = "显示的条数")
70
+            @ApiImplicitParam(paramType = "path",dataType = "String",name = "communityId",value = "小区id")
70 71
     })
71
-    @RequestMapping(value = "/announcement/announcementCarouselImg/{communityId}",method = RequestMethod.GET)
72
-    public ResponseBean getAnnouncement(@PathVariable(value = "communityId")Integer communityId ,@RequestParam("sum") Integer sum){
72
+    @RequestMapping(value = "/announcement/Img/{communityId}",method = RequestMethod.GET)
73
+    public ResponseBean getAnnouncement(@PathVariable(value = "communityId")Integer communityId ){
73 74
         ResponseBean responseBean = new ResponseBean();
74
-        List<TpAnnouncement> agreement = socialServiceI.getAnnouncement(communityId,sum);
75
+        List<TpAnnouncement> agreement = socialServiceI.getAnnouncement(communityId);
75 76
         responseBean.addSuccess(agreement);
76 77
         return responseBean;
77 78
     }
@@ -83,10 +84,24 @@ public class SocialController {
83 84
             @ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageNum", value = "分页第几页"),
84 85
             @ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageSize", value = "分页每页长度")})
85 86
     @RequestMapping(value = "/activitys/{communityId}",method = RequestMethod.GET)
86
-    public ResponseBean getActivitys(@PathVariable Integer communityId,@RequestParam String title,@RequestParam Integer pageNum,@RequestParam Integer pageSize){
87
+    public ResponseBean getActivitys(@PathVariable Integer communityId,@RequestParam String title,
88
+                                     @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
89
+                                     @RequestParam(value ="pageSize",defaultValue = "5") Integer pageSize){
87 90
         ResponseBean responseBean = new ResponseBean();
88 91
         List<TpActivity> activityList = socialServiceI.getActivitys(communityId,title,pageNum,pageSize);
89 92
         responseBean.addSuccess(activityList);
90 93
         return responseBean;
91 94
     }
95
+    
96
+    @ApiOperation(value = "论坛活动帖子详情", notes = "获取论坛活动帖子详情")
97
+    @ApiImplicitParams({ @ApiImplicitParam(paramType = "path", dataType = "integer", name = "communityId", value = "小区Id"),
98
+            @ApiImplicitParam(paramType = "query", dataType = "integer", name = "activityId", value = "活动帖子id")})
99
+    @RequestMapping(value = "/activity/{communityId}", method = RequestMethod.GET)
100
+    public ResponseBean findActivityDetail(@PathVariable(value = "communityId")Integer communityId, @RequestParam("activityId") Integer activityId){
101
+        ResponseBean responseBean = new ResponseBean();
102
+        TpActivity activity = socialServiceI.findActivityDetail(activityId, communityId);
103
+        responseBean.addSuccess(activity);
104
+        return responseBean;
105
+    }
106
+
92 107
 }

+ 5
- 5
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/TicketController.java 查看文件

@@ -28,12 +28,12 @@ public class TicketController {
28 28
     @RequestMapping(value = "/ticket/service/{communityId}",method = RequestMethod.GET)
29 29
     @ApiOperation(value = "获取 报修/投诉/联系单 各3条数据",notes = "根据 小区编号,第几页,一页多少行")
30 30
     @ApiImplicitParams({
31
-            @ApiImplicitParam(paramType = "query",dataType = "String",name = "communityId",value = "小区编号"),
32
-            @ApiImplicitParam(paramType = "query",dataType = "String",name = "pageCode",value = "第几页"),
33
-            @ApiImplicitParam(paramType = "query",dataType = "String",name = "pageSize",value = "一页多少数据"),
31
+            @ApiImplicitParam(paramType = "path",dataType = "String",name = "communityId",value = "小区编号"),
32
+            @ApiImplicitParam(paramType = "query",dataType = "Integer",name = "pageNum",value = "第几页"),
33
+            @ApiImplicitParam(paramType = "query",dataType = "Integer",name = "pageSize",value = "一页多少数据"),
34 34
     })
35 35
     public ResponseBean getService(@PathVariable(value = "communityId") String communityId,
36
-                                   @RequestParam(value = "pageCode",defaultValue = "1") Integer pageCode,
36
+                                   @RequestParam(value = "pageNum",defaultValue = "1") Integer pageNum,
37 37
                                    @RequestParam(value = "pageSize",defaultValue = "3") Integer pageSize,
38 38
                                    HttpSession session) {
39 39
         ResponseBean response = new ResponseBean();
@@ -44,7 +44,7 @@ public class TicketController {
44 44
         tpTicket.setCommunityId(Integer.valueOf(communityId));
45 45
         tpTicket.setTaUserId(userElement.getId());
46 46
 
47
-        response = iTicketService.getList(tpTicket,pageCode,pageSize);
47
+        response = iTicketService.getList(tpTicket,pageNum,pageSize);
48 48
         return response;
49 49
     }
50 50
 

+ 3
- 3
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/UserController.java 查看文件

@@ -34,9 +34,9 @@ public class UserController {
34 34
 
35 35
     @ApiOperation(value = "登录", notes = "根据登录名和密码")
36 36
     @ApiImplicitParams({
37
-            @ApiImplicitParam(paramType = "query",dataType = "String",name = "communityId",value = "小区"),
38
-            @ApiImplicitParam(paramType = "query",dataType = "String",name = "loginName",value = "手机号"),
39
-            @ApiImplicitParam(paramType = "query",dataType = "String",name = "loginPassword",value = "密码")
37
+            @ApiImplicitParam(paramType = "path",dataType = "String",name = "communityId",value = "小区"),
38
+            @ApiImplicitParam(paramType = "query",dataType = "String",name = "loginName",value = "登陆名(手机号)"),
39
+            @ApiImplicitParam(paramType = "query",dataType = "String",name = "code",value = "验证码")
40 40
     })
41 41
     @RequestMapping(value = "/user/login/{communityId}",method = RequestMethod.POST)
42 42
     public ResponseBean login(@RequestParam(value = "loginName") String loginName,

+ 3
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/dao/TpCarouselSettingMapper.java 查看文件

@@ -17,5 +17,8 @@ public interface TpCarouselSettingMapper {
17 17
 
18 18
     int updateByPrimaryKey(TpCarouselSetting record);
19 19
 
20
+     int getcarouselNum(String lease);
21
+
20 22
     Integer selectCarouselNum(String carouselType);
23
+
21 24
 }

+ 9
- 2
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/SocialServiceI.java 查看文件

@@ -28,10 +28,9 @@ public interface SocialServiceI {
28 28
 	/**
29 29
 	 * 公告轮播图
30 30
 	 * @param communityId
31
-	 * @param sum
32 31
 	 * @return
33 32
 	 */
34
-	List<TpAnnouncement> getAnnouncement(Integer communityId, Integer sum);
33
+	List<TpAnnouncement> getAnnouncement(Integer communityId);
35 34
 	
36 35
 	/**
37 36
 	 * 分页获取活动列表
@@ -42,4 +41,12 @@ public interface SocialServiceI {
42 41
 	 * @return
43 42
 	 */
44 43
 	List<TpActivity> getActivitys(Integer communityId, String title, Integer pageNum, Integer pageSize);
44
+	
45
+	/**
46
+	 * 获取活动帖子详情
47
+	 * @param activityId
48
+	 * @param communityId
49
+	 * @return
50
+	 */
51
+	TpActivity findActivityDetail(Integer activityId, Integer communityId);
45 52
 }

+ 0
- 2
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/MessageServiceImpl.java 查看文件

@@ -44,8 +44,6 @@ public class MessageServiceImpl implements MessageServiceI {
44 44
 	public List<TpMessage> getMessages(Integer communityId, Integer pageNum, Integer pageSize,Integer modelType) {
45 45
 		//todo
46 46
 		Integer userId = 1;
47
-		pageNum = null == pageNum ? 1 : pageNum;
48
-		pageSize = null == pageSize ? 10 : pageSize;
49 47
 		//使用分页插件
50 48
 		PageHelper.startPage(pageNum, pageSize);
51 49
 		// 获取数据

+ 21
- 14
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/SocialServiceImpl.java 查看文件

@@ -1,16 +1,11 @@
1 1
 package com.community.huiju.service.impl;
2 2
 
3 3
 import com.community.commom.constant.Constant;
4
-import com.community.huiju.dao.TpAnnouncementMapper;
5
-import com.community.huiju.dao.TpSocialViewMapper;
6
-import com.community.huiju.model.TpAnnouncement;
7
-import com.community.huiju.model.TpSocialView;
4
+import com.community.huiju.dao.*;
5
+import com.community.huiju.model.*;
8 6
 import com.community.huiju.service.SocialServiceI;
9
-import com.community.huiju.dao.TpActivityMapper;
10 7
 import com.community.huiju.dao.TpAnnouncementMapper;
11
-import com.community.huiju.model.TpActivity;
12 8
 import com.community.huiju.model.TpAnnouncement;
13
-import com.community.huiju.model.TpMessage;
14 9
 import com.community.huiju.service.SocialServiceI;
15 10
 import com.github.pagehelper.PageHelper;
16 11
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +32,11 @@ public class SocialServiceImpl implements SocialServiceI {
37 32
 
38 33
     @Autowired
39 34
     private TpActivityMapper tpActivityMapper;
35
+
36
+    @Autowired
37
+    private TpCarouselSettingMapper tpCarouselSettingMapper;
38
+
39
+
40 40
     
41 41
     @Override
42 42
     @Transactional
@@ -69,8 +69,6 @@ public class SocialServiceImpl implements SocialServiceI {
69 69
      */
70 70
     @Override
71 71
     public List<TpAnnouncement> getAnnouncements(Integer communityId,String title, Integer pageNum, Integer pageSize) {
72
-        pageNum = null == pageNum ? 1 : pageNum;
73
-        pageSize = null == pageSize ? 10 : pageSize;
74 72
         //使用分页插件
75 73
         PageHelper.startPage(pageNum, pageSize);
76 74
         // 获取数据
@@ -80,12 +78,12 @@ public class SocialServiceImpl implements SocialServiceI {
80 78
     /**
81 79
      * 根据当前小区ID查出轮播图
82 80
      * @param communityId 当前小区ID
83
-     * @param sum 当前查询总数
84 81
      * @return
85 82
      */
86 83
     @Override
87
-    public List<TpAnnouncement> getAnnouncement(Integer communityId, Integer sum) {
88
-        List<TpAnnouncement> listAnnouncement=tpAnnouncementMapper.getAnnouncement(communityId ,sum);
84
+    public List<TpAnnouncement> getAnnouncement(Integer communityId) {
85
+        Integer Num=tpCarouselSettingMapper.getcarouselNum(Constant.ANNOUNCEMENT);
86
+        List<TpAnnouncement> listAnnouncement=tpAnnouncementMapper.getAnnouncement(communityId,Num);
89 87
         return listAnnouncement;
90 88
     }
91 89
 
@@ -100,12 +98,21 @@ public class SocialServiceImpl implements SocialServiceI {
100 98
      */
101 99
     @Override
102 100
     public List<TpActivity> getActivitys(Integer communityId, String title, Integer pageNum, Integer pageSize) {
103
-        pageNum = null == pageNum ? 1 : pageNum;
104
-        pageSize = null == pageSize ? 10 : pageSize;
105 101
         //使用分页插件
106 102
         PageHelper.startPage(pageNum, pageSize);
107 103
         // 获取数据
108 104
         List<TpActivity> activityList = tpActivityMapper.getActivitys(communityId,title);
109 105
         return activityList;
110 106
     }
107
+    
108
+    /**
109
+     * 获取活动帖子详情
110
+     * @param activityId
111
+     * @param communityId
112
+     * @return
113
+     */
114
+    @Override
115
+    public TpActivity findActivityDetail(Integer activityId, Integer communityId) {
116
+        return null;
117
+    }
111 118
 }

+ 34
- 79
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TicketServiceImpl.java 查看文件

@@ -11,12 +11,9 @@ import com.github.pagehelper.PageHelper;
11 11
 import com.google.common.collect.Lists;
12 12
 import com.google.common.collect.Maps;
13 13
 import lombok.extern.slf4j.Slf4j;
14
-import org.apache.commons.collections.ListUtils;
15
-import org.apache.commons.lang.ObjectUtils;
16 14
 import org.springframework.beans.BeanUtils;
17 15
 import org.springframework.beans.factory.annotation.Autowired;
18 16
 import org.springframework.stereotype.Service;
19
-import sun.security.krb5.internal.Ticket;
20 17
 
21 18
 import java.util.List;
22 19
 import java.util.Map;
@@ -36,17 +33,12 @@ public class TicketServiceImpl implements ITicketService {
36 33
     private TpTicketRecordCommentMapper tpTicketRecordCommentMapper;
37 34
 
38 35
     @Override
39
-    public ResponseBean getList(TpTicket tpTicket,Integer pageCode, Integer pageSize) {
36
+    public ResponseBean getList(TpTicket tpTicket,Integer pageNum, Integer pageSize) {
40 37
 
41 38
         ResponseBean<Map<String,Object>> responseBean = new ResponseBean();
42 39
         // 最终返回值
43 40
         Map<String,Object> result = Maps.newHashMap();
44 41
 
45
-        // 查询参数
46
-        Map<String,Object> lastRecordMap = Maps.newHashMap();
47
-        lastRecordMap.put("size",1);
48
-
49
-
50 42
         Map<String,Object> parameter = Maps.newHashMap();
51 43
         parameter.put("communityId",tpTicket.getCommunityId());
52 44
         parameter.put("taUserId",tpTicket.getTaUserId());
@@ -55,66 +47,26 @@ public class TicketServiceImpl implements ITicketService {
55 47
 
56 48
 
57 49
         // 报修
58
-        PageHelper.startPage(pageCode,pageSize);
50
+        PageHelper.startPage(pageNum,pageSize);
59 51
         List<TpTicket> tpTicketRepairsList = tpTicketMapper.selectByCommuniytIdAndByTaUserIdAndByType(parameter);
60
-
61 52
         List<TpTicketVO> repairsList = Lists.newArrayList();
62
-        tpTicketRepairsList.stream().forEach(e->{
63
-            TpTicketVO tpTicketVO = new TpTicketVO();
64
-            BeanUtils.copyProperties(e,tpTicketVO);
65
-            // 设置工单编号
66
-            lastRecordMap.put("tickerId",e.getId());
67
-            TpTicketRecordComment comment = getTicketRecordComment(lastRecordMap);
68
-            if (null != comment) {
69
-                tpTicketVO.setCommentContent(comment.getContent());
70
-                tpTicketVO.setCommentCreateDate(comment.getCreateDate());
71
-            }
72
-
73
-
74
-            repairsList.add(tpTicketVO);
75
-        });
53
+        tpTicketVOConvert(tpTicketRepairsList,repairsList);
76 54
 
77 55
         // 投诉
78 56
         //  0 代表 报修  1 代表 投诉  2代表 联系单
79 57
         parameter.put("type",1);
80
-        PageHelper.startPage(pageCode,pageSize);
58
+        PageHelper.startPage(pageNum,pageSize);
81 59
         List<TpTicket> tpTicketComplaintList = tpTicketMapper.selectByCommuniytIdAndByTaUserIdAndByType(parameter);
82
-
83 60
         List<TpTicketVO> complaintList = Lists.newArrayList();
84
-        tpTicketComplaintList.stream().forEach(e->{
85
-            TpTicketVO tpTicketVO = new TpTicketVO();
86
-            BeanUtils.copyProperties(e,tpTicketVO);
87
-            // 设置工单编号
88
-            lastRecordMap.put("tickerId",e.getId());
89
-            TpTicketRecordComment comment = getTicketRecordComment(lastRecordMap);
90
-            if (null != comment) {
91
-                tpTicketVO.setCommentContent(comment.getContent());
92
-                tpTicketVO.setCommentCreateDate(comment.getCreateDate());
93
-            }
94
-
95
-            complaintList.add(tpTicketVO);
96
-        });
61
+        tpTicketVOConvert(tpTicketComplaintList, complaintList);
97 62
 
98 63
         // 联系工单
99 64
         //  0 代表 报修  1 代表 投诉  2代表 联系单
100 65
         parameter.put("type",2);
101
-        PageHelper.startPage(pageCode,pageSize);
66
+        PageHelper.startPage(pageNum,pageSize);
102 67
         List<TpTicket> tpTicketLiaisonList = tpTicketMapper.selectByCommuniytIdAndByTaUserIdAndByType(parameter);
103
-
104 68
         List<TpTicketVO> liaisonList = Lists.newArrayList();
105
-        tpTicketLiaisonList.stream().forEach(e->{
106
-            TpTicketVO tpTicketVO = new TpTicketVO();
107
-            BeanUtils.copyProperties(e,tpTicketVO);
108
-            // 设置工单编号
109
-            lastRecordMap.put("tickerId",e.getId());
110
-            TpTicketRecordComment comment = getTicketRecordComment(lastRecordMap);
111
-            if (null != comment) {
112
-                tpTicketVO.setCommentContent(comment.getContent());
113
-                tpTicketVO.setCommentCreateDate(comment.getCreateDate());
114
-            }
115
-
116
-            liaisonList.add(tpTicketVO);
117
-        });
69
+        tpTicketVOConvert(tpTicketLiaisonList, liaisonList);
118 70
 
119 71
         result.put("repairs",repairsList);
120 72
         result.put("complaint",complaintList);
@@ -136,29 +88,32 @@ public class TicketServiceImpl implements ITicketService {
136 88
                 ?null:list.get(0);
137 89
     }
138 90
 
139
-//    public <T> List<T> setTicketData(T t, List<Ticket> source, Map map){
140
-//        List<T> list = Lists.newArrayList();
141
-//
142
-//        // 查询参数
143
-//        Map<String,Object> lastRecordMap = Maps.newHashMap();
144
-//        lastRecordMap.put("size",1);
145
-//
146
-//        source.stream().forEach(e->{
147
-//            TpTicketVO tpTicketVO = new TpTicketVO();
148
-//            BeanUtils.copyProperties(e,tpTicketVO);
149
-//            // 设置工单编号
150
-//            lastRecordMap.put("tickerId",e.getId());
151
-//            TpTicketRecordComment comment = getTicketRecordComment(lastRecordMap);
152
-//            if (null != comment) {
153
-//                tpTicketVO.setCommentContent(comment.getContent());
154
-//                tpTicketVO.setCommentCreateDate(comment.getCreateDate());
155
-//            }
156
-//
157
-//            liaisonList.add(tpTicketVO);
158
-//        });
159
-
160
-
161
-        //return list;
162
-    //}
91
+    /**
92
+     * 数据转换,并填充数据
93
+     * @param target
94
+     * @param source
95
+     * @return
96
+     */
97
+    public void tpTicketVOConvert(List<TpTicket> source, List<TpTicketVO> target){
98
+
99
+        // 查询参数
100
+        Map<String,Object> lastRecordMap = Maps.newHashMap();
101
+        // 表示查询出最新的一条
102
+        lastRecordMap.put("size",1);
103
+
104
+        source.stream().forEach(e->{
105
+            TpTicketVO tpTicketVO = new TpTicketVO();
106
+            BeanUtils.copyProperties(e,tpTicketVO);
107
+            // 设置工单编号
108
+            lastRecordMap.put("tickerId",e.getId());
109
+            TpTicketRecordComment comment = getTicketRecordComment(lastRecordMap);
110
+            if (null != comment) {
111
+                tpTicketVO.setCommentContent(comment.getContent());
112
+                tpTicketVO.setCommentCreateDate(comment.getCreateDate());
113
+            }
114
+
115
+            target.add(tpTicketVO);
116
+        });
117
+    }
163 118
 
164 119
 }

+ 5
- 0
CODE/smart-community/app-api/src/main/resources/mapper/TpCarouselSettingMapper.xml 查看文件

@@ -85,4 +85,9 @@
85 85
       carousel_num = #{carouselNum,jdbcType=INTEGER}
86 86
     where id = #{id,jdbcType=INTEGER}
87 87
   </update>
88
+  <select id="getcarouselNum"  parameterType="java.lang.String" resultType="java.lang.Integer">
89
+    select carousel_num from tp_carousel_setting where  carousel_type=#{lease,jdbcType=VARCHAR}
90
+  </select>
91
+
92
+
88 93
 </mapper>