add 会员统计 折线图
This commit is contained in:
+5
@@ -1,11 +1,14 @@
|
||||
package com.jero.member.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.statistics.entity.MemberLineChartMap;
|
||||
import com.jero.statistics.entity.MemberLineChartVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
@@ -38,4 +41,6 @@ public interface TbMemberProjectSubitemMapper extends BaseMapper<TbMemberProject
|
||||
|
||||
@Select("SELECT IFNULL(MAX(SUBSTRING(member_no,13)),'0') + 1 FROM tb_member_project_subitem WHERE member_no LIKE concat(#{date},'%')")
|
||||
Integer getMaxMemberNo(@Param("date") String date);
|
||||
|
||||
List<MemberLineChartMap> getByYear(@Param("startYear") Integer startYear, @Param("endYear") Integer endYear);
|
||||
}
|
||||
|
||||
+8
@@ -103,4 +103,12 @@
|
||||
and tmps.effective_date is not null
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getByYear" resultType="com.jero.statistics.entity.MemberLineChartMap">
|
||||
select year(ppr.payment_date) as year, sum(ppr.amount_received) as value
|
||||
from tb_member_project_subitem tmps
|
||||
LEFT JOIN pay_payment_record ppr on ppr.project_id = tmps.id
|
||||
where year(ppr.payment_date) between #{startYear} and #{endYear}
|
||||
group by year(ppr.payment_date)
|
||||
</select>
|
||||
</mapper>
|
||||
+1
-1
@@ -93,5 +93,5 @@ public interface ITbMemberProjectSubitemService extends IService<TbMemberProject
|
||||
|
||||
void copyBatch(CopyMemberVO copyMemberVO);
|
||||
|
||||
MemberLineChartVO lineChart(String startYear, String endYear);
|
||||
MemberLineChartVO lineChart(Integer startYear, Integer endYear);
|
||||
}
|
||||
|
||||
+15
-2
@@ -33,6 +33,7 @@ import com.jero.payment.entity.PayPaymentRecord;
|
||||
import com.jero.payment.service.IPayPaymentRecordService;
|
||||
import com.jero.payment.service.impl.PayConfirmPaymentRecordService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.statistics.entity.MemberLineChartMap;
|
||||
import com.jero.statistics.entity.MemberLineChartVO;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
@@ -41,6 +42,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -353,8 +355,19 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
|
||||
}
|
||||
|
||||
@Override
|
||||
public MemberLineChartVO lineChart(String startYear, String endYear) {
|
||||
return null;
|
||||
public MemberLineChartVO lineChart(Integer startYear, Integer endYear) {
|
||||
MemberLineChartVO memberLineChartVO = new MemberLineChartVO();
|
||||
List<MemberLineChartMap> byYear = tbMemberProjectSubitemMapper.getByYear(startYear, endYear);
|
||||
Map<Integer, String> map = byYear.stream().collect(Collectors.toMap(MemberLineChartMap::getYear, MemberLineChartMap::getValue));
|
||||
List<String> value = new ArrayList<>();
|
||||
List<Integer> year = new ArrayList<>();
|
||||
for (int i = startYear; i <= endYear; i++) {
|
||||
year.add(i);
|
||||
value.add(map.getOrDefault(i,"0"));
|
||||
}
|
||||
memberLineChartVO.setValue(value);
|
||||
memberLineChartVO.setYear(year);
|
||||
return memberLineChartVO;
|
||||
}
|
||||
|
||||
private TbMemberProjectSubitem setCopyValue(TbMemberProjectSubitem memberProjectSubitem) {
|
||||
|
||||
+2
-2
@@ -37,8 +37,8 @@ public class MemberStatisticsController {
|
||||
|
||||
@ApiOperation(value = "折线图")
|
||||
@GetMapping(value = "/lineChart")
|
||||
public Result<MemberLineChartVO> lineChart(@RequestParam(name="startYear")String startYear,
|
||||
@RequestParam(name="endYear")String endYear) {
|
||||
public Result<MemberLineChartVO> lineChart(@RequestParam(name="startYear")Integer startYear,
|
||||
@RequestParam(name="endYear")Integer endYear) {
|
||||
MemberLineChartVO lineChartVO = memberProjectSubitemService.lineChart(startYear,endYear);
|
||||
return Result.OK(lineChartVO);
|
||||
}
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.jero.statistics.entity;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2022-09-01 16:48
|
||||
*/
|
||||
@Data
|
||||
public class MemberLineChartMap {
|
||||
@ApiModelProperty(value = "会费")
|
||||
private String value;
|
||||
|
||||
@ApiModelProperty(value = "年份")
|
||||
private Integer year;
|
||||
|
||||
}
|
||||
+2
-2
@@ -11,10 +11,10 @@ import java.util.List;
|
||||
*/
|
||||
@Data
|
||||
public class MemberLineChartVO {
|
||||
@ApiModelProperty(value = "数量")
|
||||
@ApiModelProperty(value = "会费")
|
||||
private List<String> value;
|
||||
|
||||
@ApiModelProperty(value = "年份")
|
||||
private List<String> year;
|
||||
private List<Integer> year;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user