package com.panzhihua.service_community.service.impl;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenStatisticAgeGenderDTO;
|
import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenStatisticPartyActivityDTO;
|
import com.panzhihua.common.model.dtos.community.bigscreen.PageBigScreenStatisticPartyOrg;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.bigscreen.*;
|
import com.panzhihua.service_community.dao.BigScreenDAO;
|
import com.panzhihua.service_community.service.BigScreenService;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
/**
|
* @ClasssName BigScreenService
|
* @Description TODO
|
* @Author cedoo
|
* @Date 2021/6/16
|
* @Version 1.0
|
**/
|
@Slf4j
|
@Service
|
public class BigScreenServiceImpl implements BigScreenService {
|
@Resource
|
private BigScreenDAO bigScreenDAO;
|
|
@Override
|
public R partyOrgMembers(PageBigScreenStatisticPartyOrg pageBigScreenStatisticPartyOrg) {
|
Page page = new Page<>();
|
page.setSize(pageBigScreenStatisticPartyOrg.getPageSize());
|
page.setCurrent(pageBigScreenStatisticPartyOrg.getPageNum());
|
IPage<BigScreenStatisticPartyOrg> rPage = bigScreenDAO.partyOrgMembers(page, pageBigScreenStatisticPartyOrg);
|
return R.ok(rPage);
|
}
|
|
@Override
|
public R<BigScreenStatisticAgeGender> ageGender(BigScreenStatisticAgeGenderDTO bigScreenStatisticAgeGenderDTO) {
|
BigScreenStatisticAgeGender gender = bigScreenDAO.gender(bigScreenStatisticAgeGenderDTO);
|
BigScreenStatisticAgeGender age = bigScreenDAO.age(bigScreenStatisticAgeGenderDTO);
|
|
BigScreenStatisticAgeGender ageGender = new BigScreenStatisticAgeGender();
|
BeanUtils.copyProperties(age, ageGender);
|
ageGender.setManTotal(gender.getManTotal());
|
ageGender.setWomeTotal(gender.getWomeTotal());
|
|
/**
|
* 计算百分比
|
*/
|
Double manPer = 1.0 * ageGender.getManTotal() / (ageGender.getManTotal() + ageGender.getWomeTotal());
|
Double womenPer = 1.0 * ageGender.getWomeTotal() / (ageGender.getManTotal() + ageGender.getWomeTotal());
|
ageGender.setManPer(manPer);
|
ageGender.setWomenPer(womenPer);
|
|
Integer memTotal = ageGender.getThirtyTotal() + ageGender.getSixtyTotal() + ageGender.getBiggerTotal();
|
Double thrPer = 1.0 * ageGender.getThirtyTotal() / memTotal;
|
Double sixPer = 1.0 * ageGender.getSixtyTotal() / memTotal;
|
Double biggerPer = 1.0 * ageGender.getBiggerTotal() / memTotal;
|
ageGender.setThirtyPer(thrPer);
|
ageGender.setSixtyPer(sixPer);
|
ageGender.setBiggerPer(biggerPer);
|
return R.ok(ageGender);
|
}
|
|
@Override
|
public R<BigScreenStatisticPartyBuild> bigscreenPartybuild(Long communityId) {
|
return R.ok(bigScreenDAO.partybuild(communityId));
|
}
|
|
@Override
|
public R<List<PartyBuildingMemberVO>> bigscreenPartyactivitytopuser(Long communityId) {
|
List<PartyBuildingMemberVO> listRt = bigScreenDAO.bigscreenPartyactivitytopuser(communityId);
|
if (listRt == null || listRt.size() < 3) {
|
// 选择默认的党员列表
|
List<PartyBuildingMemberVO> defaultPartyactivity = bigScreenDAO.defaultPartyactivity(communityId);
|
listRt.addAll(defaultPartyactivity);
|
if (listRt.size() >= 3) {
|
listRt = listRt.subList(0, 3);
|
}
|
}
|
return R.ok(listRt);
|
}
|
|
@Override
|
public R<List<BigScreenStatisticPartyActivity>>
|
bigscreenPartyactivity(BigScreenStatisticPartyActivityDTO bigScreenStatisticPartyActivityDTO) {
|
List<BigScreenStatisticPartyActivity> listR = new ArrayList<>();
|
if (bigScreenStatisticPartyActivityDTO.getType().equals(3)) {
|
listR = bigScreenDAO.partyactivity(bigScreenStatisticPartyActivityDTO);
|
} else if (bigScreenStatisticPartyActivityDTO.getType().equals(2)) {
|
listR = bigScreenDAO.partyactivityByWeek(bigScreenStatisticPartyActivityDTO);
|
}
|
return R.ok(listR);
|
}
|
|
}
|