## 迁移总裁面板相关接口;

This commit is contained in:
cabbage 2025-07-18 14:27:25 +08:00
parent e1a4b15ee7
commit 89ca618788
34 changed files with 781 additions and 175 deletions

View File

@ -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);
}
}

View File

@ -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();
}

View File

@ -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();
}

View File

@ -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();
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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>

View File

@ -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");
}

View File

@ -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 {

View File

@ -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);
}
}

View File

@ -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));
}
}

View File

@ -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特性实现
@ -29,7 +16,7 @@ public class DeduplicationUtil {
* @return
*/
public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
Map<Object,Boolean> seen = new ConcurrentHashMap<>();
Map<Object, Boolean> seen = new ConcurrentHashMap<>();
return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
}
@ -41,7 +28,7 @@ public class DeduplicationUtil {
* @return
*/
public static <T> Predicate<T> distinctNotByKey(Function<? super T, ?> keyExtractor) {
Map<Object,Boolean> seen = new ConcurrentHashMap<>();
Map<Object, Boolean> seen = new ConcurrentHashMap<>();
return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) != null;
}

View File

@ -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

View File

@ -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));
}
}

View File

@ -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 /

View File

@ -14,8 +14,6 @@ import java.io.InputStream;
/**
* OSS 使用工具
*
* @author: jiiangchao
*/
@Slf4j
public class OssUtil {

View File

@ -7,8 +7,6 @@ import com.hzs.common.core.web.page.TableSupport;
/**
* 分页工具类
*
* @author hzs
*/
public class PageUtils extends PageHelper {

View File

@ -27,8 +27,6 @@ import reactor.core.publisher.Mono;
/**
* 客户端工具类
*
* @author hzs
*/
public class ServletUtils {

View File

@ -9,8 +9,6 @@ import org.springframework.stereotype.Component;
/**
* spring工具类 方便在非spring管理环境中获取bean
*
* @author hzs
*/
@Component
public final class SpringUtils implements BeanFactoryPostProcessor {

View File

@ -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 {
@ -50,10 +44,10 @@ public class StringJsonUtils {
for (int j = 0; j < jsonArray.size(); j++) {
// JSONObject reagobj = JSONObject.parseObject(jsonStr);
Object object = jsonArray.get(j);
if(object instanceof String){
if (object instanceof String) {
jsonArray.set(j, jsonArray.get(j).toString().trim());
}else{
if(jsonArray.get(j) instanceof JSONObject){
} else {
if (jsonArray.get(j) instanceof JSONObject) {
JSONObject reagobj = (JSONObject) jsonArray.get(j);
handleJsonObject(reagobj);
jsonArray.set(j, reagobj);

View File

@ -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

View File

@ -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 {

View File

@ -2,8 +2,6 @@ package com.hzs.common.core.utils.poi;
/**
* Excel数据格式处理适配器
*
* @author hzs
*/
public interface ExcelHandlerAdapter {

View File

@ -62,8 +62,6 @@ import com.hzs.common.core.utils.reflect.ReflectUtils;
/**
* Excel相关处理
*
* @author hzs
*/
@Slf4j
public class ExcelUtil<T> {

View File

@ -18,8 +18,6 @@ import com.hzs.common.core.utils.DateUtils;
/**
* 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.
*
* @author hzs
*/
@Slf4j
@SuppressWarnings("rawtypes")

View File

@ -8,8 +8,6 @@ import java.net.URL;
/**
* Base64工具类
*
* @author hzs
*/
public final class Base64Util {

View File

@ -5,8 +5,6 @@ import com.hzs.common.core.utils.StringUtils;
/**
* sql操作工具类
*
* @author hzs
*/
public class SqlUtil {

View File

@ -2,8 +2,6 @@ package com.hzs.common.core.utils.uuid;
/**
* ID生成器工具类
*
* @author hzs
*/
public class IdUtils {

View File

@ -6,7 +6,7 @@ import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.StringUtils;
/**
* @author hzs 序列生成类
* 序列生成类
*/
public class Seq {

View File

@ -10,8 +10,6 @@ import com.hzs.common.core.exception.UtilException;
/**
* 提供通用唯一识别码universally unique identifierUUID实现
*
* @author hzs
*/
public final class UUID implements java.io.Serializable, Comparable<UUID> {