Browse Source

孔村大屏-公益互助部分接口

dev_shibei_match
sunyuchao 5 years ago
parent
commit
fea1a15f61
  1. 33
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/HeartVolunteerrankFormDTO.java
  2. 53
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/AgeDistributionResultDTO.java
  3. 26
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GenderDistributionResultDTO.java
  4. 27
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/HeartVolunteerportrayalResultDTO.java
  5. 37
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/HeartVolunteerrankResultDTO.java
  6. 33
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/KcScreenController.java
  7. 8
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcActSummaryDailyDao.java
  8. 3
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcActTrendMonthlyDao.java
  9. 3
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcPlatformSummaryDailyDao.java
  10. 12
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcVolunteerHeatRankGridDailyDao.java
  11. 8
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcVolunteerSummaryDailyDao.java
  12. 21
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/KcScreenService.java
  13. 56
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/KcScreenServiceImpl.java
  14. 17
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcActSummaryDailyDao.xml
  15. 2
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcActTrendMonthlyDao.xml
  16. 2
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcPlatformSummaryDailyDao.xml
  17. 20
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcVolunteerHeatRankGridDailyDao.xml
  18. 20
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcVolunteerSummaryDailyDao.xml

33
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/HeartVolunteerrankFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.evaluationindex.screen.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 公益互助-个人志愿者公益时长排名-接口入参
* @Author sun
*/
@Data
public class HeartVolunteerrankFormDTO implements Serializable {
private static final long serialVersionUID = -2880432640584616651L;
/**
* 页码从1开始
*/
@Min(value = 1, message = "页码必须大于0", groups = { AddUserInternalGroup.class })
private Integer pageNo;
/**
* 页容量默认10页
*/
@Min(value = 1, message = "每页条数必须大于0", groups = { AddUserInternalGroup.class })
private Integer pageSize;
/**
* 客户Id
*/
private String customerId;
public interface AddUserInternalGroup {}
}

53
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/AgeDistributionResultDTO.java

@ -0,0 +1,53 @@
package com.epmet.evaluationindex.screen.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.LinkedList;
/**
* 公益互助-志愿者画像
* @Author sun
*/
@Data
public class AgeDistributionResultDTO implements Serializable {
private static final long serialVersionUID = 3860268744336541373L;
/**
* 小于20岁的志愿者总人数
*/
private Integer ageLevel1 = 0;
/**
* 20-30岁的志愿者总人数
*/
private Integer ageLevel2 = 0;
/**
* 31-40岁的志愿者总人数
*/
private Integer ageLevel3 = 0;
/**
* 41-50岁的志愿者总人数
*/
private Integer ageLevel4 = 0;
/**
* 51-60岁的志愿者总人数
*/
private Integer ageLevel5 = 0;
/**
* 60+岁的志愿者总人数
*/
private Integer ageLevel6 = 0;
/**
* 志愿者中男性总人数
*/
@JsonIgnore
private Integer maleCount = 0;
/**
* 志愿者中女性总人数
*/
@JsonIgnore
private Integer femaleCount = 0;
}

26
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GenderDistributionResultDTO.java

@ -0,0 +1,26 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.LinkedList;
/**
* 公益互助-志愿者画像
* @Author sun
*/
@Data
public class GenderDistributionResultDTO implements Serializable {
private static final long serialVersionUID = 3860268744336541373L;
/**
* 志愿者中男性总人数
*/
private Integer maleCount = 0;
/**
* 志愿者中女性总人数
*/
private Integer femaleCount = 0;
}

27
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/HeartVolunteerportrayalResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.LinkedList;
/**
* 公益互助-志愿者画像
* @Author sun
*/
@Data
public class HeartVolunteerportrayalResultDTO implements Serializable {
private static final long serialVersionUID = 3860268744336541373L;
/**
* 个年龄段志愿者人数
*/
private AgeDistributionResultDTO ageDistribution;
/**
* 女志愿者人员
*/
private GenderDistributionResultDTO genderDistribution;
}

37
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/HeartVolunteerrankResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 公益互助-个人志愿者公益时长排名
* @Author sun
*/
@Data
public class HeartVolunteerrankResultDTO implements Serializable {
private static final long serialVersionUID = 3860268744336541373L;
/**
* 用户id
*/
private String userId = "";
/**
* 用户名称
*/
private String userName = "";
/**
* 公益时长分钟
*/
private Integer heartTime = 0;
/**
* 积分
*/
private Integer points = 0;
/**
* 所属网格名称
*/
private String gridName = "";
}

33
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/KcScreenController.java

@ -3,15 +3,18 @@ package com.epmet.datareport.controller.screen;
import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth;
import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.datareport.service.evaluationindex.screen.KcScreenService;
import com.epmet.evaluationindex.screen.dto.result.HeartActcounttrendResultDTO;
import com.epmet.evaluationindex.screen.dto.result.HeartSummaryResultDTO;
import com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO;
import com.epmet.evaluationindex.screen.dto.form.HeartVolunteerrankFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import org.springframework.beans.factory.annotation.Autowired;
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.RestController;
import java.util.List;
/**
* 孔村大屏api
*
@ -59,4 +62,28 @@ public class KcScreenController {
return new Result<HeartActcounttrendResultDTO>().ok(kcScreenService.heartActcounttrend(externalAppRequestParam));
}
/**
* @param externalAppRequestParam
* @Description 公益互助-志愿者画像
* @author sun
*/
@ExternalAppRequestAuth
@PostMapping("heart/volunteerportrayal")
public Result<HeartVolunteerportrayalResultDTO> heartVolunteerportrayal(ExternalAppRequestParam externalAppRequestParam){
return new Result<HeartVolunteerportrayalResultDTO>().ok(kcScreenService.heartVolunteerportrayal(externalAppRequestParam));
}
/**
* @param externalAppRequestParam
* @Description 公益互助-个人志愿者公益时长排名
* @author sun
*/
@ExternalAppRequestAuth
@PostMapping("heart/volunteerrank")
public Result<List<HeartVolunteerrankResultDTO>> heartVolunteerrank(ExternalAppRequestParam externalAppRequestParam, @RequestBody HeartVolunteerrankFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, HeartVolunteerrankFormDTO.AddUserInternalGroup.class);
formDTO.setCustomerId(externalAppRequestParam.getCustomerId());
return new Result<List<HeartVolunteerrankResultDTO>>().ok(kcScreenService.heartVolunteerrank(formDTO));
}
}

8
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcActSummaryDailyDao.java

@ -17,7 +17,9 @@
package com.epmet.datareport.dao.evaluationindex.screenkc;
import com.epmet.evaluationindex.screen.dto.result.HeartSummaryResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* KC-活动各类总数(先根据customerId+dateId删除)
@ -28,4 +30,10 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ScreenKcActSummaryDailyDao {
/**
* @param customerId
* @Description 公益互助-各类总数汇总
* @author sun
*/
HeartSummaryResultDTO selectHeartSummary(@Param("customerId") String customerId);
}

3
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcActTrendMonthlyDao.java

@ -19,6 +19,7 @@ package com.epmet.datareport.dao.evaluationindex.screenkc;
import com.epmet.evaluationindex.screen.dto.result.ActTrendMonthlyResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -36,5 +37,5 @@ public interface ScreenKcActTrendMonthlyDao {
* @Description 按客户查询最近十二个月数据
* @author sun
*/
List<ActTrendMonthlyResultDTO> selectActTrendMonthly(String customerId);
List<ActTrendMonthlyResultDTO> selectActTrendMonthly(@Param("customerId") String customerId);
}

3
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcPlatformSummaryDailyDao.java

@ -19,6 +19,7 @@ package com.epmet.datareport.dao.evaluationindex.screenkc;
import com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* KC-平台各汇总值(先根据customerId+dateId删除)
@ -34,5 +35,5 @@ public interface ScreenKcPlatformSummaryDailyDao {
* @Description 首页-平台各类总数
* @author sun
*/
HomepageSummaryResultDTO selectSummaryDaily(String customerId);
HomepageSummaryResultDTO selectSummaryDaily(@Param("customerId") String customerId);
}

12
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcVolunteerHeatRankGridDailyDao.java

@ -17,8 +17,13 @@
package com.epmet.datareport.dao.evaluationindex.screenkc;
import com.epmet.evaluationindex.screen.dto.form.HeartVolunteerrankFormDTO;
import com.epmet.evaluationindex.screen.dto.result.HeartSummaryResultDTO;
import com.epmet.evaluationindex.screen.dto.result.HeartVolunteerrankResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* KC-志愿者公益时长排名(先根据customerId删除)
@ -30,9 +35,10 @@ import org.apache.ibatis.annotations.Mapper;
public interface ScreenKcVolunteerHeatRankGridDailyDao {
/**
* @param customerId
* @Description 公益互助-各类总数汇总
* @param formDTO
* @Description 公益互助-个人志愿者公益时长排名
* @author sun
*/
HeartSummaryResultDTO selectHeartSummary(String customerId);
List<HeartVolunteerrankResultDTO> selectHeartVolunteerrankList(HeartVolunteerrankFormDTO formDTO);
}

8
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcVolunteerSummaryDailyDao.java

@ -17,7 +17,9 @@
package com.epmet.datareport.dao.evaluationindex.screenkc;
import com.epmet.evaluationindex.screen.dto.result.AgeDistributionResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* KC-志愿者汇总(先根据customerId+dateId删除)
@ -28,4 +30,10 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ScreenKcVolunteerSummaryDailyDao {
/**
* @param customerId
* @Description 根据客户Id查询最近日期志愿者统计数据
* @author sun
*/
AgeDistributionResultDTO selectVolunteerSummaryDaily(@Param("customerId") String customerId);
}

21
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/KcScreenService.java

@ -1,9 +1,10 @@
package com.epmet.datareport.service.evaluationindex.screen;
import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
import com.epmet.evaluationindex.screen.dto.result.HeartActcounttrendResultDTO;
import com.epmet.evaluationindex.screen.dto.result.HeartSummaryResultDTO;
import com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO;
import com.epmet.evaluationindex.screen.dto.form.HeartVolunteerrankFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import java.util.List;
/**
* 孔村大屏api
@ -33,4 +34,18 @@ public interface KcScreenService {
* @author sun
*/
HeartActcounttrendResultDTO heartActcounttrend(ExternalAppRequestParam externalAppRequestParam);
/**
* @param externalAppRequestParam
* @Description 公益互助-志愿者画像
* @author sun
*/
HeartVolunteerportrayalResultDTO heartVolunteerportrayal(ExternalAppRequestParam externalAppRequestParam);
/**
* @param formDTO
* @Description 公益互助-个人志愿者公益时长排名
* @author sun
*/
List<HeartVolunteerrankResultDTO> heartVolunteerrank(HeartVolunteerrankFormDTO formDTO);
}

56
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/KcScreenServiceImpl.java

@ -2,16 +2,13 @@ package com.epmet.datareport.service.evaluationindex.screen.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.constant.DataSourceConstant;
import com.epmet.datareport.dao.evaluationindex.screenkc.ScreenKcActTrendMonthlyDao;
import com.epmet.datareport.dao.evaluationindex.screenkc.ScreenKcPlatformSummaryDailyDao;
import com.epmet.datareport.dao.evaluationindex.screenkc.ScreenKcVolunteerHeatRankGridDailyDao;
import com.epmet.datareport.dao.evaluationindex.screenkc.*;
import com.epmet.datareport.service.evaluationindex.screen.KcScreenService;
import com.epmet.datareport.utils.DateUtils;
import com.epmet.evaluationindex.screen.dto.result.ActTrendMonthlyResultDTO;
import com.epmet.evaluationindex.screen.dto.result.HeartActcounttrendResultDTO;
import com.epmet.evaluationindex.screen.dto.result.HeartSummaryResultDTO;
import com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO;
import com.epmet.evaluationindex.screen.dto.form.HeartVolunteerrankFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -33,9 +30,13 @@ public class KcScreenServiceImpl implements KcScreenService {
@Autowired
private ScreenKcPlatformSummaryDailyDao screenKcPlatformSummaryDailyDao;
@Autowired
private ScreenKcVolunteerHeatRankGridDailyDao screenKcVolunteerHeatRankGridDailyDao;
private ScreenKcActSummaryDailyDao screenKcActSummaryDailyDao;
@Autowired
private ScreenKcActTrendMonthlyDao screenKcActTrendMonthlyDao;
@Autowired
private ScreenKcVolunteerSummaryDailyDao screenKcVolunteerSummaryDailyDao;
@Autowired
private ScreenKcVolunteerHeatRankGridDailyDao screenKcVolunteerHeatRankGridDailyDao;
/**
* @param externalAppRequestParam
@ -54,7 +55,7 @@ public class KcScreenServiceImpl implements KcScreenService {
*/
@Override
public HeartSummaryResultDTO heartSummary(ExternalAppRequestParam externalAppRequestParam) {
return screenKcVolunteerHeatRankGridDailyDao.selectHeartSummary(externalAppRequestParam.getCustomerId());
return screenKcActSummaryDailyDao.selectHeartSummary(externalAppRequestParam.getCustomerId());
}
/**
@ -80,4 +81,41 @@ public class KcScreenServiceImpl implements KcScreenService {
return resultDTO;
}
/**
* @param externalAppRequestParam
* @Description 公益互助-志愿者画像
* @author sun
*/
@Override
public HeartVolunteerportrayalResultDTO heartVolunteerportrayal(ExternalAppRequestParam externalAppRequestParam) {
HeartVolunteerportrayalResultDTO resultDTO = new HeartVolunteerportrayalResultDTO();
GenderDistributionResultDTO genderDistribution = new GenderDistributionResultDTO();
//1.根据客户Id查询最近日期志愿者统计数据
AgeDistributionResultDTO ageDistribution = screenKcVolunteerSummaryDailyDao.selectVolunteerSummaryDaily(externalAppRequestParam.getCustomerId());
//2.封装数据并返回
if (null == ageDistribution) {
resultDTO.setAgeDistribution(new AgeDistributionResultDTO());
resultDTO.setGenderDistribution(genderDistribution);
} else {
resultDTO.setAgeDistribution(ageDistribution);
genderDistribution.setMaleCount(ageDistribution.getMaleCount());
genderDistribution.setFemaleCount(ageDistribution.getFemaleCount());
resultDTO.setGenderDistribution(genderDistribution);
}
return resultDTO;
}
/**
* @param formDTO
* @Description 公益互助-个人志愿者公益时长排名
* @author sun
*/
@Override
public List<HeartVolunteerrankResultDTO> heartVolunteerrank(HeartVolunteerrankFormDTO formDTO) {
int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
formDTO.setPageNo(pageIndex);
List<HeartVolunteerrankResultDTO> list = screenKcVolunteerHeatRankGridDailyDao.selectHeartVolunteerrankList(formDTO);
return list;
}
}

17
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcActSummaryDailyDao.xml

@ -3,5 +3,22 @@
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenkc.ScreenKcActSummaryDailyDao">
<select id="selectHeartSummary" resultType="com.epmet.evaluationindex.screen.dto.result.HeartSummaryResultDTO">
SELECT
date_id AS "dateId",
act_count AS "actCount",
volunteer_count AS "volunteerCount",
parti_user_count AS "partiUserCount",
reward_point_count AS "rewardPointCount",
heart_time AS "heartTime"
FROM
screen_kc_act_summary_daily
WHERE
del_flag = '0'
AND customer_id = #{customerId}
ORDER BY
date_id DESC, created_time DESC
LIMIT 1
</select>
</mapper>

2
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcActTrendMonthlyDao.xml

@ -15,7 +15,7 @@
del_flag = '0'
AND customer_id = #{customerId}
ORDER BY
month_id DESC
month_id DESC, created_time DESC
LIMIT 12
</select>
</mapper>

2
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcPlatformSummaryDailyDao.xml

@ -24,7 +24,7 @@
del_flag = '0'
AND customer_id = #{customerId}
ORDER BY
date_id DESC
date_id DESC, created_time DESC
LIMIT 1
</select>

20
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcVolunteerHeatRankGridDailyDao.xml

@ -3,22 +3,20 @@
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenkc.ScreenKcVolunteerHeatRankGridDailyDao">
<select id="selectHeartSummary" resultType="com.epmet.evaluationindex.screen.dto.result.HeartSummaryResultDTO">
<select id="selectHeartVolunteerrankList" resultType="com.epmet.evaluationindex.screen.dto.result.HeartVolunteerrankResultDTO">
SELECT
date_id AS "dateId",
act_count AS "actCount",
volunteer_count AS "volunteerCount",
parti_user_count AS "partiUserCount",
reward_point_count AS "rewardPointCount",
heart_time AS "heartTime"
grid_name AS "gridName",
user_id AS "userId",
user_name AS "userName",
heart_time AS "heartTime",
points AS "points"
FROM
screen_kc_act_summary_daily
screen_kc_volunteer_heat_rank_grid_daily
WHERE
del_flag = '0'
AND customer_id = #{customerId}
ORDER BY
date_id DESC
LIMIT 1
date_id DESC, created_time DESC
LIMIT #{pageNo}, #{pageSize}
</select>
</mapper>

20
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcVolunteerSummaryDailyDao.xml

@ -3,5 +3,23 @@
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenkc.ScreenKcVolunteerSummaryDailyDao">
<select id="selectVolunteerSummaryDaily" resultType="com.epmet.evaluationindex.screen.dto.result.AgeDistributionResultDTO">
SELECT
age_level_1 AS "ageLevel1",
age_level_2 AS "ageLevel2",
age_level_3 AS "ageLevel3",
age_level_4 AS "ageLevel4",
age_level_5 AS "ageLevel5",
age_level_6 AS "ageLevel6",
male_count AS "maleCount",
female_count AS "femaleCount"
FROM
screen_kc_volunteer_summary_daily
WHERE
del_flag = '0'
AND customer_id = #{customerId}
ORDER BY
date_id DESC, created_time DESC
LIMIT 1
</select>
</mapper>

Loading…
Cancel
Save