## 初始化去掉部分不需要接口;
This commit is contained in:
parent
6095ec5e0e
commit
ae5df106d7
|
@ -24,13 +24,6 @@ import org.springframework.web.bind.annotation.RestController;
|
|||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @BelongsProject: hzs_cloud
|
||||
* @BelongsPackage: com.hzs.member.base.controller.api
|
||||
* @Author: yh
|
||||
* @CreateTime: 2023-03-30 10:45
|
||||
* @Version: 1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/member-footmark")
|
||||
public class MemberFootmarkController {
|
||||
|
@ -118,10 +111,6 @@ public class MemberFootmarkController {
|
|||
String thisAvatarUrl = "";
|
||||
// 色值
|
||||
String color = "";
|
||||
// 国际编号
|
||||
String globalCode = member.getGlobalCode();
|
||||
// 国家编号
|
||||
String countryCode = member.getCountryCode();
|
||||
R<CurrencyDTO> currencyDate = currencyServiceApi.getCurrency(pkCountry);
|
||||
CurrencyDTO currency = currencyDate.getData();
|
||||
R<GradeDTO> gradeDto = gradeServiceApi.getGrade(grade);
|
||||
|
@ -141,10 +130,6 @@ public class MemberFootmarkController {
|
|||
}
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
// 国际编号
|
||||
resultMap.put("globalCode", globalCode);
|
||||
// 国家编号
|
||||
resultMap.put("countryCode", countryCode);
|
||||
// 颜色
|
||||
resultMap.put("color", color);
|
||||
// 等级
|
||||
|
|
|
@ -677,118 +677,6 @@ public class CuMemberController extends BaseController {
|
|||
return AjaxResult.success(resultList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员端直推排行 首页弹窗显示直推排行
|
||||
*/
|
||||
@GetMapping("/get-member-direct-push")
|
||||
public AjaxResult getMemberDirectPush(MemberDirectPushParam memberDirectPushParam) {
|
||||
//查询时间
|
||||
Date startDate;
|
||||
Date endDate;
|
||||
if (memberDirectPushParam.getPayDate() != null) {
|
||||
startDate = DateUtils.currentMonthFirstDate(memberDirectPushParam.getPayDate());
|
||||
endDate = DateUtils.getEndTime(DateUtils.currentMonthLastDate(memberDirectPushParam.getPayDate()));
|
||||
} else {
|
||||
return AjaxResult.success(new ArrayList<>());
|
||||
}
|
||||
|
||||
String loginMemberCode = SecurityUtils.getMemberCode();
|
||||
// 排名前三十人
|
||||
Integer number = 30;
|
||||
// 满足pv 条件
|
||||
BigDecimal conditionPv = new BigDecimal(100000);
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
//计算美金pv
|
||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||
BigDecimal inExchangeRate = currency.getData().getInExchangeRate();
|
||||
BigDecimal usdPv = conditionPv.divide(inExchangeRate, 2, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
// 中国汇率
|
||||
R<CurrencyDTO> chinaCurrency = iCurrencyServiceApi.getCurrency(CountryConstants.CHINA_COUNTRY);
|
||||
BigDecimal chinaInExchangeRate = chinaCurrency.getData().getInExchangeRate();
|
||||
//会员直推排行 前三十
|
||||
List<MemberDirectPushVO> memberDirectPushVOList = cuMemberService.getMemberDirectPush(startDate, endDate, number, usdPv, pkCountry, memberDirectPushParam.getMemberCode());
|
||||
|
||||
// 数据脱敏
|
||||
int num = 0;
|
||||
for (MemberDirectPushVO a : memberDirectPushVOList) {
|
||||
num += 1;
|
||||
a.setRanking(num);
|
||||
a.setMemberName(a.getMemberName());
|
||||
a.setOrderAchieve(a.getOrderAchieve().multiply(chinaInExchangeRate).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
a.setOrderAchieveStr(a.getOrderAchieve().multiply(chinaInExchangeRate).divide(new BigDecimal(10000), 0, BigDecimal.ROUND_FLOOR) + "+");
|
||||
if (StringUtils.isNotBlank(a.getMemberCode())) {
|
||||
// 查询是否登录会员
|
||||
if (a.getMemberCode().equals(loginMemberCode)) {
|
||||
a.setIsLoginMember(EYesNo.YES.getIntValue());
|
||||
} else {
|
||||
a.setIsLoginMember(EYesNo.NO.getIntValue());
|
||||
}
|
||||
} else {
|
||||
a.setIsLoginMember(EYesNo.NO.getIntValue());
|
||||
}
|
||||
}
|
||||
return AjaxResult.success(memberDirectPushVOList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员端直推排行 导出
|
||||
*/
|
||||
@PostMapping("/get-member-direct-push-export")
|
||||
public void getMemberDirectPushExport(MemberDirectPushParam memberDirectPushParam, HttpServletResponse response) {
|
||||
//查询时间
|
||||
Date startDate = null;
|
||||
Date endDate = null;
|
||||
if (memberDirectPushParam.getPayDate() != null) {
|
||||
startDate = DateUtils.currentMonthFirstDate(memberDirectPushParam.getPayDate());
|
||||
endDate = DateUtils.currentMonthLastDate(memberDirectPushParam.getPayDate());
|
||||
} else {
|
||||
ExcelUtil<MemberDirectPushVO> util = new ExcelUtil<>(MemberDirectPushVO.class);
|
||||
util.exportExcel(response, new ArrayList<>(), "排名信息");
|
||||
}
|
||||
|
||||
String loginMemberCode = SecurityUtils.getMemberCode();
|
||||
// 排名前三十人
|
||||
Integer number = 30;
|
||||
// 满足pv 条件
|
||||
BigDecimal conditionPv = new BigDecimal(100000);
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
//计算美金pv
|
||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||
BigDecimal inExchangeRate = currency.getData().getInExchangeRate();
|
||||
BigDecimal usdPv = conditionPv.divide(inExchangeRate, 2, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
// 中国汇率
|
||||
R<CurrencyDTO> chinaCurrency = iCurrencyServiceApi.getCurrency(CountryConstants.CHINA_COUNTRY);
|
||||
BigDecimal chinaInExchangeRate = chinaCurrency.getData().getInExchangeRate();
|
||||
//会员直推排行 前三十
|
||||
|
||||
List<MemberDirectPushVO> memberDirectPushVOList = cuMemberService.getMemberDirectPush(startDate, endDate, number, usdPv, pkCountry, memberDirectPushParam.getMemberCode());
|
||||
int ranking = 0;
|
||||
// 数据脱敏
|
||||
for (MemberDirectPushVO a : memberDirectPushVOList) {
|
||||
a.setMemberName(a.getMemberName());
|
||||
|
||||
a.setOrderAchieve(a.getOrderAchieve().multiply(chinaInExchangeRate).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
a.setOrderAchieveStr(a.getOrderAchieve().multiply(chinaInExchangeRate).divide(new BigDecimal(10000), 0, BigDecimal.ROUND_FLOOR) + "+");
|
||||
if (StringUtils.isNotBlank(a.getMemberCode())) {
|
||||
// 查询是否登录会员
|
||||
if (a.getMemberCode().equals(loginMemberCode)) {
|
||||
a.setIsLoginMember(EYesNo.YES.getIntValue());
|
||||
} else {
|
||||
a.setIsLoginMember(EYesNo.NO.getIntValue());
|
||||
}
|
||||
} else {
|
||||
a.setIsLoginMember(EYesNo.NO.getIntValue());
|
||||
}
|
||||
ranking += 1;
|
||||
a.setRanking(ranking);
|
||||
}
|
||||
|
||||
ExcelUtil<MemberDirectPushVO> util = new ExcelUtil<>(MemberDirectPushVO.class);
|
||||
util.exportExcel(response, memberDirectPushVOList, "排名信息");
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户消费统计
|
||||
*/
|
||||
|
|
|
@ -611,19 +611,6 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
|||
*/
|
||||
CuMemberExt queryParentTeam(@Param("pkMember") Long pkMember);
|
||||
|
||||
/**
|
||||
* 会员端直推排行 首页弹窗显示直推排行
|
||||
*
|
||||
* @param startDate 查询开始时间
|
||||
* @param endDate 查询结束时间
|
||||
* @param number 查询人数
|
||||
* @param usdPv 查询条件pv(美金)
|
||||
* @param pkCountry 所属国家
|
||||
* @param memberCode 会员编号
|
||||
* @return
|
||||
*/
|
||||
List<MemberDirectPushVO> getMemberDirectPush(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("number") Integer number, @Param("usdPv") BigDecimal usdPv, @Param("pkCountry") Integer pkCountry, @Param("memberCode") String memberCode);
|
||||
|
||||
/**
|
||||
* 用户消费统计
|
||||
*
|
||||
|
|
|
@ -727,19 +727,6 @@ public interface ICuMemberService extends IService<CuMember> {
|
|||
*/
|
||||
CuMemberExt queryParentTeam(Long pkMember);
|
||||
|
||||
/**
|
||||
* 会员端直推排行 首页弹窗显示直推排行
|
||||
*
|
||||
* @param startDate 查询开始时间
|
||||
* @param endDate 查询结束时间
|
||||
* @param number 查询人数
|
||||
* @param usdPv 查询条件pv(美金)
|
||||
* @param pkCountry 所属国家
|
||||
* @param memberCode 会员编号
|
||||
* @return
|
||||
*/
|
||||
List<MemberDirectPushVO> getMemberDirectPush(Date startDate, Date endDate, Integer number, BigDecimal usdPv, Integer pkCountry, String memberCode);
|
||||
|
||||
/**
|
||||
* 用户消费统计
|
||||
*
|
||||
|
|
|
@ -2493,13 +2493,6 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
|||
return baseMapper.selectRegList(marketNewsParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算明星用时
|
||||
*/
|
||||
public String getStarTime() {
|
||||
return RandomUtil.randomDouble(5, 10) + "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int checkParent(String topCode, Long pkMember) {
|
||||
return baseMapper.checkParent(topCode, pkMember);
|
||||
|
@ -3053,22 +3046,6 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
|||
return baseMapper.queryParentTeam(pkMember);
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员端直推排行 首页弹窗显示直推排行
|
||||
*
|
||||
* @param startDate 查询开始时间
|
||||
* @param endDate 查询结束时间
|
||||
* @param number 查询人数
|
||||
* @param usdPv 查询条件pv(美金)
|
||||
* @param pkCountry 所属国家
|
||||
* @param memberCode 会员编号
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<MemberDirectPushVO> getMemberDirectPush(Date startDate, Date endDate, Integer number, BigDecimal usdPv, Integer pkCountry, String memberCode) {
|
||||
return baseMapper.getMemberDirectPush(startDate, endDate, number, usdPv, pkCountry, memberCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户消费统计
|
||||
*
|
||||
|
|
|
@ -2020,51 +2020,6 @@
|
|||
where rownum = 1
|
||||
</select>
|
||||
|
||||
<select id="getMemberDirectPush" resultType="com.hzs.member.base.vo.MemberDirectPushVO">
|
||||
select d.* from (
|
||||
select
|
||||
cm.MEMBER_CODE memberCode,
|
||||
cm.MEMBER_NAME memberName,
|
||||
cm.HEAD_PATH headPath,
|
||||
cm.PAY_TIME payTime,
|
||||
a.orderAchieve orderAchieve,
|
||||
ba.AWARDS_NAME awardsName,
|
||||
bg.GRADE_NAME gradeName
|
||||
from CU_MEMBER cm
|
||||
left join bd_awards ba on ba.PK_ID = cm.PK_AWARDS
|
||||
left join BD_GRADE bg on bg.PK_ID = cm.PK_SETTLE_GRADE
|
||||
left join
|
||||
(
|
||||
select so.PK_REFERENCE, sum(so.order_achieve) orderAchieve
|
||||
from sa_order so
|
||||
inner join cu_member cm
|
||||
on cm.pk_id = so.PK_REFERENCE
|
||||
and cm.del_flag = 0
|
||||
where so.del_flag = 0
|
||||
and so.pk_country = 1
|
||||
and so.order_type in (1, 2, 24, 25)
|
||||
<if test="startDate != null">
|
||||
and so.PAY_TIME >= #{startDate}
|
||||
</if>
|
||||
<if test="endDate != null">
|
||||
and so.PAY_TIME <= #{endDate}
|
||||
</if>
|
||||
and so.order_status = 1
|
||||
group by so.PK_REFERENCE
|
||||
having sum(so.order_achieve) > #{usdPv}
|
||||
order by orderAchieve desc
|
||||
) a on a.PK_REFERENCE = cm.PK_ID
|
||||
where cm.DEL_FLAG = 0 and cm.PAY_STATUS = 1 and cm.PK_SETTLE_COUNTRY = #{pkCountry}
|
||||
and a.orderAchieve > #{usdPv}
|
||||
|
||||
<if test="memberCode != null and memberCode != ''">
|
||||
and cm.member_code=#{memberCode}
|
||||
</if>
|
||||
group by cm.MEMBER_NAME , cm.MEMBER_CODE,cm.HEAD_PATH,cm.pk_id,a.orderAchieve,ba.AWARDS_NAME,bg.GRADE_NAME,cm.PAY_TIME
|
||||
order by orderAchieve desc
|
||||
) d where rownum <= #{number}
|
||||
</select>
|
||||
|
||||
<select id="getMemberConsumptionStat" resultType="com.hzs.member.base.vo.MemberConsumptionStatVo">
|
||||
select
|
||||
cm.MEMBER_CODE memberCode,
|
||||
|
|
|
@ -1,22 +1,11 @@
|
|||
package com.hzs.system.base.controller.api;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.hzs.common.core.annotation.Log;
|
||||
import com.hzs.common.core.constant.msg.ConfigMsgConstants;
|
||||
import com.hzs.common.core.enums.EDelFlag;
|
||||
import com.hzs.common.core.enums.EOperationBusiness;
|
||||
import com.hzs.common.core.enums.EOperationMethod;
|
||||
import com.hzs.common.core.enums.EOperationModule;
|
||||
import com.hzs.common.core.utils.RandomNumberGenerator;
|
||||
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.core.web.page.TableDataInfo;
|
||||
import com.hzs.common.domain.system.base.BdStorehouse;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.system.base.service.IBdStorehouseAreaMiddleService;
|
||||
import com.hzs.system.base.service.IBdStorehouseService;
|
||||
|
@ -26,8 +15,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
|
@ -9,7 +9,6 @@ import com.hzs.common.core.constant.msg.ConfigMsgConstants;
|
|||
import com.hzs.common.core.enums.EOperationBusiness;
|
||||
import com.hzs.common.core.enums.EOperationMethod;
|
||||
import com.hzs.common.core.enums.EOperationModule;
|
||||
import com.hzs.common.core.utils.RandomNumberGenerator;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
import com.hzs.common.core.utils.poi.ExcelUtil;
|
||||
import com.hzs.common.core.web.controller.BaseController;
|
||||
|
@ -35,9 +34,6 @@ import java.util.*;
|
|||
|
||||
/**
|
||||
* 仓库配置前端控制器
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-08-02
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
|
@ -167,24 +163,12 @@ public class BdStorehouseController extends BaseController {
|
|||
|
||||
|
||||
/**
|
||||
* @description: 生成仓库编号
|
||||
* @author: zhang jing
|
||||
* @date: 2023/5/5 10:41
|
||||
* @param: []
|
||||
* @return: com.hzs.common.core.web.domain.AjaxResult
|
||||
* 生成仓库编号
|
||||
**/
|
||||
@Log(module = EOperationModule.STOREHOUSE, business = EOperationBusiness.STOREHOUSE, method = EOperationMethod.SELECT)
|
||||
@GetMapping("/getCode")
|
||||
public AjaxResult getCode() {
|
||||
LambdaQueryWrapper<BdStorehouse> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.orderByDesc(BdStorehouse::getCreationTime);
|
||||
List<BdStorehouse> storehouse = iBdStorehouseService.list(queryWrapper);
|
||||
String code = "";
|
||||
if (CollectionUtil.isNotEmpty(storehouse)) {
|
||||
code = RandomNumberGenerator.getNextNumber(storehouse.get(0).getCode(), 2);
|
||||
} else {
|
||||
code = RandomNumberGenerator.getNextNumber("ST00000001", 2);
|
||||
}
|
||||
return AjaxResult.success(code);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,81 +0,0 @@
|
|||
package com.hzs.common.core.utils;
|
||||
|
||||
|
||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Bean 生成国际编号和国家编号工具类
|
||||
*
|
||||
* @author hzs
|
||||
*/
|
||||
public class RandomNumberGenerator {
|
||||
|
||||
private static final int MIN_VALUE = 10000;
|
||||
private static final int MAX_INCREMENT = 5;
|
||||
private static final Random RANDOM = new Random();
|
||||
|
||||
public static String generate(String prefix,int count) {
|
||||
Set<String> existingNumbers = new HashSet<>();
|
||||
// 将当前最新编号添加到集合中
|
||||
existingNumbers.add(prefix + String.format("%08d", MIN_VALUE));
|
||||
// 尝试生成新的编号
|
||||
while (true) {
|
||||
String latestNumber = getLatestNumber(existingNumbers, prefix);
|
||||
String nextNumber = getNextNumber(latestNumber,count);
|
||||
if (existingNumbers.contains(nextNumber)) {
|
||||
continue;
|
||||
}
|
||||
existingNumbers.add(nextNumber);
|
||||
return nextNumber;
|
||||
}
|
||||
}
|
||||
|
||||
private static String getLatestNumber(Set<String> existingNumbers, String prefix) {
|
||||
for (int i = MIN_VALUE; i <= Integer.MAX_VALUE; i++) {
|
||||
String number = prefix + String.format("%08d", i); // 编号格式化为 8 位数字
|
||||
if (!existingNumbers.contains(number)) {
|
||||
return prefix + String.format("%08d", i - 1); // 返回上一个编号
|
||||
}
|
||||
}
|
||||
throw new RuntimeException("Failed to get the latest number.");
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 生成下一个编号
|
||||
* @author: zhang jing
|
||||
* @date: 2023/4/26 15:04
|
||||
* @param: [number]
|
||||
* @param: [count] 首字母个数
|
||||
* @return: java.lang.String
|
||||
**/
|
||||
public static String getNextNumber(String number,int count) {
|
||||
String prefix = number.substring(0, count);
|
||||
int value = Integer.parseInt(number.substring(count));
|
||||
value += RANDOM.nextInt(MAX_INCREMENT) + 1;
|
||||
return prefix + String.format("%08d", value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 生成下一个编号
|
||||
* @author: zhang jing
|
||||
* @date: 2023/4/26 15:04
|
||||
* @param: [number]
|
||||
* @return: java.lang.String
|
||||
**/
|
||||
public static String getNextNumber(Integer number) {
|
||||
int value = number + RANDOM.nextInt(MAX_INCREMENT) + 1;
|
||||
return MagicNumberConstants.GLOBAL_PREFIX + String.format("%08d", value);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String gbNum1 = RandomNumberGenerator.generate("CN",2);
|
||||
String gbNum2 = RandomNumberGenerator.getNextNumber("CNN00010002",3);
|
||||
System.out.println("==="+gbNum1);
|
||||
System.out.println("==="+gbNum2);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue