From d1fa8d11e65b97f4b8a0a9af0c776c12328ddcf8 Mon Sep 17 00:00:00 2001 From: luofl <1442745593@qq.com> Date: 星期一, 17 三月 2025 14:58:36 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev-2.0' into dev-2.0 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ProcessStatusEnum.java | 3 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/PartyMemberApplicationRequest.java | 3 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/conveter/EConverter.java | 5 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java | 5 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/excel/ComplaintExcel.java | 11 ++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml | 97 +++++++++++++++++++++--- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java | 8 +- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/PartyMemberController.java | 4 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ComplaintExportEnum.java | 25 ++++++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BcRegionServiceImpl.java | 2 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/MgtComplaintQuery.java | 9 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java | 9 ++ 12 files changed, 150 insertions(+), 31 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/PartyMemberController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/PartyMemberController.java index cdc121b..7709745 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/PartyMemberController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/PartyMemberController.java @@ -16,6 +16,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -24,7 +25,8 @@ @Api(tags = {"小程序-党员管理"}) @Validated -@RestController("/applet/party-member") +@RestController +@RequestMapping("/applet/party-member") @RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class PartyMemberController extends BaseController { private final IPartyMemberService partyMemberService; diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/conveter/EConverter.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/conveter/EConverter.java index ff932ba..ce85d0c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/conveter/EConverter.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/conveter/EConverter.java @@ -6,6 +6,7 @@ import cn.idev.excel.metadata.data.WriteCellData; import cn.idev.excel.metadata.property.ExcelContentProperty; import com.panzhihua.sangeshenbian.annotation.FastExcel; +import com.panzhihua.sangeshenbian.annotation.TargetEnum; import java.lang.reflect.Field; import java.lang.reflect.Method; @@ -32,9 +33,9 @@ //获取字段属性中的注解 Field field = contentProperty.getField(); //获取该字段所属枚举 - FastExcel fastExcel = field.getAnnotation(FastExcel.class); + TargetEnum targetEnum = field.getAnnotation(TargetEnum.class); //获取注解中的枚举信息 - Class<? extends Enum> type = fastExcel.type(); + Class<? extends Enum> type = targetEnum.type(); //获取枚举类的方法名 “getEnumByCode”就是自己编写的函数,Integer.class 指定入参类型 Method codeOf = type.getMethod("getEnumByCode", Integer.class); //反射执行方法,此方法得到的是一个枚举实例(具体得到什么,结合自身项目) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java index f5cc1af..24852ce 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java @@ -80,5 +80,12 @@ * @param query * @param loginUserInfo */ - List<ComplaintVO> getList(MgtComplaintQuery query, SystemUserVo loginUserInfo); + List<ComplaintVO> getList( @Param("query") MgtComplaintQuery query, @Param("loginUserInfo") SystemUserVo loginUserInfo); + + /** + * 管理后台-获取诉求详情 + * @param id + * @return + */ + ComplaintVO getDetailBg(Long id); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ComplaintExportEnum.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ComplaintExportEnum.java new file mode 100644 index 0000000..597b3e0 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ComplaintExportEnum.java @@ -0,0 +1,25 @@ +package com.panzhihua.sangeshenbian.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ComplaintExportEnum { + PROCESSING(0, "正在办理"), + EXTENDED(1, "延期办理"), + OVERDUE(2, "超时办理"), + COMPLETED(3, "已办结"), + REPORT_PENDING_AUDIT(4, "上报待审核"); + private final Integer code; + private final String desc; + + public static ComplaintExportEnum getEnumByCode(Integer code) { + for (ComplaintExportEnum e : ComplaintExportEnum.values()) { + if (e.code.equals(code)) { + return e; + } + } + return null; + } +} \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ProcessStatusEnum.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ProcessStatusEnum.java index 2259c4b..ff54ae1 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ProcessStatusEnum.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/enums/ProcessStatusEnum.java @@ -5,7 +5,8 @@ PROCESSING(0, "正在办理"), EXTENDED(1, "延期办理"), OVERDUE(2, "超时办理"), - COMPLETED(3, "已办结"); + COMPLETED(3, "已办结"), + REPORT_PENDING_AUDIT(4, "上报待审核"); private final int code; private final String description; diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/excel/ComplaintExcel.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/excel/ComplaintExcel.java index a3e6279..c4ac867 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/excel/ComplaintExcel.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/excel/ComplaintExcel.java @@ -1,6 +1,10 @@ package com.panzhihua.sangeshenbian.model.excel; import cn.idev.excel.annotation.ExcelProperty; +import com.panzhihua.sangeshenbian.annotation.TargetEnum; +import com.panzhihua.sangeshenbian.conveter.EConverter; +import com.panzhihua.sangeshenbian.enums.ComplaintExportEnum; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,10 +18,10 @@ @Data public class ComplaintExcel { @ExcelProperty(value = "录入人") - private String nickname; + private String reportUserName; @ExcelProperty(value = "录入人联系方式") - private String phone; + private String reportUserPhone; @ExcelProperty(value = "群众姓名") private String name; @@ -40,6 +44,7 @@ @ExcelProperty(value = "详细地址描述") private String detailedAddress; - @ExcelProperty(value = "流转状态:0-正在办理 1-延期办理 2-超时办理 3-已办结 4-群众撤销 5-上报待审核 6-上级驳回 7-延期待审核") + @ExcelProperty(value = "状态",converter = EConverter.class) + @TargetEnum(type = ComplaintExportEnum.class) private Integer status; } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BcRegionServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BcRegionServiceImpl.java index c5b11a9..5d8f6eb 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BcRegionServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/BcRegionServiceImpl.java @@ -34,7 +34,7 @@ return this.lambdaQuery() .eq(BcRegion::getRegionName, districtName) .eq(BcRegion::getDeleteFlag, 0) - .eq(BcRegion::getHierarchyOrder, 2).last("LIMIT 1").one(); + .eq(BcRegion::getHierarchyOrder, 3).last("LIMIT 1").one(); } @Override diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java index c4a4fbf..54f5a6b 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java @@ -954,14 +954,14 @@ response.setCharacterEncoding("utf-8"); String fileName = URLEncoder.encode("诉求数据", "UTF-8").replaceAll("\\+", "%20"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); - EasyExcel.write(response.getOutputStream(), PartyMemberExcel.class) + EasyExcel.write(response.getOutputStream(), ComplaintExcel.class) .sheet("诉求数据") .doWrite(complaintExcels); } @Override public void downloadFile(Long id,Integer type) throws IOException { - Complaint complaint = getById(id); + Complaint complaint = baseMapper.getDetailBg(id); if (Objects.isNull(complaint)) { throw new ServiceException("该诉求不存在"); } @@ -969,7 +969,7 @@ BcRegion region = bcRegionService.getDistrictByCode(complaint.getDistrictsCode().toString()); ComStreet street = comStreetService.getById(complaint.getStreetId().toString()); ComAct act = comActService.getById(complaint.getCommunityId()); - String community = region.getRegionName() +"-"+ street.getName() + act.getName(); + String community = region.getRegionName() +"-"+ street.getName() + "-"+ act.getName(); PartyMember partyMember = null; if (Objects.nonNull(complaint.getPartyMemberId())){ partyMember = partyMemberService.getById(complaint.getPartyMemberId()); @@ -993,7 +993,7 @@ map.put("community", community); map.put("problemType", complaint.getProblemType()); map.put("descriptionContent", complaint.getDescriptionContent()); - map.put("reportType", ReportTypeEnum.fromCode(complaint.getReportType())); //TODO待修改 + map.put("reportType", ReportTypeEnum.fromCode(complaint.getReportType()).getDescription()); map.put("partyOrganization",Objects.nonNull(partyMember)? partyMember.getPartyOrganization() : ""); map.put("name", complaint.getName()); map.put("contactNumber", complaint.getContactNumber()); diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java index 2e9357c..c74b218 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java @@ -228,11 +228,12 @@ // 验证社区是否存在且属于该街道 // 实际代码应该是调用相应的Service查询社区信息 ComAct comAct = comActService.getCommunityByNameAndStreet(communityName, comStreet.getStreetId()); - streetId = comStreet.getStreetId(); - communityId = comAct.getCommunityId(); if (Objects.isNull(comAct)) { isValid = false; errorMsg.append("社区不存在或不属于所选街道; "); + } else { + streetId = comStreet.getStreetId(); + communityId = comAct.getCommunityId(); } } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/MgtComplaintQuery.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/MgtComplaintQuery.java index 29b0e95..1628258 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/MgtComplaintQuery.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/MgtComplaintQuery.java @@ -19,14 +19,17 @@ @ApiModel("管理后台诉求管理查询数据传输对象") public class MgtComplaintQuery extends BasePage { @ApiModelProperty(value = "录入人") - private String nickname; + private String reportUserName; - @ApiModelProperty(value = "联系方式") - private String phone; + @ApiModelProperty(value = "录入人联系方式") + private String reportUserPhone; @ApiModelProperty(value = "群众姓名") private String name; + @ApiModelProperty(value = "群众联系方式") + private String contactNumber; + @ApiModelProperty(value = "发生时间-开始") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/PartyMemberApplicationRequest.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/PartyMemberApplicationRequest.java index da3e105..5f3c2fb 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/PartyMemberApplicationRequest.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/PartyMemberApplicationRequest.java @@ -5,6 +5,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; @Data @ApiModel("党员申请传输对象") @@ -42,7 +43,7 @@ private String community; @ApiModelProperty(value = "社区ID") - @NotBlank(message = "社区ID不能空") + @NotNull(message = "社区ID不能空") private Long communityId; @ApiModelProperty(value = "服务对象") diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml index 5e92dca..1731395 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml @@ -310,11 +310,17 @@ <if test="query.status!=null and query.status == 0"> AND t.status = #{query.status} </if> - <if test="query.nickname != null and query.nickname!=''"> - + <if test="query.reportUserName != null and query.reportUserName!=''"> + AND t.report_user_name LIKE CONCAT('%',#{query.reportUserName},'%') </if> - <if test="query.phone != null and query.phone!=''"> - + <if test="query.reportUserPhone != null and query.reportUserPhone!=''"> + AND t.report_user_phone LIKE CONCAT('%',#{query.phone},'%') + </if> + <if test="query.name != null and query.name!=''"> + AND t.name LIKE CONCAT('%',#{query.name},'%') + </if> + <if test="query.contactNumber != null and query.contactNumber!=''"> + AND t.contact_number LIKE CONCAT('%',#{query.contactNumber},'%') </if> <if test="query.startTime != null and query.endTime!=null"> AND t.create_time BETWEEN #{query.startTime} AND #{query.endTime} @@ -323,6 +329,7 @@ AND t.problem_type =#{query.problemType} </if> </where> + GROUP BY t.id ORDER BY t.create_time DESC </select> <select id="getList" resultType="com.panzhihua.sangeshenbian.model.vo.ComplaintVO"> @@ -340,12 +347,13 @@ sc.images, sc.videos, CASE - WHEN sc.status = 0 and scar.audit_type = 1 AND scar.audit_status = 0 THEN 7 - WHEN sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0 THEN 5 - WHEN sc.status = 0 and scar.audit_status = 2 THEN 6 + WHEN sc.status = 0 and scar.audit_type = 1 AND scar.audit_status = 0 THEN 4 + WHEN sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0 THEN 4 ELSE sc.status END AS status, sc.report_type, + sc.report_user_name, + sc.report_user_phone, sc.superior_id, sc.city_code, sc.districts_code, @@ -380,7 +388,6 @@ INNER JOIN sgsb_complaint_audit_record scar ON scar.complaint_id = sc.id and scar.latest_flag = 1 ) AS t <where> - scar.latest_flag = 1 <if test="1 == loginUserInfo.accountLevel"> and t.city_code = 510400 </if> @@ -402,11 +409,17 @@ <if test="query.status!=null and query.status == 0"> AND t.status = #{query.status} </if> - <if test="query.nickname != null and query.nickname!=''"> - + <if test="query.reportUserName != null and query.reportUserName!=''"> + AND t.report_user_name LIKE CONCAT('%',#{query.reportUserName},'%') </if> - <if test="query.phone != null and query.phone!=''"> - + <if test="query.reportUserPhone != null and query.reportUserPhone!=''"> + AND t.report_user_phone LIKE CONCAT('%',#{query.phone},'%') + </if> + <if test="query.name != null and query.name!=''"> + AND t.name LIKE CONCAT('%',#{query.name},'%') + </if> + <if test="query.contactNumber != null and query.contactNumber!=''"> + AND t.contact_number LIKE CONCAT('%',#{query.contactNumber},'%') </if> <if test="query.startTime != null and query.endTime!=null"> AND t.create_time BETWEEN #{query.startTime} AND #{query.endTime} @@ -415,6 +428,7 @@ AND t.problem_type =#{query.problemType} </if> </where> + GROUP BY t.id ORDER BY t.create_time DESC </select> @@ -422,4 +436,63 @@ <select id="getTimeoutAndNotComment" resultType="com.panzhihua.sangeshenbian.model.entity.Complaint"> select * from sgsb_complaint where status = 3 and DATE_ADD(completion_time, INTERVAL 10 DAY) <= NOW() and id not in (select complaint_id from sgsb_complaint_comment where del_flag = 0) </select> + <select id="getDetailBg" resultType="com.panzhihua.sangeshenbian.model.vo.ComplaintVO" + parameterType="java.lang.Long"> + SELECT * FROM( + SELECT sc.id, + sc.serial_number, + sc.time, + sc.problem_type, + sc.name, + sc.contact_number, + sc.location, + sc.detailed_address, + sc.description_title, + sc.description_content, + sc.images, + sc.videos, + CASE + WHEN sc.status = 0 and scar.audit_type = 1 AND scar.audit_status = 0 THEN 4 + WHEN sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0 THEN 4 + ELSE sc.status + END AS status, + sc.report_type, + sc.report_user_name, + sc.report_user_phone, + sc.superior_id, + sc.city_code, + sc.districts_code, + sc.street_id, + sc.community_id, + sc.party_member_id, + sc.create_by, + sc.create_time, + sc.update_by, + sc.update_time, + sc.completion_description, + sc.completion_images, + sc.completion_videos, + sc.completion_other_description, + sc.completion_time, + sc.completion_user_id, + sc.completion_username, + sc.completion_user_phone, + sc.closing_time, + sc.over_time_days, + sc.latitude, + sc.longitude, + scar.audit_type, + scar.audit_status, + scar.comment, + scar.create_time AS reportTime, + scar.system_user_id, + scar.reporter, + scar.department_name, + scar.department_id + FROM sgsb_complaint sc + INNER JOIN sgsb_complaint_audit_record scar ON scar.complaint_id = sc.id and scar.latest_flag = 1 + ) AS t + WHERE t.id = #{id} + GROUP BY t.id + </select> </mapper> -- Gitblit v1.7.1