Compare commits
4 Commits
master
...
feature/sy
Author | SHA1 | Date |
---|---|---|
|
e472ce9bb1 | 4 years ago |
|
b517a5ab78 | 4 years ago |
|
a9620f42c1 | 4 years ago |
|
416afbc76b | 4 years ago |
8 changed files with 380 additions and 2 deletions
@ -0,0 +1,64 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.dto.points.result; |
|||
|
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
|
|||
/** |
|||
* @Author zhangyong |
|||
* @Date 15:45 2020-09-18 |
|||
* @Description: 网格/社区 积分部门统计 |
|||
*/ |
|||
@Data |
|||
public class PointDeptStatisticsResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -816829897801616059L; |
|||
/** |
|||
* 用户积分 |
|||
*/ |
|||
private Integer points; |
|||
|
|||
/** |
|||
* 用户累计积分 |
|||
*/ |
|||
private Integer pointsTotle; |
|||
|
|||
/** |
|||
* 父所有部门 |
|||
*/ |
|||
private String parentDeptIds; |
|||
|
|||
/** |
|||
* 父所有部门 |
|||
*/ |
|||
private String parentDeptNames; |
|||
|
|||
/** |
|||
* 所有部门ID |
|||
*/ |
|||
private String allDeptIds; |
|||
|
|||
/** |
|||
* 所有部门名称 |
|||
*/ |
|||
private String allDeptNames; |
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.elink.esua.epdc.dto.points.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
@Data |
|||
public class PointsStatisticsListResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 8249595537995735691L; |
|||
|
|||
/** |
|||
* 总积分 |
|||
*/ |
|||
private int allPoints; |
|||
|
|||
/** |
|||
* 积分操作类型 |
|||
*/ |
|||
private int pointsType; |
|||
|
|||
/** |
|||
* 消耗积分 |
|||
*/ |
|||
private int residuePoints; |
|||
|
|||
/** |
|||
* 操作描述 |
|||
*/ |
|||
private String operationDesc; |
|||
|
|||
} |
@ -0,0 +1,72 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.modules.points.controller; |
|||
|
|||
import com.elink.esua.epdc.commons.tools.page.PageData; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.dto.points.result.PointDeptStatisticsResultDTO; |
|||
import com.elink.esua.epdc.dto.points.result.PointsStatisticsListResultDTO; |
|||
import com.elink.esua.epdc.modules.points.service.PointsLogsAnalysisService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RequestParam; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import java.util.Map; |
|||
|
|||
|
|||
/** |
|||
* 积分日志分析 |
|||
* |
|||
* @author yujintao yujintao@elink-cn.com |
|||
* @since v1.0.0 2019-09-04 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("pointsLogAnalysis") |
|||
public class PointsLogsAnalysisController { |
|||
|
|||
@Autowired |
|||
private PointsLogsAnalysisService pointsLogsAnalysisService; |
|||
|
|||
/*** |
|||
* 积分分类统计 |
|||
* @param params |
|||
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.result.PointsStatisticsListResultDTO>> |
|||
* @author qushutong |
|||
* @date 2020/7/21 9:22 |
|||
*/ |
|||
@GetMapping("/point/pointsTypePage") |
|||
public Result<PageData<PointsStatisticsListResultDTO>> pointsTypePage(@RequestParam Map<String, Object> params) { |
|||
PageData<PointsStatisticsListResultDTO> list = pointsLogsAnalysisService.pointsTypePage(params); |
|||
return new Result<PageData<PointsStatisticsListResultDTO>>().ok(list); |
|||
} |
|||
|
|||
/*** |
|||
* 网格积分排名 |
|||
* @param params |
|||
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.UserPointResultDTO>> |
|||
* @author songyunpeng |
|||
* @date 2020/8/4 13:44 |
|||
*/ |
|||
@GetMapping("/point/pointsDeptPage") |
|||
public Result<PageData<PointDeptStatisticsResultDTO>> pointsDeptPage(@RequestParam Map<String, Object> params) { |
|||
PageData<PointDeptStatisticsResultDTO> list = pointsLogsAnalysisService.pointsDeptPage(params); |
|||
return new Result<PageData<PointDeptStatisticsResultDTO>>().ok(list); |
|||
} |
|||
} |
@ -0,0 +1,52 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.elink.esua.epdc.modules.points.dao; |
|||
|
|||
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; |
|||
import com.elink.esua.epdc.dto.points.result.PointDeptStatisticsResultDTO; |
|||
import com.elink.esua.epdc.dto.points.result.PointsStatisticsListResultDTO; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author syp |
|||
* @Date 2020/2/10 13:43 |
|||
*/ |
|||
@Mapper |
|||
public interface PointsLogsAnalysisDao extends BaseDao<PointsStatisticsListResultDTO> { |
|||
|
|||
/*** |
|||
* 积分分类统计 |
|||
* @param params |
|||
* @return java.util.List<com.elink.esua.epdc.dto.result.PointsStatisticsListResultDTO> |
|||
* @author qushutong |
|||
* @date 2020/7/21 10:37 |
|||
*/ |
|||
List<PointsStatisticsListResultDTO> selectPointsTypePage(Map<String, Object> params); |
|||
/** |
|||
* @Description 积分部门统计 |
|||
* @Author songyunpeng |
|||
* @Date 2021/4/14 |
|||
* @Param [params] |
|||
* @return java.util.List<com.elink.esua.epdc.dto.points.result.PointDeptStatisticsResultDTO> |
|||
**/ |
|||
List<PointDeptStatisticsResultDTO> selectPointsDeptPage(Map<String, Object> params); |
|||
} |
@ -0,0 +1,34 @@ |
|||
package com.elink.esua.epdc.modules.points.service; |
|||
|
|||
import com.elink.esua.epdc.commons.tools.page.PageData; |
|||
import com.elink.esua.epdc.dto.points.result.PointDeptStatisticsResultDTO; |
|||
import com.elink.esua.epdc.dto.points.result.PointsStatisticsListResultDTO; |
|||
|
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 积分日志分析 |
|||
* |
|||
* @Author syp |
|||
* @Date 2020/2/10 13:43 |
|||
*/ |
|||
public interface PointsLogsAnalysisService { |
|||
|
|||
/*** |
|||
* 积分分类统计 |
|||
* @param params |
|||
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.result.PointsStatisticsListResultDTO> |
|||
* @author qushutong |
|||
* @date 2020/7/21 10:36 |
|||
*/ |
|||
PageData<PointsStatisticsListResultDTO> pointsTypePage(Map<String, Object> params); |
|||
|
|||
/** |
|||
* @Description 网格/社区 积分部门统计 - pc |
|||
* @Author songyunpeng |
|||
* @Date 2020/12/18 |
|||
* @Param [params] |
|||
* @return java.util.List<com.elink.esua.epdc.dto.points.result.PointDeptStatisticsResultDTO> |
|||
**/ |
|||
PageData<PointDeptStatisticsResultDTO> pointsDeptPage(Map<String, Object> params); |
|||
} |
@ -0,0 +1,56 @@ |
|||
package com.elink.esua.epdc.modules.points.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; |
|||
import com.elink.esua.epdc.commons.tools.page.PageData; |
|||
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; |
|||
import com.elink.esua.epdc.commons.tools.security.user.UserDetail; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.datasources.DataSourceNames; |
|||
import com.elink.esua.epdc.datasources.annotation.DataSource; |
|||
import com.elink.esua.epdc.dto.points.result.PointDeptStatisticsResultDTO; |
|||
import com.elink.esua.epdc.dto.points.result.PointsStatisticsListResultDTO; |
|||
import com.elink.esua.epdc.modules.points.dao.PointsLogsAnalysisDao; |
|||
import com.elink.esua.epdc.modules.points.service.PointsLogsAnalysisService; |
|||
import org.slf4j.Logger; |
|||
import org.slf4j.LoggerFactory; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author syp |
|||
* @Date 2020/2/10 13:43 |
|||
*/ |
|||
@Service |
|||
public class PointsLogsAnalysisServiceImpl extends BaseServiceImpl<PointsLogsAnalysisDao, PointsStatisticsListResultDTO> implements PointsLogsAnalysisService { |
|||
private Logger logger = LoggerFactory.getLogger(getClass()); |
|||
|
|||
|
|||
|
|||
|
|||
@Override |
|||
@DataSource(name = DataSourceNames.TWELVE) |
|||
public PageData<PointsStatisticsListResultDTO> pointsTypePage(Map<String, Object> params) { |
|||
IPage<PointsStatisticsListResultDTO> page = getPage(params); |
|||
List<PointsStatisticsListResultDTO> list = baseDao.selectPointsTypePage(params); |
|||
return new PageData(list, page.getTotal()); |
|||
} |
|||
|
|||
@Override |
|||
@DataSource(name = DataSourceNames.TWELVE) |
|||
public PageData<PointDeptStatisticsResultDTO> pointsDeptPage(Map<String, Object> params) { |
|||
//获取数据权限
|
|||
UserDetail userDetail = SecurityUser.getUser(); |
|||
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) { |
|||
new Result<>().error("暂无权限,请联系管理员"); |
|||
} |
|||
params.put("deptIdList",userDetail.getDeptIdList()); |
|||
IPage<PointDeptStatisticsResultDTO> page = getPage(params); |
|||
List<PointDeptStatisticsResultDTO> list = baseDao.selectPointsDeptPage(params); |
|||
return new PageData(list, page.getTotal()); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,70 @@ |
|||
<?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="com.elink.esua.epdc.modules.points.dao.PointsLogsAnalysisDao"> |
|||
|
|||
<select id="selectPointsTypePage" resultType="com.elink.esua.epdc.dto.points.result.PointsStatisticsListResultDTO"> |
|||
SELECT |
|||
SUM(lg.POINTS) allPoints, |
|||
lg.BEHAVIOR_POINTS_TYPE as pointsType, |
|||
SUM( |
|||
IF( lg.BEHAVIOR_POINTS_TYPE = '0', lg.POINTS, 0 ) |
|||
) residuePoints, |
|||
lg.BEHAVIOR_DESC as operationDesc |
|||
FROM |
|||
epdc_points_type_statistics lg |
|||
WHERE 1=1 |
|||
<if test="behaviorCode!= null and behaviorCode !=''"> |
|||
and lg.BEHAVIOR_CODE = #{behaviorCode} |
|||
</if> |
|||
<if test="startTime!= null and startTime !=''"> |
|||
and lg.STATISTICS_TIME between #{startTime} AND #{endTime} |
|||
</if> |
|||
GROUP BY |
|||
lg.BEHAVIOR_POINTS_TYPE,lg.BEHAVIOR_CODE |
|||
ORDER BY allPoints DESC |
|||
</select> |
|||
<select id="selectPointsDeptPage" |
|||
resultType="com.elink.esua.epdc.dto.points.result.PointDeptStatisticsResultDTO"> |
|||
select ifnull(sum(POINTS),0) as pointsTotle, |
|||
ifnull(sum(POINTS_LEAVE),0) as points, |
|||
<choose> |
|||
<when test='type != "" and type != null and type=="1"'> |
|||
concat(district.NAME, '-', street.NAME, '-', community.NAME, '-', grid.NAME) as ALL_DEPT_NAMES |
|||
</when> |
|||
<otherwise> |
|||
concat(district.NAME, '-', street.NAME, '-', community.NAME) as ALL_DEPT_NAMES |
|||
</otherwise> |
|||
</choose> |
|||
from meta_sys_dept grid |
|||
left join meta_sys_dept community |
|||
on community.ID = grid.PID and community.DEL_FLAG = '0' |
|||
left join meta_sys_dept street |
|||
on street.ID = community.PID and street.DEL_FLAG = '0' |
|||
left join meta_sys_dept district |
|||
on district.ID = street.PID and district.DEL_FLAG = '0' |
|||
left join epdc_points_grid_statistics pl on grid.ID = pl.GRID_ID |
|||
where pl.GRID_ID is not null and pl.GRID_ID != '' |
|||
<if test="startTime != null and startTime != ''"> |
|||
and DATE_FORMAT( pl.STATISTICS_TIME, '%Y-%m-%d' ) >=#{startTime} |
|||
</if> |
|||
<if test="endTime != null and endTime != ''"> |
|||
and DATE_FORMAT( pl.STATISTICS_TIME, '%Y-%m-%d' ) <=#{endTime} |
|||
</if> |
|||
<if test="deptIdList!=null and deptIdList.size()>0"> |
|||
and pl.GRID_ID IN |
|||
<foreach item="deptIdItem" collection="deptIdList" open="(" separator="," close=")"> |
|||
#{deptIdItem} |
|||
</foreach> |
|||
</if> |
|||
<choose> |
|||
<when test='type != "" and type != null and type=="1"'> |
|||
group by grid.ID |
|||
</when> |
|||
<otherwise> |
|||
group by community.ID |
|||
</otherwise> |
|||
</choose> |
|||
ORDER BY points DESC |
|||
</select> |
|||
</mapper> |
Loading…
Reference in new issue