101captain
2022-01-14 6fc1e7f179acaeec4df755f72895b3b4fb50d4bb
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenServiceImpl.java
@@ -1,10 +1,15 @@
package com.panzhihua.service_community.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.SensitiveUtil;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.ComPbMemberDAO;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -32,6 +37,8 @@
public class BigScreenServiceImpl implements BigScreenService {
    @Resource
    private BigScreenDAO bigScreenDAO;
    @Resource
    private ComPbMemberDAO comPbMemberDAO;
    @Override
    public R partyOrgMembers(PageBigScreenStatisticPartyOrg pageBigScreenStatisticPartyOrg) {
@@ -48,25 +55,28 @@
        BigScreenStatisticAgeGender age = bigScreenDAO.age(bigScreenStatisticAgeGenderDTO);
        BigScreenStatisticAgeGender ageGender = new BigScreenStatisticAgeGender();
        BeanUtils.copyProperties(age, ageGender);
        ageGender.setManTotal(gender.getManTotal());
        ageGender.setWomeTotal(gender.getWomeTotal());
        if(age!=null){
            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);
            /**
             * 计算百分比
             */
            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);
            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);
    }
@@ -86,6 +96,11 @@
                listRt = listRt.subList(0, 3);
            }
        }
        listRt.forEach(partyBuildingMemberVO -> {
            if(StringUtils.isNotEmpty(partyBuildingMemberVO.getName())){
                partyBuildingMemberVO.setName(SensitiveUtil.replaceName(partyBuildingMemberVO.getName()));
            }
        });
        return R.ok(listRt);
    }
@@ -101,4 +116,61 @@
        return R.ok(listR);
    }
    @Override
    public R partyActivityLine(Long communityId) {
        List<BigScreenActivityLine> bigScreenActivityLines=this.getPastMonth();
        bigScreenActivityLines.forEach(bigScreenActivityLine -> {
           BigScreenActivityLine bigScreenActivityLine1=comPbMemberDAO.selectActivityCountMonth(communityId,bigScreenActivityLine.getX(),bigScreenActivityLine.getYear());
           bigScreenActivityLine.setY(bigScreenActivityLine1.getY());
           bigScreenActivityLine.setCountY(bigScreenActivityLine1.getCountY());
           bigScreenActivityLine.setX(bigScreenActivityLine.getYear().substring(2,4)+"-"+bigScreenActivityLine.getX());
        });
        return R.ok(bigScreenActivityLines);
    }
    @Override
    public R partyActivityTop(PageBigScreenStatisticPartyOrg pageBigScreenStatisticPartyOrg) {
        return R.ok(this.comPbMemberDAO.selectActivityTop(new Page(pageBigScreenStatisticPartyOrg.getPageNum(),pageBigScreenStatisticPartyOrg.getPageSize()),pageBigScreenStatisticPartyOrg.getCommunityId()));
    }
    @Override
    public R serviceData(Long communityId) {
        return R.ok(this.comPbMemberDAO.bigScreenServiceData(communityId));
    }
    @Override
    public R serviceUser(Long communityId) {
        return R.ok(this.comPbMemberDAO.bigScreenServiceUser(communityId));
    }
    public List<BigScreenActivityLine> getPoints(){
        List<BigScreenActivityLine> bigScreenActivityLines=new ArrayList<>();
        for(int i=1;i<=12;i++){
            String aDate="";
            if(i<10){
                aDate = "0"+i;
            }
            else {
                aDate=i+"";
            }
            BigScreenActivityLine bigScreenActivityLine=new BigScreenActivityLine();
            bigScreenActivityLine.setX(aDate);
            bigScreenActivityLines.add(bigScreenActivityLine);
        }
        return bigScreenActivityLines;
    }
    public List<BigScreenActivityLine> getPastMonth(){
        List<BigScreenActivityLine> bigScreenActivityLines=new ArrayList<>();
        for(int i=11;i>=0;i--){
            BigScreenActivityLine bigScreenActivityLine=new BigScreenActivityLine();
            String date=DateUtils.getDateFormatString(DateUtils.addMonth(new Date(),-i),"MM");
            String year=DateUtils.getDateFormatString(DateUtils.addMonth(new Date(),-i),"yyyy");
            bigScreenActivityLine.setX(date);
            bigScreenActivityLine.setYear(year);
            bigScreenActivityLines.add(bigScreenActivityLine);
        }
        return bigScreenActivityLines;
    }
}