From 61a8a1b57718b83b6f8ac09e817fabf09e96fdc0 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 19 May 2025 18:01:56 +0800
Subject: [PATCH] fix(member): 修正会员累计订单统计
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 425 ++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 370 insertions(+), 55 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 217f2b4..7761620 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -1,10 +1,7 @@
package cc.mrbird.febs.mall.service.impl;
import cc.mrbird.febs.common.entity.FebsResponse;
-import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
-import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
-import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
-import cc.mrbird.febs.common.enumerates.ScoreFlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.*;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.properties.XcxProperties;
import cc.mrbird.febs.common.utils.*;
@@ -12,6 +9,7 @@
import cc.mrbird.febs.mall.conversion.MallShopApplyConversion;
import cc.mrbird.febs.mall.conversion.MallStoreConversion;
import cc.mrbird.febs.mall.dto.*;
+import cc.mrbird.febs.mall.dto.signActivity.ApiNewGiftSettingDto;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.*;
@@ -49,6 +47,7 @@
import java.io.IOException;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
@@ -88,6 +87,8 @@
private final MallStoreMapper mallStoreMapper;
private final MallStoreItemMapper mallStoreItemMapper;
private final MallStoreMemberMapper mallStoreMemberMapper;
+ private final MallDoctorMapper mallDoctorMapper;
+ private final HappyMemberLevelMapper happyMemberLevelMapper;
@Value("${spring.profiles.active}")
@@ -263,12 +264,29 @@
Long id = LoginUserUtil.getLoginUser().getId();
MallMember mallMember = this.baseMapper.selectById(id);
+
+
MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember);
+
+ HappyMemberLevel happyMemberLevel = happyMemberLevelMapper.selectOne(
+ new LambdaQueryWrapper<HappyMemberLevel>()
+ .select(HappyMemberLevel::getName)
+ .eq(HappyMemberLevel::getCode, mallMember.getDirector())
+ );
+ if(happyMemberLevel != null){
+ mallMemberVo.setLevelName(happyMemberLevel.getName());
+ mallMemberVo.setLevelNamePng(happyMemberLevel.getIconPng());
+ }
if(StrUtil.isNotEmpty(mallMember.getReferrerId())){
MallMember referMember = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId());
if (referMember != null) {
mallMemberVo.setReferrerName(referMember.getName());
}
+ }
+ if(mallMember.getStoreMaster() == 0){
+ mallMemberVo.setIsTeamLeader(2);
+ }else{
+ mallMemberVo.setIsTeamLeader(1);
}
if (StrUtil.isNotBlank(mallMember.getTradePassword())) {
@@ -301,7 +319,7 @@
mallMemberVo.setVipInfo(mallVipConfig);
mallMemberVo.setBalance(wallet.getBalance());
-// mallMemberVo.setScore(wallet.getScore());
+ mallMemberVo.setScore(wallet.getScore());
mallMemberVo.setPrizeScore(wallet.getPrizeScore());
// mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id));
return new FebsResponse().success().data(mallMemberVo);
@@ -342,6 +360,11 @@
mallMember.setTradePassword(SecureUtil.md5(forgetPwdDto.getPassword()));
this.baseMapper.updateById(mallMember);
return new FebsResponse().success().message("设置成功");
+ }
+
+ public static void main(String[] args) {
+ String pwd = SecureUtil.md5("123456");
+ System.out.println(pwd);
}
@Override
@@ -632,6 +655,7 @@
mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
mallMember.setOpenId(openId);
mallMember.setSessionKey(sessionKey);
+ mallMember.setTradePassword(SecureUtil.md5("123456"));
if (StrUtil.isNotBlank(apiXcxLoginDto.getInviteId())) {
MallMember member = this.baseMapper.selectInfoByInviteId(apiXcxLoginDto.getInviteId());
@@ -676,7 +700,17 @@
wallet.setBalance(BigDecimal.ZERO);
wallet.setMemberId(mallMember.getId());
mallMemberWalletMapper.insert(wallet);
+
+ //分销员的邀请码赠送优惠卷
+ if (StrUtil.isNotBlank(apiXcxLoginDto.getInviteId())) {
+ GetCouponDto getCouponDto = new GetCouponDto();
+ getCouponDto.setInviteId(apiXcxLoginDto.getInviteId());
+ scanCoupon(getCouponDto);
+ }
} else {
+ if (MallMember.ACCOUNT_STATUS_DISABLED.equals(mallMember.getAccountStatus())) {
+ throw new FebsException("账号已停用");
+ }
mallMember.setSessionKey(sessionKey);
this.baseMapper.updateById(mallMember);
}
@@ -740,6 +774,47 @@
mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男");
this.baseMapper.updateById(mallMember);
+
+ //完善信息赠送新人礼
+ if (StrUtil.isNotBlank(mallMember.getPhone())) {
+ DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ CommonDictionaryEnum.NEW_GIFT_SETTING.getType(),
+ CommonDictionaryEnum.NEW_GIFT_SETTING.getCode()
+ );
+ ApiNewGiftSettingDto apiNewGiftSettingDto = JSONObject.parseObject(dic.getValue(), ApiNewGiftSettingDto.class);
+ if (apiNewGiftSettingDto.getState() == 1) {
+ String prizeScore = apiNewGiftSettingDto.getPrizeScore();
+ BigDecimal bigDecimal = new BigDecimal(prizeScore).setScale(0, RoundingMode.HALF_DOWN);
+ if (bigDecimal.compareTo(BigDecimal.ZERO) > 0) {
+ walletService.add(bigDecimal, mallMember.getId(), "prizeScore");
+ mallMoneyFlowService.addMoneyFlow(
+ mallMember.getId(),
+ bigDecimal,
+ ScoreFlowTypeEnum.MEMBER_INFO_GIFT.getValue(),
+ MallUtils.getOrderNum(),
+ FlowTypeEnum.PRIZE_SCORE.getValue(),
+ StrUtil.format(ScoreFlowTypeEnum.MEMBER_INFO_GIFT.getDesc(),bigDecimal),
+ 2
+ );
+ }
+ if (apiNewGiftSettingDto.getCouponId() != null) {
+ MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(apiNewGiftSettingDto.getCouponId());
+ if(ObjectUtil.isNotEmpty(mallGoodsCoupon)){
+ MallMemberCoupon memberCoupon = new MallMemberCoupon();
+ memberCoupon.setCouponId(mallGoodsCoupon.getId());
+ memberCoupon.setCouponName(mallGoodsCoupon.getName());
+ memberCoupon.setInviteId(mallMember.getInviteId());
+ memberCoupon.setCouponUuid(IdUtil.simpleUUID());
+ memberCoupon.setState(1);
+ memberCoupon.setFromType(3);
+ memberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(), mallGoodsCoupon.getExpireDay()));
+ memberCoupon.setMemberId(mallMember.getId());
+ mallMemberCouponMapper.insert(memberCoupon);
+ }
+ }
+
+ }
+ }
return new FebsResponse().success();
}
@@ -857,10 +932,12 @@
mallMoneyFlowService.addMoneyFlow(
memberId,
amount,
- MoneyFlowTypeEnum.RECHARGE.getValue(),
+ ScoreFlowTypeEnum.RECHARGE_ING.getValue(),
rechargeNo,
FlowTypeEnum.BALANCE.getValue(),
- "余额充值",1);
+ StrUtil.format(ScoreFlowTypeEnum.RECHARGE_ING.getDesc(),amount),
+ 1
+ );
String wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData);
String payResultStr = brandWCPayRequestData.getPrepay_id();
@@ -1096,10 +1173,12 @@
MallMember member = this.baseMapper.selectById(loginUser.getId());
- MallMember mallMember = new MallMember();
- mallMember.setId(member.getId());
- mallMember.setLastLoginTime(new Date());
- this.baseMapper.updateById(mallMember);
+// MallMember mallMember = new MallMember();
+// mallMember.setId(member.getId());
+// mallMember.setLastLoginTime(new Date());
+// this.baseMapper.updateById(mallMember);
+
+ this.baseMapper.updateLastLoginTime(member.getId(),new Date());
DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.UNALIVE_COUPON.getType(), DataDictionaryEnum.UNALIVE_COUPON.getCode());
if (dic == null || StrUtil.isBlank(dic.getValue())) {
@@ -1176,9 +1255,14 @@
@Override
public FebsResponse storeItemList(MallStoreItemDto mallStoreItemDto) {
- QueryWrapper<MallStoreItem> mallStoreQueryWrapper = new QueryWrapper<>();
- mallStoreQueryWrapper.like("store_id",mallStoreItemDto.getStoreId());
- List<MallStoreItem> mallStores = mallStoreItemMapper.selectList(mallStoreQueryWrapper);
+// QueryWrapper<MallStoreItem> mallStoreQueryWrapper = new QueryWrapper<>();
+// mallStoreQueryWrapper.like("store_id",mallStoreItemDto.getStoreId());
+// List<MallStoreItem> mallStores = mallStoreItemMapper.selectList(mallStoreQueryWrapper);
+
+ List<MallStoreItem> mallStores = mallStoreItemMapper.selectList(
+ new LambdaQueryWrapper<MallStoreItem>()
+ .eq(MallStoreItem::getStoreId, mallStoreItemDto.getStoreId())
+ );
return new FebsResponse().success().data(mallStores);
}
@@ -1232,28 +1316,39 @@
String sign = MD5.MD5Encode(stringBuffer.toString());
objectObjectHashMap.put("sign",sign);
String url = "https://data.muchun.co/api/bindCustomer";
+
+ log.info("请求参数"+objectObjectHashMap);
String result = HttpCurlUtil.sendPost(url, objectObjectHashMap);
+ log.info("绑定用户"+result);
Integer retCode = JSONUtil.parseObj(result).getInt("retCode");
String message = JSONUtil.parseObj(result).getStr("message");
if(0 != retCode || !"绑定成功".equals(message)){
return new FebsResponse().fail().message(message);
}
+
Long bindId = JSONUtil.parseObj(result).getJSONObject("data").getLong("userId");
+ List<MallStoreMember> mallStoreMembers1 = mallStoreMemberMapper.selectList(
+ new LambdaQueryWrapper<MallStoreMember>()
+ .eq(MallStoreMember::getMemberId, memberId)
+ .eq(MallStoreMember::getStoreItemId, mallStoreItem.getId())
+ .eq(MallStoreMember::getBindId, bindId)
+ );
+ if(CollUtil.isEmpty(mallStoreMembers1)){
+ MallStoreMember mallStoreMember = new MallStoreMember();
+ mallStoreMember.setMemberId(memberId);
+ mallStoreMember.setBindId(bindId);
+ mallStoreMember.setStoreId(mallStoreItem.getStoreId());
+ mallStoreMember.setStoreItemId(mallStoreItem.getId());
- MallStoreMember mallStoreMember = new MallStoreMember();
- mallStoreMember.setMemberId(memberId);
- mallStoreMember.setBindId(bindId);
- mallStoreMember.setStoreId(mallStoreItem.getStoreId());
- mallStoreMember.setStoreItemId(mallStoreItem.getId());
+ mallStoreMember.setAccount(shopAccount);
+ mallStoreMember.setPassword(shopPwd);
- mallStoreMember.setAccount(shopAccount);
- mallStoreMember.setPassword(shopPwd);
-
- mallStoreMember.setName(name);
- mallStoreMember.setAddress(address);
- mallStoreMember.setAge(age);
- mallStoreMember.setPhone(phoneNumber);
- mallStoreMemberMapper.insert(mallStoreMember);
+ mallStoreMember.setName(name);
+ mallStoreMember.setAddress(address);
+ mallStoreMember.setAge(age);
+ mallStoreMember.setPhone(phoneNumber);
+ mallStoreMemberMapper.insert(mallStoreMember);
+ }
return new FebsResponse().success().message("绑定成功");
}
@@ -1311,39 +1406,259 @@
return new FebsResponse().success().data(data);
}
- public static void main(String[] args) {
- Long userld = 16425L;
- String shopAccount = "爱和美医疗";
- String shopPwd = "blnka2005";
+ /**
+ * 绑定医生接口的实现方法
+ *
+ * @param dto 包含绑定医生所需信息的数据传输对象
+ * @return 返回操作结果的响应对象
+ * @throws FebsException 如果绑定操作失败,抛出此异常
+ */
+ @Override
+ public FebsResponse bindDoctor(ApiDoctorBindDto dto) {
- HashMap<String, String> objectObjectHashMap = new HashMap<>();
+ // 获取当前登录用户的ID
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ log.info("开始绑定医生{}",memberId);
+ // 从DTO中提取邀请ID和门店会员ID
+ String inviteId = dto.getInviteId();
+ Long storeMemberId = dto.getStoreMemberId();
- objectObjectHashMap.put("shopAccount",shopAccount);
- objectObjectHashMap.put("shopPwd",shopPwd);
- objectObjectHashMap.put("userId",userld.toString());
-
- //sign= MD5(shopAccount+shopPwd+userId)
- StringBuffer stringBuffer = new StringBuffer();
- stringBuffer.append(shopAccount);
- stringBuffer.append(shopPwd);
- stringBuffer.append(userld);
- String sign = MD5.MD5Encode(stringBuffer.toString());
- objectObjectHashMap.put("sign",sign);
-
- System.out.println(sign);
-
- System.out.println(objectObjectHashMap);
- String url = "https://data.muchun.co/api/getCustomerCheckRecords";
- String result = HttpCurlUtil.sendPost(url, objectObjectHashMap);
- Integer retCode = JSONUtil.parseObj(result).getInt("retCode");
- String message = JSONUtil.parseObj(result).getStr("message");
- if(0 != retCode){
- System.out.println(message);
+ // 根据门店会员ID查询门店会员信息
+ MallStoreMember mallStoreMember = mallStoreMemberMapper.selectOne(
+ new LambdaQueryWrapper<MallStoreMember>()
+ .eq(MallStoreMember::getId,storeMemberId)
+ .eq(MallStoreMember::getMemberId,memberId)
+ );
+ // 如果门店会员信息为空,抛出异常
+ if(null == mallStoreMember){
+ throw new FebsException("当前检测记录无法绑定!");
}
- JSONArray data = JSONUtil.parseObj(result).getJSONArray("data");
- System.out.println(data);
+ // 根据邀请ID查询会员信息
+ MallMember mallMember = this.baseMapper.selectInfoByInviteId(inviteId);
+ // 如果会员的医生状态不是1,抛出异常
+ if(1 != mallMember.getDoctorState()){
+ throw new FebsException("无法绑定!");
+ }
+
+ // 查询与当前门店会员ID关联的医生列表
+ List<MallDoctor> mallDoctors = mallDoctorMapper.selectList(
+ new LambdaQueryWrapper<MallDoctor>()
+ .eq(MallDoctor::getStoreMemberId, mallStoreMember.getId())
+ .eq(MallDoctor::getMemberId, mallMember.getId())
+ );
+ // 如果医生列表为空,创建新的医生对象并设置相关信息,然后插入数据库
+ if(CollUtil.isEmpty(mallDoctors)){
+ MallDoctor mallDoctor = new MallDoctor();
+ mallDoctor.setMemberId(mallMember.getId());
+ mallDoctor.setStoreMemberId(mallStoreMember.getId());
+ mallDoctor.setBindMemberId(mallStoreMember.getMemberId());
+ mallDoctor.setBindPhone(mallStoreMember.getPhone());
+ mallDoctor.setBindName(mallStoreMember.getName());
+ mallDoctor.setBindAge(mallStoreMember.getAge());
+
+ Long storeId = mallStoreMember.getStoreId();
+ Long storeItemId = mallStoreMember.getStoreItemId();
+ MallStore mallStore = mallStoreMapper.selectById(storeId);
+ MallStoreItem mallStoreItem = mallStoreItemMapper.selectById(storeItemId);
+ mallDoctor.setBindInfo(mallStore.getName()+"-"+mallStoreItem.getCode());
+ mallDoctorMapper.insert(mallDoctor);
+ }
+
+ // 返回操作成功的响应
+ return new FebsResponse().success().message("操作成功");
}
+ /**
+ * 获取医生列表接口的实现
+ * 根据登录用户信息和查询条件,返回相应的医生列表
+ *
+ * @param dto 包含查询条件的数据传输对象
+ * @return 返回包含医生列表的响应对象
+ */
+ @Override
+ public FebsResponse doctorList(ApiDoctorListDto dto) {
+ // 获取当前登录用户的ID
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ // 初始化用于存储医生信息的集合
+ ArrayList<ApiDoctorListVo> apiDoctorListVos = new ArrayList<>();
+
+ // 创建查询条件包装器
+ LambdaQueryWrapper<MallDoctor> objectQueryWrapper = new LambdaQueryWrapper<>();
+ // 根据传入的手机号进行模糊查询
+ if(StrUtil.isNotEmpty(dto.getPhone())){
+ objectQueryWrapper.like(MallDoctor::getBindPhone,dto.getPhone());
+ }
+ // 根据会员ID进行精确查询
+ objectQueryWrapper.eq(MallDoctor::getMemberId,memberId);
+ // 按创建时间降序排序
+ objectQueryWrapper.orderByDesc(MallDoctor::getCreatedTime);
+
+ // 执行查询,获取医生列表
+ List<MallDoctor> mallDoctors = mallDoctorMapper.selectList(objectQueryWrapper);
+ // 如果查询结果不为空,则遍历查询结果,封装医生信息
+ if(CollUtil.isNotEmpty(mallDoctors)){
+ for(MallDoctor mallDoctor : mallDoctors){
+ ApiDoctorListVo apiDoctorListVo = new ApiDoctorListVo();
+ apiDoctorListVo.setId(mallDoctor.getId());
+ apiDoctorListVo.setStoreMemberId(mallDoctor.getStoreMemberId());
+ apiDoctorListVo.setName(mallDoctor.getBindName());
+ apiDoctorListVo.setPhone(mallDoctor.getBindPhone());
+ apiDoctorListVo.setBindAge(mallDoctor.getBindAge());
+ apiDoctorListVo.setBindInfo(mallDoctor.getBindInfo());
+ apiDoctorListVo.setCreatedTime(mallDoctor.getCreatedTime());
+ // 将封装好的医生信息添加到集合中
+ apiDoctorListVos.add(apiDoctorListVo);
+ }
+ }
+ // 返回包含医生列表的响应对象
+ return new FebsResponse().success().data(apiDoctorListVos);
+ }
+
+ @Override
+ public FebsResponse authList() {
+ // 获取当前登录用户的ID
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ // 初始化用于存储医生信息的集合
+ ArrayList<ApiDoctorListVo> apiDoctorListVos = new ArrayList<>();
+ // 创建查询条件包装器
+ LambdaQueryWrapper<MallDoctor> objectQueryWrapper = new LambdaQueryWrapper<>();
+ // 根据会员ID进行精确查询
+ objectQueryWrapper.eq(MallDoctor::getBindMemberId,memberId);
+ // 按创建时间降序排序
+ objectQueryWrapper.orderByDesc(MallDoctor::getCreatedTime);
+ // 执行查询,获取医生列表
+ List<MallDoctor> mallDoctors = mallDoctorMapper.selectList(objectQueryWrapper);
+ // 如果查询结果不为空,则遍历查询结果,封装医生信息
+ if(CollUtil.isNotEmpty(mallDoctors)){
+ for(MallDoctor mallDoctor : mallDoctors){
+ ApiDoctorListVo apiDoctorListVo = new ApiDoctorListVo();
+ apiDoctorListVo.setId(mallDoctor.getId());
+ apiDoctorListVo.setStoreMemberId(mallDoctor.getStoreMemberId());
+ MallMember mallMember = this.baseMapper.selectById(mallDoctor.getMemberId());
+ apiDoctorListVo.setName(mallMember.getName());
+ apiDoctorListVo.setPhone(mallDoctor.getBindPhone());
+ apiDoctorListVo.setBindAge(mallDoctor.getBindAge());
+ apiDoctorListVo.setBindInfo(mallDoctor.getBindInfo());
+ apiDoctorListVo.setCreatedTime(mallDoctor.getCreatedTime());
+ // 将封装好的医生信息添加到集合中
+ apiDoctorListVos.add(apiDoctorListVo);
+ }
+ }
+ // 返回包含医生列表的响应对象
+ return new FebsResponse().success().data(apiDoctorListVos);
+ }
+
+ @Override
+ public FebsResponse authDel(ApiDoctorAuthDeleteDto dto) {
+ // 获取当前登录用户的ID
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+
+ MallDoctor mallDoctor = mallDoctorMapper.selectById(dto.getId());
+ if(!memberId.equals(mallDoctor.getBindMemberId())){
+ throw new FebsException("当前授权无法删除!");
+ }
+ mallDoctorMapper.deleteById(dto.getId());
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
+ public FebsResponse flowList(ApiMoneyFlowDto dto) {
+ Long id = LoginUserUtil.getLoginUser().getId();
+ IPage<ApiMoneyFlowVo> page = new Page<>(dto.getPageNum(), dto.getPageSize());
+ dto.setMemberId(id);
+ IPage<ApiMoneyFlowVo> pages = mallMoneyFlowMapper.selectFlowInPage(page, dto);
+ return new FebsResponse().success().data(pages);
+ }
+
+ @Override
+ public FebsResponse flowHeader() {
+ // 获取当前登录用户的ID
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ ApiMoneyFlowHeaderVo apiMoneyFlowHeaderVo = new ApiMoneyFlowHeaderVo();
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ apiMoneyFlowHeaderVo.setBalance(mallMemberWallet.getBalance());
+ apiMoneyFlowHeaderVo.setPrizeScore(mallMemberWallet.getPrizeScore());
+ return new FebsResponse().success().data(apiMoneyFlowHeaderVo);
+ }
+
+ @Override
+ public FebsResponse newGiftEvent() {
+ // 获取当前登录用户的ID
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+
+ ApiMemberNewGiftSettingVo apiMemberNewGiftSettingVo = new ApiMemberNewGiftSettingVo();
+
+ MallMember mallMember = this.baseMapper.selectById(memberId);
+ Date lastLoginTime = mallMember.getLastLoginTime();
+ if(lastLoginTime == null){
+ apiMemberNewGiftSettingVo.setOpenState(1);
+ }
+ if(lastLoginTime != null){
+ Date now = new Date();
+ long between = DateUtil.between(lastLoginTime, now, DateUnit.DAY);
+ if(between > 0){
+ apiMemberNewGiftSettingVo.setOpenState(1);
+ }else{
+ apiMemberNewGiftSettingVo.setOpenState(0);
+ }
+ }
+
+ DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ CommonDictionaryEnum.NEW_GIFT_SETTING.getType(),
+ CommonDictionaryEnum.NEW_GIFT_SETTING.getCode()
+ );
+ ApiNewGiftSettingDto apiNewGiftSettingDto = JSONObject.parseObject(dic.getValue(), ApiNewGiftSettingDto.class);
+ apiMemberNewGiftSettingVo.setState(apiNewGiftSettingDto.getState());
+ apiMemberNewGiftSettingVo.setPrizeScore(apiNewGiftSettingDto.getPrizeScore());
+
+
+ LambdaQueryWrapper<MallGoodsCoupon> query = new LambdaQueryWrapper<>();
+ query.eq(MallGoodsCoupon::getId, apiNewGiftSettingDto.getCouponId())
+ .eq(MallGoodsCoupon::getState, 2);
+ List<MallGoodsCoupon> coupons = mallGoodsCouponMapper.selectList(query);
+ if(CollUtil.isNotEmpty(coupons)){
+ apiMemberNewGiftSettingVo.setCouponName(coupons.get(0).getName());
+ }
+
+ this.baseMapper.updateLastLoginTime(memberId,new Date());
+
+ return new FebsResponse().success().data(apiMemberNewGiftSettingVo);
+ }
+
+// public static void main(String[] args) {
+// Long userld = 16425L;
+// String shopAccount = "爱和美医疗";
+// String shopPwd = "blnka2005";
+//
+// HashMap<String, String> objectObjectHashMap = new HashMap<>();
+//
+// objectObjectHashMap.put("shopAccount",shopAccount);
+// objectObjectHashMap.put("shopPwd",shopPwd);
+// objectObjectHashMap.put("userId",userld.toString());
+//
+// //sign= MD5(shopAccount+shopPwd+userId)
+// StringBuffer stringBuffer = new StringBuffer();
+// stringBuffer.append(shopAccount);
+// stringBuffer.append(shopPwd);
+// stringBuffer.append(userld);
+// String sign = MD5.MD5Encode(stringBuffer.toString());
+// objectObjectHashMap.put("sign",sign);
+//
+// System.out.println(sign);
+//
+// System.out.println(objectObjectHashMap);
+// String url = "https://data.muchun.co/api/getCustomerCheckRecords";
+// String result = HttpCurlUtil.sendPost(url, objectObjectHashMap);
+// Integer retCode = JSONUtil.parseObj(result).getInt("retCode");
+// String message = JSONUtil.parseObj(result).getStr("message");
+// if(0 != retCode){
+// System.out.println(message);
+// }
+//
+// JSONArray data = JSONUtil.parseObj(result).getJSONArray("data");
+// System.out.println(data);
+// }
+
}
--
Gitblit v1.9.1