Compare commits
	
		
			5 Commits
		
	
	
		
			7e5c94c6e3
			...
			f2003060bc
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
								 | 
						f2003060bc | |
| 
							
							
								
								 | 
						2da43d2891 | |
| 
							
							
								
								 | 
						b4e065ff55 | |
| 
							
							
								
								 | 
						d0a0bbb335 | |
| 
							
							
								
								 | 
						471f248e19 | 
| 
						 | 
				
			
			@ -8,6 +8,7 @@ import com.hzs.common.domain.system.config.BdTradeWhiteConfig;
 | 
			
		|||
import com.hzs.member.base.dto.MemberCountDTO;
 | 
			
		||||
import com.hzs.member.base.param.*;
 | 
			
		||||
import com.hzs.member.base.vo.*;
 | 
			
		||||
import com.hzs.member.census.param.CensusSummaryParam;
 | 
			
		||||
import com.hzs.member.handlebusiness.vo.BusinessMemberVO;
 | 
			
		||||
import com.hzs.member.handlebusiness.vo.HandleBusinessVO;
 | 
			
		||||
import com.hzs.member.marketnews.param.MarketNewsParam;
 | 
			
		||||
| 
						 | 
				
			
			@ -628,4 +629,12 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
 | 
			
		|||
 | 
			
		||||
    String getSharePosterImage(@Param("userId") Long userId);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询业绩汇总
 | 
			
		||||
     *
 | 
			
		||||
     * @param censusSummaryParam
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<MemberMeritsSummaryVo> queryDateBySummary(CensusSummaryParam censusSummaryParam);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,6 +12,8 @@ import com.hzs.member.base.dto.ShowWaresDTO;
 | 
			
		|||
import com.hzs.member.base.dto.ZeroElementRevokeDTO;
 | 
			
		||||
import com.hzs.member.base.param.*;
 | 
			
		||||
import com.hzs.member.base.vo.*;
 | 
			
		||||
import com.hzs.member.census.param.CensusSummaryParam;
 | 
			
		||||
import com.hzs.member.census.vo.CensusSummaryVo;
 | 
			
		||||
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
 | 
			
		||||
import com.hzs.member.handlebusiness.vo.BusinessMemberVO;
 | 
			
		||||
import com.hzs.member.handlebusiness.vo.HandleBusinessVO;
 | 
			
		||||
| 
						 | 
				
			
			@ -900,4 +902,13 @@ public interface ICuMemberService extends IService<CuMember> {
 | 
			
		|||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    String getSharePosterImage();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询汇总
 | 
			
		||||
     *
 | 
			
		||||
     * @param censusSummaryParam 表格名称
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<CensusSummaryVo> selectCensusSummary(CensusSummaryParam censusSummaryParam, List<String> days);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,6 +42,8 @@ import com.hzs.member.base.mapper.CuMemberMapper;
 | 
			
		|||
import com.hzs.member.base.param.*;
 | 
			
		||||
import com.hzs.member.base.service.*;
 | 
			
		||||
import com.hzs.member.base.vo.*;
 | 
			
		||||
import com.hzs.member.census.param.CensusSummaryParam;
 | 
			
		||||
import com.hzs.member.census.vo.CensusSummaryVo;
 | 
			
		||||
import com.hzs.member.detail.service.ICuMemberServiceLogService;
 | 
			
		||||
import com.hzs.member.empty.service.ICuMemberEmptyCodeService;
 | 
			
		||||
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
 | 
			
		||||
| 
						 | 
				
			
			@ -3237,4 +3239,66 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
 | 
			
		|||
        return baseMapper.getSharePosterImage(SecurityUtils.getUserId());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<CensusSummaryVo> selectCensusSummary(CensusSummaryParam censusSummaryParam, List<String> days) {
 | 
			
		||||
        // 根据类型查询所有人各类型的订单业绩汇总
 | 
			
		||||
        List<CensusSummaryVo> censusSummaryList = new ArrayList<>();
 | 
			
		||||
        for (String day : days) {
 | 
			
		||||
            censusSummaryParam.setTime(day);
 | 
			
		||||
            List<MemberMeritsSummaryVo> memberMeritsSummaryVoList = baseMapper.queryDateBySummary(censusSummaryParam);
 | 
			
		||||
            Map<Integer, MemberMeritsSummaryVo> memberMeritsSummaryMap = memberMeritsSummaryVoList.stream().collect(Collectors.toMap(MemberMeritsSummaryVo::getOrderType, Function.identity()));
 | 
			
		||||
 | 
			
		||||
            CensusSummaryVo censusSummaryVo = new CensusSummaryVo();
 | 
			
		||||
            censusSummaryVo.setSettleDate(day);
 | 
			
		||||
 | 
			
		||||
            // 注册
 | 
			
		||||
            BigDecimal reAmount = BigDecimal.ZERO;
 | 
			
		||||
            BigDecimal reAchieve = BigDecimal.ZERO;
 | 
			
		||||
            if (memberMeritsSummaryMap.get(EOrderType.REGISTER_ORDER.getValue()) != null) {
 | 
			
		||||
                reAmount = memberMeritsSummaryMap.get(EOrderType.REGISTER_ORDER.getValue()).getAmount();
 | 
			
		||||
                reAchieve = memberMeritsSummaryMap.get(EOrderType.REGISTER_ORDER.getValue()).getAchieve();
 | 
			
		||||
            }
 | 
			
		||||
            censusSummaryVo.setRegisterAmount(reAmount);
 | 
			
		||||
            censusSummaryVo.setRegisterPv(reAchieve);
 | 
			
		||||
 | 
			
		||||
            // 升级
 | 
			
		||||
            BigDecimal upAmount = BigDecimal.ZERO;
 | 
			
		||||
            BigDecimal upAchieve = BigDecimal.ZERO;
 | 
			
		||||
            if (memberMeritsSummaryMap.get(EOrderType.UPGRADE_ORDER.getValue()) != null) {
 | 
			
		||||
                upAmount = memberMeritsSummaryMap.get(EOrderType.UPGRADE_ORDER.getValue()).getAmount();
 | 
			
		||||
                upAchieve = memberMeritsSummaryMap.get(EOrderType.UPGRADE_ORDER.getValue()).getAchieve();
 | 
			
		||||
            }
 | 
			
		||||
            censusSummaryVo.setUpgradeAmount(upAmount);
 | 
			
		||||
            censusSummaryVo.setUpgradePv(upAchieve);
 | 
			
		||||
 | 
			
		||||
            // 首购
 | 
			
		||||
            censusSummaryVo.setFirstPurchaseAmount(censusSummaryVo.getRegisterAmount().add(censusSummaryVo.getUpgradeAmount()));
 | 
			
		||||
            censusSummaryVo.setFirstPurchasePv(censusSummaryVo.getRegisterPv().add(censusSummaryVo.getUpgradePv()));
 | 
			
		||||
 | 
			
		||||
            // 复购订单
 | 
			
		||||
            BigDecimal repurchaseAmount = BigDecimal.ZERO;
 | 
			
		||||
            BigDecimal repurchaseAchieve = BigDecimal.ZERO;
 | 
			
		||||
            if (memberMeritsSummaryMap.get(EOrderType.REPURCHASE_ORDER.getValue()) != null) {
 | 
			
		||||
                repurchaseAmount = memberMeritsSummaryMap.get(EOrderType.REPURCHASE_ORDER.getValue()).getAmount();
 | 
			
		||||
                repurchaseAchieve = memberMeritsSummaryMap.get(EOrderType.REPURCHASE_ORDER.getValue()).getAchieve();
 | 
			
		||||
            }
 | 
			
		||||
            // 复消
 | 
			
		||||
            if (memberMeritsSummaryMap.get(EOrderType.CONSUME_ORDER.getValue()) != null) {
 | 
			
		||||
                repurchaseAmount = repurchaseAmount.add(memberMeritsSummaryMap.get(EOrderType.CONSUME_ORDER.getValue()).getAmount());
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // 复购
 | 
			
		||||
            censusSummaryVo.setRepurchaseAmount(repurchaseAmount);
 | 
			
		||||
            censusSummaryVo.setRepurchasePv(repurchaseAchieve);
 | 
			
		||||
 | 
			
		||||
            // 金额总计
 | 
			
		||||
            censusSummaryVo.setAmountTotal(censusSummaryVo.getFirstPurchaseAmount().add(censusSummaryVo.getRepurchaseAmount()));
 | 
			
		||||
            // 业绩汇总
 | 
			
		||||
            censusSummaryVo.setPvTotal(censusSummaryVo.getFirstPurchasePv().add(censusSummaryVo.getRepurchasePv()));
 | 
			
		||||
            censusSummaryList.add(censusSummaryVo);
 | 
			
		||||
        }
 | 
			
		||||
        return censusSummaryList;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,119 @@
 | 
			
		|||
package com.hzs.member.census.controller.manage;
 | 
			
		||||
 | 
			
		||||
import com.hzs.common.core.annotation.AccessPermissions;
 | 
			
		||||
import com.hzs.common.core.utils.DateUtils;
 | 
			
		||||
import com.hzs.common.core.utils.StringUtils;
 | 
			
		||||
import com.hzs.common.core.utils.poi.ExcelUtil;
 | 
			
		||||
import com.hzs.common.core.web.controller.BaseController;
 | 
			
		||||
import com.hzs.common.core.web.domain.AjaxResult;
 | 
			
		||||
import com.hzs.common.security.utils.SecurityUtils;
 | 
			
		||||
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
 | 
			
		||||
import com.hzs.member.base.service.ICuMemberService;
 | 
			
		||||
import com.hzs.member.census.param.CensusSummaryParam;
 | 
			
		||||
import com.hzs.member.census.vo.CensusSummaryVo;
 | 
			
		||||
import com.hzs.system.sys.IMenuColumnServiceApi;
 | 
			
		||||
import org.apache.dubbo.config.annotation.DubboReference;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.web.bind.annotation.GetMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.PostMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RestController;
 | 
			
		||||
 | 
			
		||||
import javax.servlet.http.HttpServletResponse;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.stream.Collectors;
 | 
			
		||||
 | 
			
		||||
@RestController
 | 
			
		||||
@RequestMapping("/manage/member-structure")
 | 
			
		||||
public class CensusSummaryController extends BaseController {
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private ICuMemberService iCuMemberService;
 | 
			
		||||
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IMenuColumnServiceApi iMenuColumnServiceApi;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 业绩汇总
 | 
			
		||||
     *
 | 
			
		||||
     * @param censusSummaryParam
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @AccessPermissions("performanceTotal")
 | 
			
		||||
    @GetMapping("/list")
 | 
			
		||||
    public AjaxResult list(CensusSummaryParam censusSummaryParam) {
 | 
			
		||||
        if (null == censusSummaryParam.getStartDate()
 | 
			
		||||
                || null == censusSummaryParam.getEndDate()) {
 | 
			
		||||
            return AjaxResult.success(new ArrayList<>());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<Long> pkVertex = new ArrayList<>();
 | 
			
		||||
        if (StringUtils.isNotEmpty(censusSummaryParam.getPkBdVertexStr())) {
 | 
			
		||||
            pkVertex = Arrays.stream(censusSummaryParam.getPkBdVertexStr().split(","))
 | 
			
		||||
                    .map(Long::parseLong)
 | 
			
		||||
                    .collect(Collectors.toList());
 | 
			
		||||
        }
 | 
			
		||||
        censusSummaryParam.setPkVertex(pkVertex);
 | 
			
		||||
 | 
			
		||||
        // 当天查询秒结
 | 
			
		||||
        Date date = new Date();
 | 
			
		||||
        // 查询当天
 | 
			
		||||
        String thisTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
 | 
			
		||||
        // 查询当前时间范围
 | 
			
		||||
        List<String> days = new ArrayList<>();
 | 
			
		||||
        if (censusSummaryParam.getStartDate() != null && censusSummaryParam.getEndDate() != null) {
 | 
			
		||||
            days = DateUtils.findDaysStr(DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD, censusSummaryParam.getStartDate()), DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD, censusSummaryParam.getEndDate()));
 | 
			
		||||
        } else {
 | 
			
		||||
            // 默认查询当天
 | 
			
		||||
            days.add(thisTime);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        censusSummaryParam.setPkCountry(SecurityUtils.getPkCountry());
 | 
			
		||||
        List<CensusSummaryVo> resultList = iCuMemberService.selectCensusSummary(censusSummaryParam, days);
 | 
			
		||||
 | 
			
		||||
        return AjaxResult.success(resultList);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 导出(导出)
 | 
			
		||||
     */
 | 
			
		||||
    @PostMapping("/export")
 | 
			
		||||
    public void export(CensusSummaryParam censusSummaryParam, HttpServletResponse response) {
 | 
			
		||||
        if (null == censusSummaryParam.getStartDate()
 | 
			
		||||
                || null == censusSummaryParam.getEndDate()) {
 | 
			
		||||
            ExcelUtil<CensusSummaryVo> util = new ExcelUtil<>(CensusSummaryVo.class);
 | 
			
		||||
            util.exportExcel(response, new ArrayList<>(), "业绩汇总信息");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 当天查询秒结
 | 
			
		||||
        Date date = new Date();
 | 
			
		||||
        // 查询当天
 | 
			
		||||
        String thisTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
 | 
			
		||||
        if (censusSummaryParam.getMemberSettlePeriodId() != null) {
 | 
			
		||||
            iCuMemberSettlePeriodService.getById(censusSummaryParam.getMemberSettlePeriodId());
 | 
			
		||||
        } else {
 | 
			
		||||
            iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(thisTime);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 查询当前时间范围
 | 
			
		||||
        List<String> days = new ArrayList<>();
 | 
			
		||||
        if (censusSummaryParam.getStartDate() != null && censusSummaryParam.getEndDate() != null) {
 | 
			
		||||
            days = DateUtils.findDaysStr(DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD, censusSummaryParam.getStartDate()), DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD, censusSummaryParam.getEndDate()));
 | 
			
		||||
        } else {
 | 
			
		||||
            // 默认查询当天
 | 
			
		||||
            days.add(thisTime);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        censusSummaryParam.setPkCountry(SecurityUtils.getPkCountry());
 | 
			
		||||
        List<CensusSummaryVo> resultList = iCuMemberService.selectCensusSummary(censusSummaryParam, days);
 | 
			
		||||
 | 
			
		||||
        ExcelUtil<CensusSummaryVo> util = new ExcelUtil<>(CensusSummaryVo.class, iMenuColumnServiceApi.queryMenuColumn("performanceTotal", SecurityUtils.getUserId()).getData());
 | 
			
		||||
        util.exportExcel(response, resultList, "业绩汇总信息");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
package com.hzs.member.census.param;
 | 
			
		||||
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
public class CensusSummaryParam {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 结算期数
 | 
			
		||||
     */
 | 
			
		||||
    private Long memberSettlePeriodId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 币种展示
 | 
			
		||||
     */
 | 
			
		||||
    private Long pkCurrency;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 所属国家
 | 
			
		||||
     */
 | 
			
		||||
    private Integer pkCountry;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 开始时间
 | 
			
		||||
     */
 | 
			
		||||
    private Date startDate;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 结束时间
 | 
			
		||||
     */
 | 
			
		||||
    private Date endDate;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询时间
 | 
			
		||||
     */
 | 
			
		||||
    private String time;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 体系
 | 
			
		||||
     */
 | 
			
		||||
    private List<Long> pkVertex;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 团队
 | 
			
		||||
     */
 | 
			
		||||
    private List<Long> pkMemberTeam;
 | 
			
		||||
    /**
 | 
			
		||||
     * 体系
 | 
			
		||||
     */
 | 
			
		||||
    private String pkBdVertexStr;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,82 @@
 | 
			
		|||
package com.hzs.member.census.vo;
 | 
			
		||||
 | 
			
		||||
import com.hzs.common.core.annotation.Excel;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
public class CensusSummaryVo {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 结算期数
 | 
			
		||||
     */
 | 
			
		||||
    private Integer numberPeriods;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 结算时间
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "结算时间")
 | 
			
		||||
    private String settleDate;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 注册金额
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "注册金额")
 | 
			
		||||
    private BigDecimal registerAmount;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 注册业绩
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "注册业绩")
 | 
			
		||||
    private BigDecimal registerPv;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 升级金额
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "升级金额")
 | 
			
		||||
    private BigDecimal upgradeAmount;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 升级业绩
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "升级业绩")
 | 
			
		||||
    private BigDecimal upgradePv;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 首购金额
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "首购金额")
 | 
			
		||||
    private BigDecimal firstPurchaseAmount;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 首购业绩
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "首购业绩")
 | 
			
		||||
    private BigDecimal firstPurchasePv;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购金额
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "复购金额")
 | 
			
		||||
    private BigDecimal repurchaseAmount;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购pv
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "复购业绩")
 | 
			
		||||
    private BigDecimal repurchasePv;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 金额总计
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "金额总计")
 | 
			
		||||
    private BigDecimal amountTotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 业绩汇总
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "业绩汇总")
 | 
			
		||||
    private BigDecimal pvTotal;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -101,20 +101,9 @@ public class CuBonusVertexStatisTotalController extends BaseController {
 | 
			
		|||
        startPage();
 | 
			
		||||
        //查询顶点奖金拨比汇总
 | 
			
		||||
        slList = iCuBonusVertexStatisService.queryCuBonusStatisTotal(cuBonusVertexStatisTotalVO);
 | 
			
		||||
        //查询顶点奖金拨比汇总总和(最后一行)
 | 
			
		||||
        CuBonusVertexStatisTotalVO cuBonusVertexStatisSum = iCuBonusVertexStatisService.queryCuBonusStatisSum(cuBonusVertexStatisTotalVO);
 | 
			
		||||
        cuBonusVertexStatisSum.setMainBonus((cuBonusVertexStatisSum.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
 | 
			
		||||
        cuBonusVertexStatisSum.setRepurBonus(cuBonusVertexStatisSum.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
 | 
			
		||||
        if (CollectionUtil.isNotEmpty(slList)) {
 | 
			
		||||
            slList.forEach(itm -> {
 | 
			
		||||
 | 
			
		||||
//                if (itm.getPkVertex().equals(itmm.getPkVertex())) {
 | 
			
		||||
//                    itm.setFirstPurchaseAll(itm.getFirstPurchaseAll().subtract(itmm.getOrderAmount()).add(itmm.getEnergySum()));
 | 
			
		||||
//                    itm.setOrgTopNumber(itmm.getOrgTopNumber());
 | 
			
		||||
//                    itm.setOrgAvTouch(itmm.getOrgAvTouch());
 | 
			
		||||
//                    itm.setOrgMaxTouch(itmm.getOrgMaxTouch());
 | 
			
		||||
//                }
 | 
			
		||||
 | 
			
		||||
                //重新算首购拨比
 | 
			
		||||
                if (itm.getFirstPurchaseAll().compareTo(BigDecimal.ZERO) > 0) {
 | 
			
		||||
                    BigDecimal mainBonusRate = cent.multiply((itm.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
 | 
			
		||||
| 
						 | 
				
			
			@ -136,7 +125,14 @@ public class CuBonusVertexStatisTotalController extends BaseController {
 | 
			
		|||
                itm.setFirstPurchaseRatio(cent.multiply(itm.getFirstPurchaseAll()).divide(cuBonusVertexStatisTotalVO.getFirstPurchaseAllSum(), 4, RoundingMode.HALF_UP));
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        //查询顶点奖金拨比汇总总和(最后一行)
 | 
			
		||||
        CuBonusVertexStatisTotalVO cuBonusVertexStatisSum = iCuBonusVertexStatisService.queryCuBonusStatisSum(cuBonusVertexStatisTotalVO);
 | 
			
		||||
        if (null != cuBonusVertexStatisSum) {
 | 
			
		||||
            cuBonusVertexStatisSum.setMainBonus((cuBonusVertexStatisSum.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
 | 
			
		||||
            cuBonusVertexStatisSum.setRepurBonus(cuBonusVertexStatisSum.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
 | 
			
		||||
            cuBonusVertexStatisSum.setMemberName("汇总");
 | 
			
		||||
        }
 | 
			
		||||
        slList.add(cuBonusVertexStatisSum);
 | 
			
		||||
        return getDataTable(slList);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -199,14 +195,6 @@ public class CuBonusVertexStatisTotalController extends BaseController {
 | 
			
		|||
        cuBonusVertexStatisSum.setRepurBonus(cuBonusVertexStatisSum.getRepurBonus().multiply(currency.getData().getInExchangeRate()));
 | 
			
		||||
        if (CollectionUtil.isNotEmpty(slList)) {
 | 
			
		||||
            slList.forEach(itm -> {
 | 
			
		||||
 | 
			
		||||
//                if (itm.getPkVertex().equals(itmm.getPkVertex())) {
 | 
			
		||||
//                    itm.setFirstPurchaseAll(itm.getFirstPurchaseAll().subtract(itmm.getOrderAmount()).add(itmm.getEnergySum()));
 | 
			
		||||
//                    itm.setOrgTopNumber(itmm.getOrgTopNumber());
 | 
			
		||||
//                    itm.setOrgAvTouch(itmm.getOrgAvTouch());
 | 
			
		||||
//                    itm.setOrgMaxTouch(itmm.getOrgMaxTouch());
 | 
			
		||||
//                }
 | 
			
		||||
 | 
			
		||||
                //重新算首购拨比
 | 
			
		||||
                if (itm.getFirstPurchaseAll().compareTo(BigDecimal.ZERO) > 0) {
 | 
			
		||||
                    BigDecimal mainBonusRate = cent.multiply((itm.getMainBonus()).multiply(currency.getData().getInExchangeRate()));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2477,6 +2477,7 @@
 | 
			
		|||
                and t0.category = 0)
 | 
			
		||||
        where rownum = 1
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="getSharePosterImage" resultType="java.lang.String" parameterType="java.lang.Long">
 | 
			
		||||
        select
 | 
			
		||||
            bv.SHARE_POSTER_IMAGE AS sharePosterImage
 | 
			
		||||
| 
						 | 
				
			
			@ -2486,4 +2487,27 @@
 | 
			
		|||
        where cm.PK_ID = ${userId}
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="queryDateBySummary" resultType="com.hzs.member.base.vo.MemberMeritsSummaryVo">
 | 
			
		||||
        select sa.order_type orderType,
 | 
			
		||||
        sum(sa.order_amount - nvl(sa.consume_amount, 0)) amount,
 | 
			
		||||
        sum(sa.order_achieve) achieve
 | 
			
		||||
        from sa_order sa
 | 
			
		||||
        inner join cu_member cm
 | 
			
		||||
        on sa.pk_member = cm.pk_id
 | 
			
		||||
        and cm.del_flag = 0
 | 
			
		||||
        and cm.category = 0
 | 
			
		||||
        where sa.order_status = 1
 | 
			
		||||
        and sa.del_flag = 0
 | 
			
		||||
        and to_char(sa.pay_time, 'yyyy-mm-dd') = #{time}
 | 
			
		||||
        and sa.pk_country = #{pkCountry}
 | 
			
		||||
        <if test="pkVertex != null and pkVertex.size > 0 ">
 | 
			
		||||
            and cm.pk_vertex in
 | 
			
		||||
            <foreach collection="pkVertex" item="item" open="(" close=")" separator=",">
 | 
			
		||||
                #{item}
 | 
			
		||||
            </foreach>
 | 
			
		||||
        </if>
 | 
			
		||||
        group by sa.order_type
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -525,7 +525,6 @@
 | 
			
		|||
        sum (cbs.ORG_BONUS) orgBonusSum,
 | 
			
		||||
        sum (cbs.LEADER_BONUS) leaderBonusSum,
 | 
			
		||||
        #{orderAchieve} shareBonusSum,
 | 
			
		||||
        #{energyAmountAll} energyAmountAllSum,
 | 
			
		||||
        sum (cbs.SERVICE_BONUS) serviceBonusSum,
 | 
			
		||||
        sum (cbs.HI_FUN_INCOME) hiFunIncomeSum,
 | 
			
		||||
        sum (cbs.REPUR_RANGE_BONUS) repurRangeBonusSum,
 | 
			
		||||
| 
						 | 
				
			
			@ -558,7 +557,7 @@
 | 
			
		|||
        ROUND(sum(#{perCent}*AGENT_REPUR_AMOUNT)/(sum(cbs.AGENT_REG_AMOUNT +
 | 
			
		||||
        cbs.AGENT_UP_AMOUNT+cbs.AGENT_REPUR_AMOUNT)),4) end as agentRepurAmountRateSum,
 | 
			
		||||
        ((sum(cbs.MAIN_REG_AMOUNT +
 | 
			
		||||
        cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT))-#{energySub}+#{energySum}) AS
 | 
			
		||||
        cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT))) AS
 | 
			
		||||
        firstPurchaseAllSum,
 | 
			
		||||
        ( sum(cbs.MAIN_REPUR_AMOUNT +
 | 
			
		||||
        cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
 | 
			
		||||
| 
						 | 
				
			
			@ -574,7 +573,7 @@
 | 
			
		|||
        = 0
 | 
			
		||||
        THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
 | 
			
		||||
        +cbs.MAKER_DIRECT+cbs.MAKER_SHARE)))
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)-#{energySub}+#{energySum}),4)
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
 | 
			
		||||
        end AS mainBonusRateSum,
 | 
			
		||||
 | 
			
		||||
        CASE WHEN
 | 
			
		||||
| 
						 | 
				
			
			@ -624,7 +623,7 @@
 | 
			
		|||
        (sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT+
 | 
			
		||||
        cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
 | 
			
		||||
        +cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
 | 
			
		||||
        +cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)-#{energySub}+#{energySum}),4) end AS totalBonusRateSum
 | 
			
		||||
        +cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)),4) end AS totalBonusRateSum
 | 
			
		||||
        FROM
 | 
			
		||||
        CU_BONUS_STATIS cbs
 | 
			
		||||
        left join bd_vertex ver on cbs.pk_bd_vertex = ver.pk_id
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -418,7 +418,6 @@
 | 
			
		|||
        sum (cbs.INTRODUCE_BONUS) introduceBonus,
 | 
			
		||||
        sum (cbs.ORG_BONUS) orgBonus,
 | 
			
		||||
        sum (cbs.LEADER_BONUS) leaderBonus,
 | 
			
		||||
        #{energyAmountAll} energyAmountAll,
 | 
			
		||||
        sum (cbs.SERVICE_BONUS) serviceBonus,
 | 
			
		||||
        CASE WHEN
 | 
			
		||||
        sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)
 | 
			
		||||
| 
						 | 
				
			
			@ -538,24 +537,23 @@
 | 
			
		|||
        sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)
 | 
			
		||||
        = 0
 | 
			
		||||
        THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS)))
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)-#{energySub}),4)
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
 | 
			
		||||
        end AS introduceBonusRate,
 | 
			
		||||
        sum (cbs.ORG_BONUS) orgBonus,
 | 
			
		||||
        CASE WHEN
 | 
			
		||||
        sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)
 | 
			
		||||
        = 0
 | 
			
		||||
        THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.ORG_BONUS)))
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)-#{energySub}),4)
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
 | 
			
		||||
        end AS orgBonusRate,
 | 
			
		||||
 | 
			
		||||
        sum (cbs.LEADER_BONUS) leaderBonus,
 | 
			
		||||
        #{energyAmountAll} energyAmountAll,
 | 
			
		||||
        sum (cbs.SERVICE_BONUS) serviceBonus,
 | 
			
		||||
        CASE WHEN
 | 
			
		||||
        sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)
 | 
			
		||||
        = 0
 | 
			
		||||
        THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.SERVICE_BONUS)))
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)-#{energySub}),4)
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
 | 
			
		||||
        end AS serviceBonusRate,
 | 
			
		||||
        sum (cbs.HI_FUN_INCOME) hiFunIncome,
 | 
			
		||||
        sum (cbs.REPUR_RANGE_BONUS) repurRangeBonus,
 | 
			
		||||
| 
						 | 
				
			
			@ -566,10 +564,10 @@
 | 
			
		|||
        sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)
 | 
			
		||||
        = 0
 | 
			
		||||
        THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.MAKER_DIRECT+cbs.MAKER_SHARE)))
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)-#{energySub}),4)
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
 | 
			
		||||
        end AS makerRate,
 | 
			
		||||
        ((sum(cbs.MAIN_REG_AMOUNT +
 | 
			
		||||
        cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT))-#{energySub}) AS
 | 
			
		||||
        cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT))) AS
 | 
			
		||||
        firstPurchaseAll,
 | 
			
		||||
        ( sum(cbs.MAIN_REPUR_AMOUNT +
 | 
			
		||||
        cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
 | 
			
		||||
| 
						 | 
				
			
			@ -582,7 +580,7 @@
 | 
			
		|||
        = 0
 | 
			
		||||
        THEN 0 ELSE ROUND(((#{perCent}*sum(cbs.INTRODUCE_BONUS+cbs.ORG_BONUS+cbs.LEADER_BONUS+cbs.SERVICE_BONUS
 | 
			
		||||
        +cbs.MAKER_DIRECT+cbs.MAKER_SHARE)))
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)-#{energySub}),4)
 | 
			
		||||
        /(sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT)),4)
 | 
			
		||||
        end AS mainBonusRate,
 | 
			
		||||
 | 
			
		||||
        CASE WHEN
 | 
			
		||||
| 
						 | 
				
			
			@ -632,7 +630,7 @@
 | 
			
		|||
        (sum(cbs.MAIN_REG_AMOUNT+cbs.MAIN_UP_AMOUNT+cbs.SPECIAL_REGISTER_AMOUNT+cbs.SPECIAL_UPGRADE_AMOUNT+cbs.FICTITIOUS_AMOUNT+
 | 
			
		||||
        cbs.MAIN_REPUR_AMOUNT+cbs.HIFANS_REG_AMOUNT+cbs.HAI_FUN_UPGRADE_AMOUNT+cbs.CLOUD_COLLEGE_AMOUNT+cbs.MALL_AMOUNT
 | 
			
		||||
        +cbs.EMPOWERMENT_GIFT_AMOUNT+cbs.COOPERATE_AMOUNT+cbs.SPECIAL_REPURCHASE_AMOUNT
 | 
			
		||||
        +cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)-#{energySub}+#{energySum}),4) end AS totalBonusRate
 | 
			
		||||
        +cbs.MAKER_ORDER+cbs.MAKER_GIFT_AMOUNT+cbs.WELFARE_ORDER)),4) end AS totalBonusRate
 | 
			
		||||
        FROM
 | 
			
		||||
        CU_BONUS_VERTEX_STATIS cbs
 | 
			
		||||
        LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,139 @@
 | 
			
		|||
package com.hzs.system.board.controller;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.collection.CollectionUtil;
 | 
			
		||||
import com.hzs.common.core.utils.BigDecimalUtil;
 | 
			
		||||
import com.hzs.common.core.web.controller.BaseController;
 | 
			
		||||
import com.hzs.common.core.web.domain.AjaxResult;
 | 
			
		||||
import com.hzs.system.board.service.IBoardService;
 | 
			
		||||
import com.hzs.system.board.vo.*;
 | 
			
		||||
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.RestController;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 首页看板 控制器
 | 
			
		||||
 */
 | 
			
		||||
@RestController
 | 
			
		||||
@RequestMapping("/manage/board")
 | 
			
		||||
public class BoardController extends BaseController {
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IBoardService iBoardService;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 会员汇总数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @GetMapping("/member-summary")
 | 
			
		||||
    public AjaxResult memberSummary() {
 | 
			
		||||
        // 会员汇总数据
 | 
			
		||||
        BoardMemberVO boardMemberVO = iBoardService.getMemberBoard();
 | 
			
		||||
        boardMemberVO.setMemberTodayLevelList(new ArrayList<>(6));
 | 
			
		||||
        boardMemberVO.setMemberYesterdayLevelList(new ArrayList<>(6));
 | 
			
		||||
        boardMemberVO.setMemberMonthLevelList(new ArrayList<>(6));
 | 
			
		||||
 | 
			
		||||
        // 会员各等级数据
 | 
			
		||||
        List<BoardMemberLevelVO> levelList = iBoardService.listMemberLevelBoard();
 | 
			
		||||
 | 
			
		||||
        for (BoardMemberLevelVO boardMemberLevelVO : levelList) {
 | 
			
		||||
            if (boardMemberLevelVO.getSort() == 0) {
 | 
			
		||||
                // 今日
 | 
			
		||||
                boardMemberVO.getMemberTodayLevelList().add(boardMemberLevelVO);
 | 
			
		||||
            } else if (boardMemberLevelVO.getSort() == 1) {
 | 
			
		||||
                // 昨日
 | 
			
		||||
                boardMemberVO.getMemberYesterdayLevelList().add(boardMemberLevelVO);
 | 
			
		||||
            } else {
 | 
			
		||||
                // 本月
 | 
			
		||||
                boardMemberVO.getMemberMonthLevelList().add(boardMemberLevelVO);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return AjaxResult.success(boardMemberVO);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 日业绩数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @GetMapping("/day-achieve")
 | 
			
		||||
    public AjaxResult dayAchieve() {
 | 
			
		||||
        // 返回数据VO
 | 
			
		||||
        BoardDayAchieveVO resultVO = new BoardDayAchieveVO();
 | 
			
		||||
 | 
			
		||||
        List<BoardAchieveVO> dayAchieveList = iBoardService.getDayAchieve();
 | 
			
		||||
        if (CollectionUtil.isNotEmpty(dayAchieveList)) {
 | 
			
		||||
            for (BoardAchieveVO boardAchieveVO : dayAchieveList) {
 | 
			
		||||
                if (boardAchieveVO.getSort() == 0) {
 | 
			
		||||
                    resultVO.setToday(BoardAchieveVO.builder()
 | 
			
		||||
                            .firstAchieve(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getFirstAchieve()))
 | 
			
		||||
                            .firstAmount(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getFirstAmount()))
 | 
			
		||||
                            .repAchieve(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getRepAchieve()))
 | 
			
		||||
                            .repAmount(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getRepAmount()))
 | 
			
		||||
                            .build());
 | 
			
		||||
                } else {
 | 
			
		||||
                    resultVO.setYesterday(BoardAchieveVO.builder()
 | 
			
		||||
                            .firstAchieve(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getFirstAchieve()))
 | 
			
		||||
                            .firstAmount(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getFirstAmount()))
 | 
			
		||||
                            .repAchieve(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getRepAchieve()))
 | 
			
		||||
                            .repAmount(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getRepAmount()))
 | 
			
		||||
                            .build());
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return AjaxResult.success(resultVO);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 月业绩数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @GetMapping("/month-achieve")
 | 
			
		||||
    public AjaxResult monthAchieve() {
 | 
			
		||||
        BoardAchieveVO boardAchieveVO = iBoardService.getMonthAchieve();
 | 
			
		||||
        boardAchieveVO.setFirstAchieve(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getFirstAchieve()));
 | 
			
		||||
        boardAchieveVO.setFirstAmount(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getFirstAmount()));
 | 
			
		||||
        boardAchieveVO.setRepAchieve(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getRepAchieve()));
 | 
			
		||||
        boardAchieveVO.setRepAmount(BigDecimalUtil.handleBig10000Down(boardAchieveVO.getRepAmount()));
 | 
			
		||||
        return AjaxResult.success(boardAchieveVO);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 充值汇总数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @GetMapping("/recharge-summary")
 | 
			
		||||
    public AjaxResult rechargeSummary() {
 | 
			
		||||
        BoardRechargeVO boardRechargeVO = new BoardRechargeVO();
 | 
			
		||||
        boardRechargeVO.setRechargeTodayList(new ArrayList<>(6));
 | 
			
		||||
        boardRechargeVO.setRechargeYesterdayLevelList(new ArrayList<>(6));
 | 
			
		||||
        boardRechargeVO.setRechargeMonthLevelList(new ArrayList<>(6));
 | 
			
		||||
 | 
			
		||||
        // 会员汇总数据
 | 
			
		||||
        List<BoardRechargeAccountVO> rechargeList = iBoardService.listAccountRechargeBoard();
 | 
			
		||||
 | 
			
		||||
        for (BoardRechargeAccountVO boardMemberVO : rechargeList) {
 | 
			
		||||
            // 充值金额按万处理
 | 
			
		||||
            boardMemberVO.setRechargeAmount(BigDecimalUtil.handleBig10000Down(boardMemberVO.getRechargeAmount()));
 | 
			
		||||
            if (boardMemberVO.getSort() == 0) {
 | 
			
		||||
                // 今日
 | 
			
		||||
                boardRechargeVO.getRechargeTodayList().add(boardMemberVO);
 | 
			
		||||
            } else if (boardMemberVO.getSort() == 1) {
 | 
			
		||||
                // 昨日
 | 
			
		||||
                boardRechargeVO.getRechargeYesterdayLevelList().add(boardMemberVO);
 | 
			
		||||
            } else {
 | 
			
		||||
                // 本月
 | 
			
		||||
                boardRechargeVO.getRechargeMonthLevelList().add(boardMemberVO);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return AjaxResult.success(boardRechargeVO);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
package com.hzs.system.board.mapper;
 | 
			
		||||
 | 
			
		||||
import com.hzs.system.board.vo.BoardAchieveVO;
 | 
			
		||||
import com.hzs.system.board.vo.BoardMemberLevelVO;
 | 
			
		||||
import com.hzs.system.board.vo.BoardMemberVO;
 | 
			
		||||
import com.hzs.system.board.vo.BoardRechargeAccountVO;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 首页看板 mapper
 | 
			
		||||
 */
 | 
			
		||||
public interface BoardMapper {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询会员汇总数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    BoardMemberVO getMemberBoard();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询会员等级数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<BoardMemberLevelVO> listMemberLevelBoard();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询日业绩汇总数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<BoardAchieveVO> getDayAchieve();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询月业绩汇总数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    BoardAchieveVO getMonthAchieve();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 各币种充值数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<BoardRechargeAccountVO> listAccountRechargeBoard();
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
package com.hzs.system.board.service;
 | 
			
		||||
 | 
			
		||||
import com.hzs.system.board.vo.BoardAchieveVO;
 | 
			
		||||
import com.hzs.system.board.vo.BoardMemberLevelVO;
 | 
			
		||||
import com.hzs.system.board.vo.BoardMemberVO;
 | 
			
		||||
import com.hzs.system.board.vo.BoardRechargeAccountVO;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 首页看板 service
 | 
			
		||||
 */
 | 
			
		||||
public interface IBoardService {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询会员汇总数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    BoardMemberVO getMemberBoard();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询会员等级数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<BoardMemberLevelVO> listMemberLevelBoard();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询日业绩汇总数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<BoardAchieveVO> getDayAchieve();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询月业绩汇总数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    BoardAchieveVO getMonthAchieve();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 各币种充值数据
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<BoardRechargeAccountVO> listAccountRechargeBoard();
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,48 @@
 | 
			
		|||
package com.hzs.system.board.service.impl;
 | 
			
		||||
 | 
			
		||||
import com.hzs.system.board.mapper.BoardMapper;
 | 
			
		||||
import com.hzs.system.board.service.IBoardService;
 | 
			
		||||
import com.hzs.system.board.vo.BoardAchieveVO;
 | 
			
		||||
import com.hzs.system.board.vo.BoardMemberLevelVO;
 | 
			
		||||
import com.hzs.system.board.vo.BoardMemberVO;
 | 
			
		||||
import com.hzs.system.board.vo.BoardRechargeAccountVO;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
import javax.annotation.Resource;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 首页看板 service
 | 
			
		||||
 */
 | 
			
		||||
@Service
 | 
			
		||||
public class BoardServiceImpl implements IBoardService {
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private BoardMapper boardMapper;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public BoardMemberVO getMemberBoard() {
 | 
			
		||||
        return boardMapper.getMemberBoard();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<BoardMemberLevelVO> listMemberLevelBoard() {
 | 
			
		||||
        return boardMapper.listMemberLevelBoard();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<BoardAchieveVO> getDayAchieve() {
 | 
			
		||||
        return boardMapper.getDayAchieve();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public BoardAchieveVO getMonthAchieve() {
 | 
			
		||||
        return boardMapper.getMonthAchieve();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<BoardRechargeAccountVO> listAccountRechargeBoard() {
 | 
			
		||||
        return boardMapper.listAccountRechargeBoard();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
package com.hzs.system.board.vo;
 | 
			
		||||
 | 
			
		||||
import com.hzs.common.core.annotation.BigDecimalFormat;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Builder;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 看板业绩汇总数据
 | 
			
		||||
 */
 | 
			
		||||
@Builder
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
@Data
 | 
			
		||||
public class BoardAchieveVO implements Serializable {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 首购业绩
 | 
			
		||||
     */
 | 
			
		||||
    @BigDecimalFormat
 | 
			
		||||
    private BigDecimal firstAchieve;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 首购金额
 | 
			
		||||
     */
 | 
			
		||||
    @BigDecimalFormat
 | 
			
		||||
    private BigDecimal firstAmount;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购业绩
 | 
			
		||||
     */
 | 
			
		||||
    @BigDecimalFormat
 | 
			
		||||
    private BigDecimal repAchieve;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购金额
 | 
			
		||||
     */
 | 
			
		||||
    @BigDecimalFormat
 | 
			
		||||
    private BigDecimal repAmount;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 序号
 | 
			
		||||
     */
 | 
			
		||||
    private Integer sort;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
package com.hzs.system.board.vo;
 | 
			
		||||
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 看板业绩汇总数据返回
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
public class BoardDayAchieveVO implements Serializable {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 今日
 | 
			
		||||
     */
 | 
			
		||||
    private BoardAchieveVO today;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 昨日
 | 
			
		||||
     */
 | 
			
		||||
    private BoardAchieveVO yesterday;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
package com.hzs.system.board.vo;
 | 
			
		||||
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 看板会员等级数据
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
public class BoardMemberLevelVO implements Serializable {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 等级名称
 | 
			
		||||
     */
 | 
			
		||||
    private String gradeName;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 会员数量
 | 
			
		||||
     */
 | 
			
		||||
    private Integer memberTotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 0=今日,1=昨日,2=当月
 | 
			
		||||
     */
 | 
			
		||||
    private Integer sort;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,46 @@
 | 
			
		|||
package com.hzs.system.board.vo;
 | 
			
		||||
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 看板会员汇总数据
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
public class BoardMemberVO implements Serializable {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 会员总数
 | 
			
		||||
     */
 | 
			
		||||
    private Integer memberTotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 今日新増会员
 | 
			
		||||
     */
 | 
			
		||||
    private Integer memberToday;
 | 
			
		||||
    /**
 | 
			
		||||
     * 今日会员等级
 | 
			
		||||
     */
 | 
			
		||||
    private List<BoardMemberLevelVO> memberTodayLevelList;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 昨日新増会员
 | 
			
		||||
     */
 | 
			
		||||
    private Integer memberYesterday;
 | 
			
		||||
    /**
 | 
			
		||||
     * 昨日会员等级
 | 
			
		||||
     */
 | 
			
		||||
    private List<BoardMemberLevelVO> memberYesterdayLevelList;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 本月新増会员
 | 
			
		||||
     */
 | 
			
		||||
    private Integer memberMonth;
 | 
			
		||||
    /**
 | 
			
		||||
     * 本月会员等级
 | 
			
		||||
     */
 | 
			
		||||
    private List<BoardMemberLevelVO> memberMonthLevelList;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
package com.hzs.system.board.vo;
 | 
			
		||||
 | 
			
		||||
import com.hzs.common.core.annotation.BigDecimalFormat;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 看板各币种充值数据
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
public class BoardRechargeAccountVO implements Serializable {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 账户名称
 | 
			
		||||
     */
 | 
			
		||||
    private String accountName;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 充值金额
 | 
			
		||||
     */
 | 
			
		||||
    @BigDecimalFormat
 | 
			
		||||
    private BigDecimal rechargeAmount;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 0=今日,1=昨日,2=当月
 | 
			
		||||
     */
 | 
			
		||||
    private Integer sort;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,30 @@
 | 
			
		|||
package com.hzs.system.board.vo;
 | 
			
		||||
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 看板充值数据
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
public class BoardRechargeVO implements Serializable {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 今日充值
 | 
			
		||||
     */
 | 
			
		||||
    private List<BoardRechargeAccountVO> rechargeTodayList;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 昨日充值
 | 
			
		||||
     */
 | 
			
		||||
    private List<BoardRechargeAccountVO> rechargeYesterdayLevelList;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 本月充值
 | 
			
		||||
     */
 | 
			
		||||
    private List<BoardRechargeAccountVO> rechargeMonthLevelList;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,244 @@
 | 
			
		|||
<?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.hzs.system.board.mapper.BoardMapper">
 | 
			
		||||
 | 
			
		||||
    <!-- 查询会员汇总数据 -->
 | 
			
		||||
    <select id="getMemberBoard" resultType="com.hzs.system.board.vo.BoardMemberVO">
 | 
			
		||||
        select *
 | 
			
		||||
        from (select count(1) member_total
 | 
			
		||||
              from cu_member cm
 | 
			
		||||
              where cm.del_flag = 0
 | 
			
		||||
                and cm.pay_status = 1
 | 
			
		||||
                and cm.category = 0
 | 
			
		||||
                and cm.customer_type != 1) a
 | 
			
		||||
                 left join (
 | 
			
		||||
            select count(1) member_today
 | 
			
		||||
            from cu_member cm
 | 
			
		||||
            where cm.del_flag = 0
 | 
			
		||||
              and cm.pay_status = 1
 | 
			
		||||
              and cm.category = 0
 | 
			
		||||
              and to_char(cm.pay_time, 'yyyy-mm-dd') =
 | 
			
		||||
                  to_char(sysdate, 'yyyy-mm-dd')
 | 
			
		||||
              and cm.customer_type != 1
 | 
			
		||||
        ) b on 1 = 1
 | 
			
		||||
                 left join (select count(1) member_yesterday
 | 
			
		||||
                            from cu_member cm
 | 
			
		||||
                            where cm.del_flag = 0
 | 
			
		||||
                              and cm.pay_status = 1
 | 
			
		||||
                              and cm.category = 0
 | 
			
		||||
                              and to_char(cm.pay_time, 'yyyy-mm-dd') =
 | 
			
		||||
                                  to_char(sysdate - 1, 'yyyy-mm-dd')
 | 
			
		||||
                              and cm.customer_type != 1
 | 
			
		||||
        ) c
 | 
			
		||||
                           on 1 = 1
 | 
			
		||||
                 left join (select count(1) member_month
 | 
			
		||||
                            from cu_member cm
 | 
			
		||||
                            where cm.del_flag = 0
 | 
			
		||||
                              and cm.pay_status = 1
 | 
			
		||||
                              and cm.category = 0
 | 
			
		||||
                              and to_char(cm.pay_time, 'yyyy-mm') =
 | 
			
		||||
                                  to_char(sysdate, 'yyyy-mm')
 | 
			
		||||
                              and cm.customer_type != 1
 | 
			
		||||
        ) d on 1 = 1
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <!-- 会员各等级数据 -->
 | 
			
		||||
    <select id="listMemberLevelBoard" resultType="com.hzs.system.board.vo.BoardMemberLevelVO">
 | 
			
		||||
        select bg.grade_name,
 | 
			
		||||
               bg.grade_value,
 | 
			
		||||
               nvl(a.member_total, 0) member_total,
 | 
			
		||||
               0                      sort
 | 
			
		||||
        from (select cm.PK_REGISTER_GRADE, count(1) member_total
 | 
			
		||||
              from cu_member cm
 | 
			
		||||
              where cm.del_flag = 0
 | 
			
		||||
                and cm.pay_status = 1
 | 
			
		||||
                and cm.category = 0
 | 
			
		||||
                and to_char(cm.pay_time, 'yyyy-mm-dd') =
 | 
			
		||||
                    to_char(sysdate, 'yyyy-mm-dd')
 | 
			
		||||
                and cm.customer_type != 1
 | 
			
		||||
              group by cm.PK_REGISTER_GRADE
 | 
			
		||||
              order by cm.PK_REGISTER_GRADE) a
 | 
			
		||||
                 right join bd_grade bg
 | 
			
		||||
                            on bg.pk_id = a.PK_REGISTER_GRADE
 | 
			
		||||
        where bg.del_flag = 0
 | 
			
		||||
        union all
 | 
			
		||||
        select bg.grade_name,
 | 
			
		||||
               bg.grade_value,
 | 
			
		||||
               nvl(a.member_total, 0) member_total,
 | 
			
		||||
               1                      sort
 | 
			
		||||
        from (select cm.PK_REGISTER_GRADE, count(1) member_total
 | 
			
		||||
              from cu_member cm
 | 
			
		||||
              where cm.del_flag = 0
 | 
			
		||||
                and cm.pay_status = 1
 | 
			
		||||
                and cm.category = 0
 | 
			
		||||
                and to_char(cm.pay_time, 'yyyy-mm-dd') =
 | 
			
		||||
                    to_char(sysdate - 1, 'yyyy-mm-dd')
 | 
			
		||||
                and cm.customer_type != 1
 | 
			
		||||
              group by cm.PK_REGISTER_GRADE
 | 
			
		||||
              order by cm.PK_REGISTER_GRADE) a
 | 
			
		||||
                 right join bd_grade bg
 | 
			
		||||
                            on bg.pk_id = a.PK_REGISTER_GRADE
 | 
			
		||||
        where bg.del_flag = 0
 | 
			
		||||
        union all
 | 
			
		||||
        select bg.grade_name,
 | 
			
		||||
               bg.grade_value,
 | 
			
		||||
               nvl(a.member_total, 0) member_total,
 | 
			
		||||
               2                      sort
 | 
			
		||||
        from (select cm.PK_REGISTER_GRADE, count(1) member_total
 | 
			
		||||
              from cu_member cm
 | 
			
		||||
              where cm.del_flag = 0
 | 
			
		||||
                and cm.pay_status = 1
 | 
			
		||||
                and cm.category = 0
 | 
			
		||||
                and to_char(cm.pay_time, 'yyyy-mm') = to_char(sysdate, 'yyyy-mm')
 | 
			
		||||
                and cm.customer_type != 1
 | 
			
		||||
              group by cm.PK_REGISTER_GRADE
 | 
			
		||||
              order by cm.PK_REGISTER_GRADE) a
 | 
			
		||||
                 right join bd_grade bg
 | 
			
		||||
                            on bg.pk_id = a.PK_REGISTER_GRADE
 | 
			
		||||
        where bg.del_flag = 0
 | 
			
		||||
        order by sort, grade_value
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <!-- 查询日业绩汇总数据 -->
 | 
			
		||||
    <select id="getDayAchieve" resultType="com.hzs.system.board.vo.BoardAchieveVO">
 | 
			
		||||
        select a.*, b.*, 0 sort
 | 
			
		||||
        from (
 | 
			
		||||
                 select nvl(sum(so.order_achieve), 0) first_achieve,
 | 
			
		||||
                        nvl(sum(so.order_amount), 0)  first_amount
 | 
			
		||||
                 from sa_order so
 | 
			
		||||
                 where so.del_flag = 0
 | 
			
		||||
                   and so.order_status = 1
 | 
			
		||||
                   and so.order_type in (1, 2, 24, 25)
 | 
			
		||||
                   and to_char(so.pay_time, 'yyyy-mm-dd') =
 | 
			
		||||
                       to_char(sysdate, 'yyyy-mm-dd')
 | 
			
		||||
             ) a
 | 
			
		||||
                 left join (
 | 
			
		||||
            select nvl(sum(so.order_achieve), 0) rep_achieve,
 | 
			
		||||
                   nvl(sum(so.order_amount), 0)  rep_amount
 | 
			
		||||
            from sa_order so
 | 
			
		||||
            where so.del_flag = 0
 | 
			
		||||
              and so.order_status = 1
 | 
			
		||||
              and so.order_type in (3, 26, 10)
 | 
			
		||||
              and to_char(so.pay_time, 'yyyy-mm-dd') =
 | 
			
		||||
                  to_char(sysdate, 'yyyy-mm-dd')
 | 
			
		||||
        ) b on 1 = 1
 | 
			
		||||
        union all
 | 
			
		||||
        select a.*, b.*, 1 sort
 | 
			
		||||
        from (
 | 
			
		||||
                 select nvl(sum(so.order_achieve), 0) first_achieve,
 | 
			
		||||
                        nvl(sum(so.order_amount), 0)  first_amount
 | 
			
		||||
                 from sa_order so
 | 
			
		||||
                 where so.del_flag = 0
 | 
			
		||||
                   and so.order_status = 1
 | 
			
		||||
                   and so.order_type in (1, 2, 24, 25)
 | 
			
		||||
                   and to_char(so.pay_time, 'yyyy-mm-dd') =
 | 
			
		||||
                       to_char(sysdate - 1, 'yyyy-mm-dd')
 | 
			
		||||
             ) a
 | 
			
		||||
                 left join (
 | 
			
		||||
            select nvl(sum(so.order_achieve), 0) rep_achieve,
 | 
			
		||||
                   nvl(sum(so.order_amount), 0)  rep_amount
 | 
			
		||||
            from sa_order so
 | 
			
		||||
            where so.del_flag = 0
 | 
			
		||||
              and so.order_status = 1
 | 
			
		||||
              and so.order_type in (3, 26, 10)
 | 
			
		||||
              and to_char(so.pay_time, 'yyyy-mm-dd') =
 | 
			
		||||
                  to_char(sysdate - 1, 'yyyy-mm-dd')
 | 
			
		||||
        ) b on 1 = 1
 | 
			
		||||
        order by sort
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <!-- 查询月业绩汇总数据 -->
 | 
			
		||||
    <select id="getMonthAchieve" resultType="com.hzs.system.board.vo.BoardAchieveVO">
 | 
			
		||||
        select a.*, b.*
 | 
			
		||||
        from (select nvl(sum(so.order_achieve), 0) first_achieve,
 | 
			
		||||
                     nvl(sum(so.order_amount), 0)  first_amount
 | 
			
		||||
              from sa_order so
 | 
			
		||||
              where so.del_flag = 0
 | 
			
		||||
                and so.order_status = 1
 | 
			
		||||
                and so.order_type in (1, 2, 24, 25)
 | 
			
		||||
                and to_char(so.pay_time, 'yyyy-mm') = to_char(sysdate, 'yyyy-mm')
 | 
			
		||||
             ) a
 | 
			
		||||
                 left join (
 | 
			
		||||
            select nvl(sum(so.order_achieve), 0)                            rep_achieve,
 | 
			
		||||
                   nvl(sum(so.order_amount - nvl(so.CONSUME_AMOUNT, 0)), 0) rep_amount
 | 
			
		||||
            from sa_order so
 | 
			
		||||
            where so.del_flag = 0
 | 
			
		||||
              and so.order_status = 1
 | 
			
		||||
              and so.order_type in (3, 26, 10)
 | 
			
		||||
              and to_char(so.pay_time, 'yyyy-mm') =
 | 
			
		||||
                  to_char(sysdate, 'yyyy-mm')
 | 
			
		||||
        ) b on 1 = 1
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <!-- 各币种充值数据 -->
 | 
			
		||||
    <select id="listAccountRechargeBoard" resultType="com.hzs.system.board.vo.BoardRechargeAccountVO">
 | 
			
		||||
        select ba.account_name, nvl(a.recharge_amount, 0) recharge_amount, 0 sort, ba.field_value
 | 
			
		||||
        from (select t.pk_account, sum(t.recharge_amount) recharge_amount
 | 
			
		||||
              from CU_MEMBER_RECHARGE t
 | 
			
		||||
              where t.del_flag = 0
 | 
			
		||||
                and t.recharge_amount != 0
 | 
			
		||||
           and t.pk_account in
 | 
			
		||||
               (select t.pk_id
 | 
			
		||||
                  from bd_account t
 | 
			
		||||
                 where t.del_flag = 0
 | 
			
		||||
                   and t.enable_state = 0
 | 
			
		||||
                   and t.pk_country = 1
 | 
			
		||||
                   and t.field_value in (1, 2, 3, 4))
 | 
			
		||||
           and ((t.recharge_source = 1 and t.approve_state = 2) or
 | 
			
		||||
               (t.recharge_source = 0 and t.approve_state = 2))
 | 
			
		||||
           and to_char(t.modified_time, 'yyyy-mm-dd') =
 | 
			
		||||
               to_char(sysdate, 'yyyy-mm-dd')
 | 
			
		||||
              group by t.pk_account) a
 | 
			
		||||
                 right join bd_account ba
 | 
			
		||||
                            on ba.pk_id = a.pk_account
 | 
			
		||||
                                and ba.del_flag = 0
 | 
			
		||||
        where ba.field_value in (1, 2, 3, 4)
 | 
			
		||||
        union all
 | 
			
		||||
        select ba.account_name, nvl(a.recharge_amount, 0) recharge_amount, 1 sort, ba.field_value
 | 
			
		||||
        from (select t.pk_account, sum(t.recharge_amount) recharge_amount
 | 
			
		||||
              from CU_MEMBER_RECHARGE t
 | 
			
		||||
              where t.del_flag = 0
 | 
			
		||||
                and t.recharge_amount != 0
 | 
			
		||||
           and t.pk_account in
 | 
			
		||||
               (select t.pk_id
 | 
			
		||||
                  from bd_account t
 | 
			
		||||
                 where t.del_flag = 0
 | 
			
		||||
                   and t.enable_state = 0
 | 
			
		||||
                   and t.pk_country = 1
 | 
			
		||||
                   and t.field_value in (1, 2, 3, 4))
 | 
			
		||||
           and ((t.recharge_source = 1 and t.approve_state = 2) or
 | 
			
		||||
               (t.recharge_source = 0 and t.approve_state = 2))
 | 
			
		||||
           and to_char(t.modified_time, 'yyyy-mm-dd') =
 | 
			
		||||
               to_char(sysdate - 1, 'yyyy-mm-dd')
 | 
			
		||||
              group by t.pk_account) a
 | 
			
		||||
                 right join bd_account ba
 | 
			
		||||
                            on ba.pk_id = a.pk_account
 | 
			
		||||
                                and ba.del_flag = 0
 | 
			
		||||
        where ba.field_value in (1, 2, 3, 4)
 | 
			
		||||
        union all
 | 
			
		||||
        select ba.account_name, nvl(a.recharge_amount, 0) recharge_amount, 2 sort, ba.field_value
 | 
			
		||||
        from (select t.pk_account, sum(t.recharge_amount) recharge_amount
 | 
			
		||||
              from CU_MEMBER_RECHARGE t
 | 
			
		||||
              where t.del_flag = 0
 | 
			
		||||
                and t.recharge_amount != 0
 | 
			
		||||
           and t.pk_account in
 | 
			
		||||
               (select t.pk_id
 | 
			
		||||
                  from bd_account t
 | 
			
		||||
                 where t.del_flag = 0
 | 
			
		||||
                   and t.enable_state = 0
 | 
			
		||||
                   and t.pk_country = 1
 | 
			
		||||
                   and t.field_value in (1, 2, 3, 4))
 | 
			
		||||
           and ((t.recharge_source = 1 and t.approve_state = 2) or
 | 
			
		||||
               (t.recharge_source = 0 and t.approve_state = 2))
 | 
			
		||||
           and to_char(t.modified_time, 'yyyy-mm') =
 | 
			
		||||
               to_char(sysdate - 1, 'yyyy-mm')
 | 
			
		||||
              group by t.pk_account) a
 | 
			
		||||
                 right join bd_account ba
 | 
			
		||||
                            on ba.pk_id = a.pk_account
 | 
			
		||||
                                and ba.del_flag = 0
 | 
			
		||||
        where ba.field_value in (1, 2, 3, 4)
 | 
			
		||||
        order by sort, field_value
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,7 @@
 | 
			
		|||
package com.hzs.common.core.constant;
 | 
			
		||||
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 魔法数字常量类
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -99,4 +101,9 @@ public class MagicNumberConstants {
 | 
			
		|||
     */
 | 
			
		||||
    public static final Integer WITHDRAW_MULTIPLE = 100;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 转换万处理
 | 
			
		||||
     */
 | 
			
		||||
    public static final BigDecimal big10000 = new BigDecimal("10000");
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,17 +23,25 @@ public class RetailConstants {
 | 
			
		|||
     */
 | 
			
		||||
    public static final List<String> BOX_PRODUCT_LIST = Arrays.asList(
 | 
			
		||||
            // 注册
 | 
			
		||||
            "SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006",
 | 
			
		||||
            "SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012",
 | 
			
		||||
            "SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005",
 | 
			
		||||
            "SP02410006", "SP02410007", "SP02410008", "SP02410009", "SP02410010",
 | 
			
		||||
            "SP02410011", "SP02410012", "SP02410013", "SP02410014", "SP02410015",
 | 
			
		||||
            "SP02410016", "SP02410017", "SP02410018", "SP02410019", "SP02410020",
 | 
			
		||||
            // 升级
 | 
			
		||||
            "SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006",
 | 
			
		||||
            "SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012",
 | 
			
		||||
            "SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005",
 | 
			
		||||
            "SP02420006", "SP02420007", "SP02420008", "SP02420009", "SP02420010",
 | 
			
		||||
            "SP02420011", "SP02420012", "SP02420013", "SP02420014", "SP02420015",
 | 
			
		||||
            "SP02420016", "SP02420017", "SP02420018", "SP02420019", "SP02420020",
 | 
			
		||||
            // 复消
 | 
			
		||||
            "SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006",
 | 
			
		||||
            "SP02430007", "SP02430008", "SP02430009", "SP02430010", "SP02430011", "SP02430012",
 | 
			
		||||
            "SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005",
 | 
			
		||||
            "SP02430006", "SP02430007", "SP02430008", "SP02430009", "SP02430010",
 | 
			
		||||
            "SP02430011", "SP02430012", "SP02430013", "SP02430014", "SP02430015",
 | 
			
		||||
            "SP02430016", "SP02430017", "SP02430018", "SP02430019", "SP02430020",
 | 
			
		||||
            // 重消
 | 
			
		||||
            "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006",
 | 
			
		||||
            "SP02440007", "SP02440008", "SP02440009", "SP02440010", "SP02440011", "SP02440012"
 | 
			
		||||
            "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005",
 | 
			
		||||
            "SP02440006", "SP02440007", "SP02440008", "SP02440009", "SP02440010",
 | 
			
		||||
            "SP02440011", "SP02440012", "SP02440013", "SP02440014", "SP02440015",
 | 
			
		||||
            "SP02440016", "SP02440017", "SP02440018", "SP02440019", "SP02440020"
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -41,17 +49,25 @@ public class RetailConstants {
 | 
			
		|||
     */
 | 
			
		||||
    public static final List<String> ALL_BOX_WARES_LIST = Arrays.asList(
 | 
			
		||||
            // 注册
 | 
			
		||||
            "SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006",
 | 
			
		||||
            "SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012",
 | 
			
		||||
            "SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005",
 | 
			
		||||
            "SP02410006", "SP02410007", "SP02410008", "SP02410009", "SP02410010",
 | 
			
		||||
            "SP02410011", "SP02410012", "SP02410013", "SP02410014", "SP02410015",
 | 
			
		||||
            "SP02410016", "SP02410017", "SP02410018", "SP02410019", "SP02410020",
 | 
			
		||||
            // 升级
 | 
			
		||||
            "SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006",
 | 
			
		||||
            "SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012",
 | 
			
		||||
            "SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005",
 | 
			
		||||
            "SP02420006", "SP02420007", "SP02420008", "SP02420009", "SP02420010",
 | 
			
		||||
            "SP02420011", "SP02420012", "SP02420013", "SP02420014", "SP02420015",
 | 
			
		||||
            "SP02420016", "SP02420017", "SP02420018", "SP02420019", "SP02420020",
 | 
			
		||||
            // 复消
 | 
			
		||||
            "SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006",
 | 
			
		||||
            "SP02430007", "SP02430008", "SP02430009", "SP02430010", "SP02430011", "SP02430012",
 | 
			
		||||
            "SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005",
 | 
			
		||||
            "SP02430006", "SP02430007", "SP02430008", "SP02430009", "SP02430010",
 | 
			
		||||
            "SP02430011", "SP02430012", "SP02430013", "SP02430014", "SP02430015",
 | 
			
		||||
            "SP02430016", "SP02430017", "SP02430018", "SP02430019", "SP02430020",
 | 
			
		||||
            // 重消
 | 
			
		||||
            "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006",
 | 
			
		||||
            "SP02440007", "SP02440008", "SP02440009", "SP02440010", "SP02440011", "SP02440012"
 | 
			
		||||
            "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005",
 | 
			
		||||
            "SP02440006", "SP02440007", "SP02440008", "SP02440009", "SP02440010",
 | 
			
		||||
            "SP02440011", "SP02440012", "SP02440013", "SP02440014", "SP02440015",
 | 
			
		||||
            "SP02440016", "SP02440017", "SP02440018", "SP02440019", "SP02440020"
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,11 +14,7 @@ import java.util.HashMap;
 | 
			
		|||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author: sui q
 | 
			
		||||
 * @time: 2021/11/23 11:02
 | 
			
		||||
 * @description: 条形码+文字 生成
 | 
			
		||||
 * @classname: BarCodeUtils
 | 
			
		||||
 * @package_name: com.hzs.web.util
 | 
			
		||||
 * sui q
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class BarCodeUtils {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
package com.hzs.common.core.utils;
 | 
			
		||||
 | 
			
		||||
import com.hzs.common.core.constant.MagicNumberConstants;
 | 
			
		||||
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
import java.math.RoundingMode;
 | 
			
		||||
 | 
			
		||||
public class BigDecimalUtil {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 除万取2位小数并且去尾
 | 
			
		||||
     *
 | 
			
		||||
     * @param bigDecimal
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    public static BigDecimal handleBig10000Down(BigDecimal bigDecimal) {
 | 
			
		||||
        return bigDecimal.divide(MagicNumberConstants.big10000, 2, RoundingMode.DOWN);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,59 +0,0 @@
 | 
			
		|||
package com.hzs.common.core.utils;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Description: 自动生成密码 暂时先不使用
 | 
			
		||||
 * @Author: sui q
 | 
			
		||||
 * @Time: 2022/9/9 14:52
 | 
			
		||||
 * @Classname: CreatePassword
 | 
			
		||||
 * @PackageName: com.hzs.common.core.utils
 | 
			
		||||
 */
 | 
			
		||||
public class CreatePassword {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
    * @Description: 生成密码
 | 
			
		||||
     * @param len 密码长度
 | 
			
		||||
    * @return: String
 | 
			
		||||
    * @Author: sui q
 | 
			
		||||
    * @Date: 2022/9/9 14:53
 | 
			
		||||
    */
 | 
			
		||||
    public static String generatePassword(int len) {
 | 
			
		||||
        // 1、定义基本字符串baseStr和出参password
 | 
			
		||||
        StringBuilder password = null;
 | 
			
		||||
        String baseStr = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}|<>?";
 | 
			
		||||
        boolean flag = false;
 | 
			
		||||
        // 2、使用循环来判断是否是正确的密码
 | 
			
		||||
        while (!flag) {
 | 
			
		||||
            // 密码重置
 | 
			
		||||
            password = new StringBuilder();
 | 
			
		||||
            // 个数计数
 | 
			
		||||
            int a = 0, b = 0, c = 0, d = 0;
 | 
			
		||||
            for (int i = 0; i < len; i++) {
 | 
			
		||||
                int rand = (int) (Math.random() * baseStr.length());
 | 
			
		||||
                password.append(baseStr.charAt(rand));
 | 
			
		||||
                if (rand < 10) {
 | 
			
		||||
                    a++;
 | 
			
		||||
                }
 | 
			
		||||
                if (10 <= rand && rand < 36) {
 | 
			
		||||
                    b++;
 | 
			
		||||
                }
 | 
			
		||||
                if (36 <= rand && rand < 62) {
 | 
			
		||||
                    c++;
 | 
			
		||||
                }
 | 
			
		||||
                if (62 <= rand) {
 | 
			
		||||
                    d++;
 | 
			
		||||
                }
 | 
			
		||||
                if (a * b * c * d != 0) {
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            // 是否是正确的密码(4类中仅一类为0,其他不为0)
 | 
			
		||||
            flag = (a * b * c != 0 && d == 0) || (a * b * d != 0 && c == 0) || (a * c * d != 0 && b == 0)
 | 
			
		||||
                    || (b * c * d != 0 && a == 0);
 | 
			
		||||
        }
 | 
			
		||||
        return password.toString();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static void main(String[] args) {
 | 
			
		||||
        System.out.println(generatePassword(6));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -8,8 +8,10 @@ import java.time.*;
 | 
			
		|||
import java.time.format.DateTimeFormatter;
 | 
			
		||||
import java.time.temporal.ChronoUnit;
 | 
			
		||||
import java.time.temporal.TemporalAdjusters;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Calendar;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 时间工具类
 | 
			
		||||
| 
						 | 
				
			
			@ -875,4 +877,37 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 | 
			
		|||
        return before7days.getTime() < addtime.getTime();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取两个时间内的每一天
 | 
			
		||||
     *
 | 
			
		||||
     * @param startTime
 | 
			
		||||
     * @param endTime
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    public static List<String> findDaysStr(String startTime, String endTime) {
 | 
			
		||||
        SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.YYYY_MM_DD);
 | 
			
		||||
        Date dBegin = null;
 | 
			
		||||
        Date dEnd = null;
 | 
			
		||||
        try {
 | 
			
		||||
            dBegin = sdf.parse(startTime);
 | 
			
		||||
            dEnd = sdf.parse(endTime);
 | 
			
		||||
        } catch (ParseException e) {
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
        }
 | 
			
		||||
        List<String> daysStrList = new ArrayList<>();
 | 
			
		||||
        daysStrList.add(sdf.format(dBegin));
 | 
			
		||||
        Calendar calBegin = Calendar.getInstance();
 | 
			
		||||
        calBegin.setTime(dBegin);
 | 
			
		||||
        Calendar calEnd = Calendar.getInstance();
 | 
			
		||||
        calEnd.setTime(dEnd);
 | 
			
		||||
 | 
			
		||||
        while (dEnd.after(calBegin.getTime())) {
 | 
			
		||||
            calBegin.add(Calendar.DAY_OF_MONTH, 1);
 | 
			
		||||
            String dayStr = sdf.format(calBegin.getTime());
 | 
			
		||||
            daysStrList.add(dayStr);
 | 
			
		||||
        }
 | 
			
		||||
        return daysStrList;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,25 +1,12 @@
 | 
			
		|||
package com.hzs.common.core.utils;/**
 | 
			
		||||
 * @Description:
 | 
			
		||||
 * @Author: yuhui
 | 
			
		||||
 * @Time: 2023/6/6 9:55
 | 
			
		||||
 * @Classname: DeduplicationUtil
 | 
			
		||||
 * @PackageName: com.hzs.common.core.utils
 | 
			
		||||
 */
 | 
			
		||||
package com.hzs.common.core.utils;
 | 
			
		||||
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.concurrent.ConcurrentHashMap;
 | 
			
		||||
import java.util.function.Function;
 | 
			
		||||
import java.util.function.Predicate;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *@BelongsProject: hzs_cloud
 | 
			
		||||
 *@BelongsPackage: com.hzs.common.core.utils
 | 
			
		||||
 *@Author: yh
 | 
			
		||||
 *@CreateTime: 2023-06-06  09:55
 | 
			
		||||
 *@Description: TODO
 | 
			
		||||
 *@Version: 1.0
 | 
			
		||||
 */
 | 
			
		||||
public class DeduplicationUtil {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 自定义函数去重(采用 Predicate函数式判断,采用 Function获取比较key)
 | 
			
		||||
     * 内部维护一个 ConcurrentHashMap,并采用 putIfAbsent特性实现
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,27 +1,14 @@
 | 
			
		|||
package com.hzs.common.core.utils;/**
 | 
			
		||||
 * @Description:
 | 
			
		||||
 * @Author: yuhui
 | 
			
		||||
 * @Time: 2023/3/10 15:56
 | 
			
		||||
 * @Classname: distinctByKeyUtil
 | 
			
		||||
 * @PackageName: com.hzs.common.core.utils
 | 
			
		||||
 */
 | 
			
		||||
package com.hzs.common.core.utils;
 | 
			
		||||
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
import java.util.concurrent.ConcurrentHashMap;
 | 
			
		||||
import java.util.function.Function;
 | 
			
		||||
import java.util.function.Predicate;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *@BelongsProject: hzs_cloud
 | 
			
		||||
 *@BelongsPackage: com.hzs.common.core.utils
 | 
			
		||||
 *@Author: yh
 | 
			
		||||
 *@CreateTime: 2023-03-10  15:56
 | 
			
		||||
 *@Description: TODO
 | 
			
		||||
 *@Version: 1.0
 | 
			
		||||
 */
 | 
			
		||||
public class DistinctByKeyUtil {
 | 
			
		||||
    /**
 | 
			
		||||
     * 对象根据某一值去重
 | 
			
		||||
     *
 | 
			
		||||
     * @param keyExtractor
 | 
			
		||||
     * @param <T>
 | 
			
		||||
     * @return
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,29 +0,0 @@
 | 
			
		|||
package com.hzs.common.core.utils;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import com.hzs.common.core.utils.sign.Base64Util;
 | 
			
		||||
import org.springframework.util.Base64Utils;
 | 
			
		||||
 | 
			
		||||
import java.nio.charset.StandardCharsets;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Description:
 | 
			
		||||
 * @Author: ljc
 | 
			
		||||
 * @Time: 2024/8/20 9:38
 | 
			
		||||
 * @Classname: NacosSecretUtil
 | 
			
		||||
 * @Package_name: com.hzs
 | 
			
		||||
 */
 | 
			
		||||
public class NacosSecretUtil {
 | 
			
		||||
 | 
			
		||||
    public static void main(String[] args) {
 | 
			
		||||
        // 自定义生成JWT令牌的密钥
 | 
			
		||||
        String nacosSecret = "smYhZs_20240820_UNkSTzy_formY_toKen";
 | 
			
		||||
        // 输出密钥长度,要求不得低于32字符,否则无法启动节点。
 | 
			
		||||
        System.out.println("密钥长度》》》" + nacosSecret.length());
 | 
			
		||||
        // 密钥进行Base64编码
 | 
			
		||||
        byte[] data = nacosSecret.getBytes(StandardCharsets.UTF_8);
 | 
			
		||||
        System.out.println("密钥Base64编码》》》" + Base64Utils.encodeToString(data));
 | 
			
		||||
        System.out.println("密钥Base64编码》》》" + Base64Util.encode(data));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -2,17 +2,11 @@ package com.hzs.common.core.utils;
 | 
			
		|||
 | 
			
		||||
import java.text.DecimalFormat;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Description:
 | 
			
		||||
 * @Author: yuhui
 | 
			
		||||
 * @Time: 2022/12/2 14:12
 | 
			
		||||
 * @Classname: NumberUtil
 | 
			
		||||
 * @PackageName: com.hzs.common.core.utils
 | 
			
		||||
 */
 | 
			
		||||
public class NumberUtil {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取百分比
 | 
			
		||||
     *
 | 
			
		||||
     * @param number1 /
 | 
			
		||||
     * @param number2 总数/
 | 
			
		||||
     * @return java.lang.String /
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,8 +14,6 @@ import java.io.InputStream;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * OSS 使用工具
 | 
			
		||||
 *
 | 
			
		||||
 * @author: jiiangchao
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class OssUtil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,8 +7,6 @@ import com.hzs.common.core.web.page.TableSupport;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 分页工具类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 */
 | 
			
		||||
public class PageUtils extends PageHelper {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,8 +27,6 @@ import reactor.core.publisher.Mono;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 客户端工具类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 */
 | 
			
		||||
public class ServletUtils {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,8 +9,6 @@ import org.springframework.stereotype.Component;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * spring工具类 方便在非spring管理环境中获取bean
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 */
 | 
			
		||||
@Component
 | 
			
		||||
public final class SpringUtils implements BeanFactoryPostProcessor {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,13 +7,7 @@ import com.alibaba.fastjson2.JSONObject;
 | 
			
		|||
import java.util.*;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * description: 将json串转化为map类型
 | 
			
		||||
 *
 | 
			
		||||
 * @author: sui q
 | 
			
		||||
 * @time: 2023/4/3 14:17
 | 
			
		||||
 * @classname: StringJsonUtils
 | 
			
		||||
 * @package_name: com.hzs.common.core.utils
 | 
			
		||||
 * version 1.0.0
 | 
			
		||||
 * 将json串转化为map类型
 | 
			
		||||
 */
 | 
			
		||||
public class StringJsonUtils {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,11 +6,7 @@ import org.springframework.stereotype.Component;
 | 
			
		|||
import java.util.concurrent.*;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Description: 线程工具类
 | 
			
		||||
 * Author: jiang chao
 | 
			
		||||
 * Time: 2022/8/30 10:10
 | 
			
		||||
 * Classname: ThreadUtil
 | 
			
		||||
 * PackageName: com.hzs.common.core.utils
 | 
			
		||||
 * 线程工具类
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
@Component
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,11 +8,7 @@ import org.springframework.web.multipart.MultipartFile;
 | 
			
		|||
import java.io.*;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Description: 文件上传工具
 | 
			
		||||
 * @Author: jiang chao
 | 
			
		||||
 * @Time: 2023/1/13 11:24
 | 
			
		||||
 * @Classname: UploadUtil
 | 
			
		||||
 * @PackageName: com.hzs.member.tool
 | 
			
		||||
 * 文件上传工具
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class UploadFileUtil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,6 @@ package com.hzs.common.core.utils.poi;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * Excel数据格式处理适配器
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 */
 | 
			
		||||
public interface ExcelHandlerAdapter {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,8 +62,6 @@ import com.hzs.common.core.utils.reflect.ReflectUtils;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * Excel相关处理
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class ExcelUtil<T> {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,8 +18,6 @@ import com.hzs.common.core.utils.DateUtils;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
@SuppressWarnings("rawtypes")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,8 +8,6 @@ import java.net.URL;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * Base64工具类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 */
 | 
			
		||||
public final class Base64Util {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,8 +5,6 @@ import com.hzs.common.core.utils.StringUtils;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * sql操作工具类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 */
 | 
			
		||||
public class SqlUtil {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,6 @@ package com.hzs.common.core.utils.uuid;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * ID生成器工具类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 */
 | 
			
		||||
public class IdUtils {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,7 @@ import com.hzs.common.core.utils.DateUtils;
 | 
			
		|||
import com.hzs.common.core.utils.StringUtils;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author hzs 序列生成类
 | 
			
		||||
 * 序列生成类
 | 
			
		||||
 */
 | 
			
		||||
public class Seq {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,8 +10,6 @@ import com.hzs.common.core.exception.UtilException;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 提供通用唯一识别码(universally unique identifier)(UUID)实现
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 */
 | 
			
		||||
public final class UUID implements java.io.Serializable, Comparable<UUID> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue