|
|
@ -46,6 +46,8 @@ import org.jeecg.modules.commonOrderSku.entity.CommonOrderSku; |
|
|
|
import org.jeecg.modules.commonOrderSku.service.ICommonOrderSkuService; |
|
|
|
import org.jeecg.modules.commonShop.entity.CommonShop; |
|
|
|
import org.jeecg.modules.commonShop.service.ICommonShopService; |
|
|
|
import org.jeecg.modules.commonVipConfig.entity.CommonVipConfig; |
|
|
|
import org.jeecg.modules.commonVipConfig.service.ICommonVipConfigService; |
|
|
|
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; |
|
|
|
import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; |
|
|
|
import org.jeecg.modules.pay.MpWxPayService; |
|
|
@ -110,6 +112,8 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
private IHanHaiMemberService hanHaiMemberService; |
|
|
|
@Resource |
|
|
|
private IRiceNewsService riceNewsService; |
|
|
|
@Resource |
|
|
|
private ICommonVipConfigService commonVipConfigService; |
|
|
|
//权限配置 |
|
|
|
@Resource |
|
|
|
private ShiroRealm shiroRealm; |
|
|
@ -163,7 +167,9 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
public Result<?> getRiceCommonProductList(){ |
|
|
|
List<CommonShop> list = commonShopService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(CommonShop::getType,1) |
|
|
|
.eq(CommonShop::getType,2) |
|
|
|
.eq(CommonShop::getIndexNo,"Y") |
|
|
|
.orderByDesc(CommonShop::getCreateTime) |
|
|
|
.list(); |
|
|
|
return Result.OK(list); |
|
|
|
} |
|
|
@ -242,7 +248,7 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
return Result.error("非首页订单"); |
|
|
|
} |
|
|
|
|
|
|
|
//根据配置列表查询每人限制数量 |
|
|
|
//根据配置列表查询每人限制数量 |
|
|
|
CommonConfig commonConfig = commonConfigService.lambdaQuery() |
|
|
|
.eq(CommonConfig::getKeyName,"pay_num") |
|
|
|
.one(); |
|
|
@ -258,7 +264,10 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
.eq(CommonOrder::getState,1) |
|
|
|
.list(); |
|
|
|
if (byUserIdAndShopId.size()+1>payNum){ |
|
|
|
return Result.error("已超过体验商品购买次数限制!请勿重复购买"); |
|
|
|
Result result = new Result(); |
|
|
|
result.setMessage("已超过体验商品购买次数限制!请勿重复购买"); |
|
|
|
result.setCode(901); |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
//查询用户是否存在该订单 |
|
|
@ -269,7 +278,10 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
.eq(CommonOrder::getState,0) |
|
|
|
.list(); |
|
|
|
if (payNumList.size()>1){ |
|
|
|
return Result.error("您有相同订单未付款!请先付款"); |
|
|
|
Result result = new Result(); |
|
|
|
result.setMessage("您有相同订单未付款!请先付款"); |
|
|
|
result.setCode(901); |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -281,7 +293,7 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
//老的订单数据复制给新创建的订单对象 |
|
|
|
CommonOrder commonOrder1 = new CommonOrder(); |
|
|
|
commonOrder1.setId(newOrderId); |
|
|
|
commonOrder1.setShopState(commonOrder.getShopState()); |
|
|
|
commonOrder1.setShopState(0); |
|
|
|
commonOrder1.setUserId(hanHaiMember.getId()); |
|
|
|
commonOrder1.setTitle(commonOrder.getTitle()); |
|
|
|
commonOrder1.setImage(commonOrder.getImage()); |
|
|
@ -292,6 +304,7 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
commonOrder1.setAddressId(commonOrder.getAddressId()); |
|
|
|
commonOrder1.setAddressDetails(commonOrder.getAddressDetails()); |
|
|
|
commonOrder1.setAddress(commonOrder.getAddress()); |
|
|
|
commonOrder1.setState(0); |
|
|
|
commonOrder1.setName(commonOrder.getName()); |
|
|
|
commonOrder1.setPhone(commonOrder.getPhone()); |
|
|
|
commonOrder1.setSku(commonOrder.getSku()); |
|
|
@ -346,10 +359,10 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
|
|
|
|
//创建订单 |
|
|
|
@Override |
|
|
|
public Result<?> createOrder(String token,String productId,Integer num,String addressId) { |
|
|
|
public Result<?> createOrder(String token,String shopId,Integer num,String addressId) { |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
//商品标识不能为空 |
|
|
|
if (productId==null){ |
|
|
|
if (shopId==null){ |
|
|
|
return Result.error("商品标识不能为空"); |
|
|
|
} |
|
|
|
//数量不能为空 |
|
|
@ -357,7 +370,7 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
return Result.error("数量不能为空"); |
|
|
|
} |
|
|
|
//查询商品信息 |
|
|
|
CommonShop commonShop = commonShopService.getById(productId); |
|
|
|
CommonShop commonShop = commonShopService.getById(shopId); |
|
|
|
//商品不能为空 |
|
|
|
if (commonShop==null){ |
|
|
|
return Result.error("商品不存在"); |
|
|
@ -384,23 +397,29 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
//查询用户是否存在该订单 |
|
|
|
List<CommonOrder> byUserIdAndShopId = commonOrderService.lambdaQuery() |
|
|
|
.eq(CommonOrder::getUserId,hanHaiMember.getId()) |
|
|
|
.eq(CommonOrder::getShopId,productId) |
|
|
|
.eq(CommonOrder::getShopId,shopId) |
|
|
|
.eq(CommonOrder::getShopState,0) |
|
|
|
.eq(CommonOrder::getState,1) |
|
|
|
.list(); |
|
|
|
if (byUserIdAndShopId.size()+1>payNum){ |
|
|
|
return Result.error("已超过体验商品购买次数限制!请勿重复购买"); |
|
|
|
Result result = new Result(); |
|
|
|
result.setMessage("已超过体验商品购买次数限制!请勿重复购买"); |
|
|
|
result.setCode(901); |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
//查询用户是否存在该订单 |
|
|
|
List<CommonOrder> payNumList = commonOrderService.lambdaQuery() |
|
|
|
.eq(CommonOrder::getUserId,hanHaiMember.getId()) |
|
|
|
.eq(CommonOrder::getShopId,productId) |
|
|
|
.eq(CommonOrder::getShopId,shopId) |
|
|
|
.eq(CommonOrder::getShopState,0) |
|
|
|
.eq(CommonOrder::getState,0) |
|
|
|
.list(); |
|
|
|
if (payNumList.size()>0){ |
|
|
|
return Result.error("您有相同订单未付款!请先付款"); |
|
|
|
Result result = new Result(); |
|
|
|
result.setMessage("已超过体验商品购买次数限制!请勿重复购买"); |
|
|
|
result.setCode(901); |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -534,6 +553,7 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
cityOrder.setAddressDetails(commonAddress.getAddressDetails()); |
|
|
|
cityOrder.setAddressId(addressId); |
|
|
|
cityOrder.setName("店铺订单"); |
|
|
|
cityOrder.setTitle("组合订单"); |
|
|
|
cityOrder.setPrice(totalPrice); |
|
|
|
cityOrder.setShopState(2); |
|
|
|
|
|
|
@ -547,7 +567,7 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
String s = totalPrice.multiply(new BigDecimal(100)).toString(); |
|
|
|
int i1 = Double.valueOf(s).intValue(); |
|
|
|
Object appOrder = mpWxPayService.createOrder( |
|
|
|
"购买"+ "店铺订单" , |
|
|
|
"购买"+ "组合订单" , |
|
|
|
"127.0.0.1", |
|
|
|
orderId, |
|
|
|
i1, |
|
|
@ -613,6 +633,7 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
cityOrder.setAddressDetails(oldOrder.getAddressDetails()); |
|
|
|
cityOrder.setAddressId(addressId); |
|
|
|
cityOrder.setName("店铺订单"); |
|
|
|
cityOrder.setTitle("组合订单"); |
|
|
|
|
|
|
|
cityOrder.setPrice(oldOrder.getPrice()); |
|
|
|
|
|
|
@ -630,7 +651,7 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
String s = oldOrder.getPrice().multiply(new BigDecimal(100)).toString(); |
|
|
|
int i1 = Double.valueOf(s).intValue(); |
|
|
|
Object appOrder = mpWxPayService.createOrder( |
|
|
|
"购买"+ "店铺订单" , |
|
|
|
"购买"+ "组合订单" , |
|
|
|
"127.0.0.1", |
|
|
|
orderId, |
|
|
|
i1, |
|
|
@ -654,23 +675,57 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
//如果订单存在则修改订单状态 |
|
|
|
if (commonOrder!=null){ |
|
|
|
if(commonOrder.getState()==0){ |
|
|
|
//修改订单状态 |
|
|
|
if(commonOrder.getShopState()==0){ |
|
|
|
commonOrder.setState(1); |
|
|
|
commonOrderService.updateById(commonOrder); |
|
|
|
} |
|
|
|
|
|
|
|
if(commonOrder.getShopState()==1){ |
|
|
|
commonOrder.setState(1); |
|
|
|
commonOrderService.updateById(commonOrder); |
|
|
|
} |
|
|
|
//查询购买订单的用户信息 |
|
|
|
HanHaiMember hanHaiMember = hanHaiMemberService.getById(commonOrder.getUserId()); |
|
|
|
boolean flag = false; |
|
|
|
//如果这个订单是普通订单 |
|
|
|
if (commonOrder.getShopState()==2){ |
|
|
|
//获得这个订单的总价 |
|
|
|
BigDecimal price = commonOrder.getPrice(); |
|
|
|
|
|
|
|
|
|
|
|
//根据配置查询比例 |
|
|
|
CommonConfig config = commonConfigService.lambdaQuery() |
|
|
|
.eq(CommonConfig::getKeyName,"vip_money") |
|
|
|
.one(); |
|
|
|
|
|
|
|
//如果总价超过1000元则修改用户为会员 |
|
|
|
if (price.compareTo(new BigDecimal(config.getKeyContent())) > -1){ |
|
|
|
|
|
|
|
//查看这个用户是否有邀请者,如果有则进入返点 |
|
|
|
//邀请者不能是会员 |
|
|
|
if (hanHaiMember.getIsPay()==0){ |
|
|
|
if (StringUtils.isNotBlank(hanHaiMember.getShareId())){ |
|
|
|
//查询邀请者信息 //修改订单状态在方法内 |
|
|
|
flag = this.getMoneyToUser(commonOrder.getId(), flag); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//设置成为会员 |
|
|
|
hanHaiMember.setIsPay(1); |
|
|
|
} |
|
|
|
//推荐奖励 |
|
|
|
this.toUserPrice(commonOrder.getId(),flag); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
commonOrder.setState(1); |
|
|
|
commonOrderService.updateById(commonOrder); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//如果这个订单是普通订单 |
|
|
|
if (commonOrder.getShopState()==2){ |
|
|
|
//获得这个订单的总价 |
|
|
|
BigDecimal price = commonOrder.getPrice(); |
|
|
|
//如果总价超过1000元则修改用户为会员 |
|
|
|
if (price.compareTo(new BigDecimal(0.01))==1){ |
|
|
|
//查询购买订单的用户信息 |
|
|
|
HanHaiMember hanHaiMember = hanHaiMemberService.getById(commonOrder.getUserId()); |
|
|
|
hanHaiMember.setIsPay(1); |
|
|
|
hanHaiMemberService.updateById(hanHaiMember); |
|
|
|
} |
|
|
|
hanHaiMemberService.updateById(hanHaiMember); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return null; |
|
|
@ -685,24 +740,46 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
if (commonShop==null){ |
|
|
|
return Result.error("商品不存在"); |
|
|
|
} |
|
|
|
CommonCat commonCat = new CommonCat(); |
|
|
|
commonCat.setTitle(commonShop.getTitle()); |
|
|
|
commonCat.setShopId(commonShop.getId()); |
|
|
|
commonCat.setImage(commonShop.getImage()); |
|
|
|
commonCat.setSku(commonShop.getSku()); |
|
|
|
commonCat.setPrice(commonShop.getPrice()); |
|
|
|
commonCat.setUserId(hanHaiMember.getId()); |
|
|
|
commonCat.setNum(num); |
|
|
|
commonCat.setCreateTime(new Date()); |
|
|
|
commonCatService.save(commonCat); |
|
|
|
return Result.OK("加入成功"); |
|
|
|
//根据商品标识查询购物车是否存在该商品 |
|
|
|
CommonCat commonCart = commonCatService.lambdaQuery() |
|
|
|
.eq(CommonCat::getUserId,hanHaiMember.getId()) |
|
|
|
.eq(CommonCat::getShopId,shopId) |
|
|
|
.one(); |
|
|
|
//如果有则修改数量 |
|
|
|
if (commonCart!=null){ |
|
|
|
commonCart.setNum(commonCart.getNum()+num); |
|
|
|
commonCatService.updateById(commonCart); |
|
|
|
return Result.OK("修改成功"); |
|
|
|
}else{ |
|
|
|
CommonCat commonCat = new CommonCat(); |
|
|
|
commonCat.setTitle(commonShop.getTitle()); |
|
|
|
commonCat.setShopId(commonShop.getId()); |
|
|
|
commonCat.setImage(commonShop.getImage()); |
|
|
|
commonCat.setSku(commonShop.getSku()); |
|
|
|
commonCat.setPrice(commonShop.getPrice()); |
|
|
|
commonCat.setUserId(hanHaiMember.getId()); |
|
|
|
commonCat.setNum(num); |
|
|
|
commonCat.setCreateTime(new Date()); |
|
|
|
commonCatService.save(commonCat); |
|
|
|
return Result.OK("加入成功"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//删除购物车信息 |
|
|
|
@Override |
|
|
|
public Result<?> deleteCart(String token,String id){ |
|
|
|
public Result<?> deleteCart(String token,String ids){ |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
commonCatService.removeById(id); |
|
|
|
//删除多个购物车数据 |
|
|
|
String[] split = ids.split(","); |
|
|
|
//如果没有,则直接删除 |
|
|
|
if (split.length==1){ |
|
|
|
commonCatService.removeById(split[0]); |
|
|
|
return Result.OK("删除成功"); |
|
|
|
} |
|
|
|
//如果有则循环删除 |
|
|
|
for (String id : split) { |
|
|
|
commonCatService.removeById(id); |
|
|
|
} |
|
|
|
return Result.OK("删除成功"); |
|
|
|
} |
|
|
|
|
|
|
@ -1110,15 +1187,16 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
//查询个人信息相关 |
|
|
|
@Override |
|
|
|
public Result<?> getRiceInfo(String token){ |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
Map map = new HashMap(); |
|
|
|
//余额、可提现、收益明细 |
|
|
|
map.put("balance",10); |
|
|
|
map.put("canWithdraw",20); |
|
|
|
map.put("income",30); |
|
|
|
map.put("balance",hanHaiMember.getPrice()); |
|
|
|
map.put("canWithdraw",hanHaiMember.getMoney()); |
|
|
|
map.put("income",0); |
|
|
|
//黄金会员 |
|
|
|
map.put("goldenMember",0); |
|
|
|
//当前会员人数 |
|
|
|
map.put("memberNum",10); |
|
|
|
map.put("memberNum",hanHaiMemberService.lambdaQuery().eq(HanHaiMember::getIsPay,1).list().size()); |
|
|
|
return Result.OK(map); |
|
|
|
} |
|
|
|
|
|
|
@ -1141,9 +1219,300 @@ public class ApiRiceServiceImpl implements ApiRiceService { |
|
|
|
public Result<?> withdraw(String token,BigDecimal money){ |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
//查询当前用户余额 |
|
|
|
CommonMoney commonMoney = commonMoneyService.lambdaQuery() |
|
|
|
.eq(CommonMoney::getUserId,hanHaiMember.getId()) |
|
|
|
BigDecimal userPrice = hanHaiMember.getMoney(); |
|
|
|
//提现金额不能大于用户额度 |
|
|
|
if (userPrice.compareTo(money) == -1){ |
|
|
|
//余额不足 |
|
|
|
return Result.error("余额不足"); |
|
|
|
} |
|
|
|
//创建支付流水 |
|
|
|
CommonMoneyLog commonMoneyLog = new CommonMoneyLog(); |
|
|
|
commonMoneyLog.setTitle("用户提现"); |
|
|
|
commonMoneyLog.setMoney(money); |
|
|
|
commonMoneyLog.setOldMoney(userPrice); |
|
|
|
commonMoneyLog.setType(1); |
|
|
|
commonMoneyLog.setState(0); |
|
|
|
commonMoneyLog.setUserId(hanHaiMember.getId()); |
|
|
|
commonMoneyLogService.save(commonMoneyLog); |
|
|
|
|
|
|
|
hanHaiMember.setMoney(userPrice.subtract(money)); |
|
|
|
hanHaiMemberService.updateById(hanHaiMember); |
|
|
|
return Result.OK("提现申请成功,等待审核!"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//这里执行的方法是:会员推荐用户购买会员 |
|
|
|
//会员推荐朋友购买会员第一个返10%、第二个返20%、第三个返30%、第四个返40%,四四循环 |
|
|
|
public boolean getMoneyToUser(String orderId,boolean flag){ |
|
|
|
//根据订单标识查询订单信息 |
|
|
|
CommonOrder commonOrder = commonOrderService.getById(orderId); |
|
|
|
if (commonOrder==null){ |
|
|
|
log.info("订单不存在:ID:"+orderId); |
|
|
|
return flag; |
|
|
|
} |
|
|
|
//查询是否有推荐购买会员 |
|
|
|
HanHaiMember member = hanHaiMemberService.lambdaQuery() |
|
|
|
.eq(HanHaiMember::getId,commonOrder.getUserId()) |
|
|
|
.one(); |
|
|
|
return Result.OK("提现成功"); |
|
|
|
String orderShareId = member.getShareId(); |
|
|
|
if (orderShareId==null || "".equals(orderShareId)){ |
|
|
|
log.info("订单没有推荐用户:ID:"+orderId); |
|
|
|
return flag; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//根据推荐者标识查询推荐者用户信息 |
|
|
|
HanHaiMember shareMember = hanHaiMemberService.getById(orderShareId); |
|
|
|
if (shareMember==null){ |
|
|
|
log.info("推荐用户不存在:ID:"+orderShareId); |
|
|
|
return flag; |
|
|
|
} |
|
|
|
//推荐用户不是会员也不是渠道 |
|
|
|
if (shareMember.getIsPay()==0){ |
|
|
|
log.info("推荐用户不是会员也不是渠道:ID:"+orderShareId); |
|
|
|
return flag; |
|
|
|
} |
|
|
|
//根据订单推荐者标识查询该推荐这推荐了几个订单 |
|
|
|
List<CommonOrder> list = commonOrderService.lambdaQuery() |
|
|
|
.eq(CommonOrder::getShareId,orderShareId) |
|
|
|
.orderByDesc(CommonOrder::getCreateTime) |
|
|
|
//订单状态1:未付款、2:已付款、3:已发货、4:已收货、5:已完成、 大于0 |
|
|
|
.gt(CommonOrder::getState,0) |
|
|
|
.list(); |
|
|
|
log.info("订单条数:"+list.size()); |
|
|
|
//如果为空则跳出 |
|
|
|
Integer shareNum = 1; |
|
|
|
if (list==null || list.size()==0){ |
|
|
|
shareNum = 1; |
|
|
|
}else{ |
|
|
|
//查询有多少个返点配置 |
|
|
|
int confSize = commonVipConfigService.list().size(); |
|
|
|
if(list.size()+1>confSize){ |
|
|
|
//最新的一个订单是第几次循环 |
|
|
|
log.info("原订单:"+list.get(0).getShareNum()); |
|
|
|
shareNum = list.get(0).getShareNum() + 1; |
|
|
|
log.info("现在:"+shareNum); |
|
|
|
//根据配置查询vip配置比例 |
|
|
|
CommonVipConfig commonVipConfig = commonVipConfigService.lambdaQuery() |
|
|
|
.eq(CommonVipConfig::getSort,shareNum) |
|
|
|
.one(); |
|
|
|
//如果查出来没有数据 |
|
|
|
if (commonVipConfig==null){ |
|
|
|
shareNum = 1; |
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
shareNum = list.size()+1; |
|
|
|
log.info("推荐用户购买会员第几次list.size()+1==:"+shareNum); |
|
|
|
} |
|
|
|
log.info("推荐用户购买会员第几次:"+shareNum); |
|
|
|
} |
|
|
|
//根据配置查询vip配置比例 |
|
|
|
CommonVipConfig commonVipConfig = commonVipConfigService.lambdaQuery() |
|
|
|
.eq(CommonVipConfig::getSort,shareNum) |
|
|
|
.one(); |
|
|
|
if (commonVipConfig==null){ |
|
|
|
log.info("没有配置该比例:shareNum:"+shareNum); |
|
|
|
return flag; |
|
|
|
} |
|
|
|
//得到比例 |
|
|
|
BigDecimal price = commonVipConfig.getPrice(); |
|
|
|
//返点金额公式:返点金额 = 当前订单金额乘得到比例 |
|
|
|
BigDecimal money = commonOrder.getPrice().multiply(price); |
|
|
|
|
|
|
|
//判断用户是否是会员 |
|
|
|
//增加推荐者流水 |
|
|
|
CommonMoneyLog moneyLog = new CommonMoneyLog(); |
|
|
|
if(shareMember.getIsPay() == 1){ |
|
|
|
if (member.getIsPay()==0){ |
|
|
|
moneyLog.setTitle("【会员】直推【普通】第"+shareNum+"次的推荐奖"); |
|
|
|
moneyLog.setMoney(money); |
|
|
|
moneyLog.setOldMoney(shareMember.getPrice()); |
|
|
|
moneyLog.setType(0); //0收入 1支出 |
|
|
|
moneyLog.setState(0); |
|
|
|
moneyLog.setUserId(orderShareId); |
|
|
|
commonMoneyLogService.save(moneyLog); |
|
|
|
|
|
|
|
flag = true; |
|
|
|
} |
|
|
|
} |
|
|
|
if(shareMember.getIsPay() == 2){ |
|
|
|
|
|
|
|
//根据配置查询比例 |
|
|
|
CommonConfig config = commonConfigService.lambdaQuery() |
|
|
|
.eq(CommonConfig::getKeyName,"qu_price") |
|
|
|
.one(); |
|
|
|
|
|
|
|
if (member.getIsPay()==0){ |
|
|
|
money = new BigDecimal(config.getKeyContent()); |
|
|
|
moneyLog.setTitle("渠道推荐用户购买会员"); |
|
|
|
moneyLog.setMoney(money); |
|
|
|
moneyLog.setOldMoney(shareMember.getPrice()); |
|
|
|
moneyLog.setType(0); //0收入 1支出 |
|
|
|
moneyLog.setState(0); |
|
|
|
moneyLog.setUserId(orderShareId); |
|
|
|
commonMoneyLogService.save(moneyLog); |
|
|
|
} |
|
|
|
} |
|
|
|
//修改推荐者的钱 |
|
|
|
shareMember.setPrice(shareMember.getPrice().add(money)); |
|
|
|
hanHaiMemberService.updateById(shareMember); |
|
|
|
|
|
|
|
//修改订单的推荐次数 |
|
|
|
commonOrder.setState(1); |
|
|
|
commonOrder.setShareId(shareMember.getId()); |
|
|
|
commonOrder.setShareNum(shareNum); |
|
|
|
commonOrderService.updateById(commonOrder); |
|
|
|
|
|
|
|
return flag; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 1:用户推荐奖 |
|
|
|
// 凡购买1盒即5斤享有推荐资格 |
|
|
|
// 直推奖励:所推荐朋友购买产品或者购买会员返10%佣金,及今后产生复购产品的均有10%佣金(体验价不计算在内) |
|
|
|
public boolean toUserPrice(String orderId,boolean flag){ |
|
|
|
CommonOrder commonOrder = commonOrderService.getById(orderId); |
|
|
|
if (commonOrder==null){ |
|
|
|
log.info("订单不存在:ID:"+orderId); |
|
|
|
return flag; |
|
|
|
} |
|
|
|
//根据订单查询用户信息 |
|
|
|
HanHaiMember hanHaiMember = hanHaiMemberService.lambdaQuery() |
|
|
|
.eq(HanHaiMember::getId,commonOrder.getUserId()) |
|
|
|
.one(); |
|
|
|
if (hanHaiMember==null){ |
|
|
|
log.info("用户不存在:ID:"+commonOrder.getUserId()); |
|
|
|
return flag; |
|
|
|
} |
|
|
|
//查询推荐人 |
|
|
|
HanHaiMember shareMember = hanHaiMemberService.lambdaQuery() |
|
|
|
.eq(HanHaiMember::getId,hanHaiMember.getShareId()) |
|
|
|
.one(); |
|
|
|
if (shareMember==null){ |
|
|
|
log.info("推荐用户不存在:ID:"+hanHaiMember.getShareId()); |
|
|
|
return flag; |
|
|
|
} |
|
|
|
//查询推荐人是否购买了并且支付了订单 |
|
|
|
List<CommonOrder> list = commonOrderService.lambdaQuery() |
|
|
|
.eq(CommonOrder::getUserId,shareMember.getId()) |
|
|
|
.gt(CommonOrder::getState,0) |
|
|
|
.list(); |
|
|
|
if (list==null || list.size()==0){ |
|
|
|
log.info("推荐用户没有购买的订单无法进行返点:ID:"+shareMember.getId()); |
|
|
|
return flag; |
|
|
|
} |
|
|
|
|
|
|
|
//增加流水 |
|
|
|
CommonMoneyLog moneyLog = new CommonMoneyLog(); |
|
|
|
|
|
|
|
//查看用户是否是会员 |
|
|
|
if (shareMember.getIsPay()==0){ |
|
|
|
if(hanHaiMember.getIsPay()==0) { |
|
|
|
moneyLog.setTitle("【用户】直推【用户】购买产品奖励"); |
|
|
|
}else{ |
|
|
|
moneyLog.setTitle("【用户】直推【会员】购买产品奖励"); |
|
|
|
} |
|
|
|
//根据配置查询比例 |
|
|
|
CommonConfig config = commonConfigService.lambdaQuery() |
|
|
|
.eq(CommonConfig::getKeyName,"user_price_money") |
|
|
|
.one(); |
|
|
|
|
|
|
|
moneyLog.setMoney(commonOrder.getPrice().multiply(new BigDecimal(config.getKeyContent()))); |
|
|
|
moneyLog.setOldMoney(shareMember.getPrice()); |
|
|
|
moneyLog.setType(0); |
|
|
|
moneyLog.setState(0); |
|
|
|
moneyLog.setUserId(shareMember.getId()); |
|
|
|
|
|
|
|
//修改推荐者的钱 |
|
|
|
shareMember.setPrice(shareMember.getPrice().add(commonOrder.getPrice().multiply(new BigDecimal(config.getKeyContent())))); |
|
|
|
commonMoneyLogService.save(moneyLog); |
|
|
|
}else if (shareMember.getIsPay()==1){ |
|
|
|
|
|
|
|
|
|
|
|
//根据配置查询比例 |
|
|
|
CommonConfig config = commonConfigService.lambdaQuery() |
|
|
|
.eq(CommonConfig::getKeyName,"vip_price_money") |
|
|
|
.one(); |
|
|
|
|
|
|
|
if(hanHaiMember.getIsPay()==1){ |
|
|
|
moneyLog.setTitle("【会员】直推【会员】产品购买奖励"); |
|
|
|
moneyLog.setMoney(commonOrder.getPrice().multiply(new BigDecimal(config.getKeyContent()))); |
|
|
|
moneyLog.setOldMoney(shareMember.getPrice()); |
|
|
|
moneyLog.setType(0); |
|
|
|
moneyLog.setState(0); |
|
|
|
moneyLog.setUserId(shareMember.getId()); |
|
|
|
|
|
|
|
shareMember.getPrice().add(commonOrder.getPrice().multiply(new BigDecimal(config.getKeyContent()))); |
|
|
|
commonMoneyLogService.save(moneyLog); |
|
|
|
|
|
|
|
}else{ |
|
|
|
if(flag == false){ |
|
|
|
moneyLog.setTitle("【会员】直推【用户】产品购买奖励"); |
|
|
|
moneyLog.setMoney(commonOrder.getPrice().multiply(new BigDecimal(config.getKeyContent()))); |
|
|
|
moneyLog.setOldMoney(shareMember.getPrice()); |
|
|
|
moneyLog.setType(0); |
|
|
|
moneyLog.setState(0); |
|
|
|
moneyLog.setUserId(shareMember.getId()); |
|
|
|
|
|
|
|
shareMember.getPrice().add(commonOrder.getPrice().multiply(new BigDecimal(config.getKeyContent()))); |
|
|
|
commonMoneyLogService.save(moneyLog); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
//根据配置查询比例 |
|
|
|
CommonConfig config = commonConfigService.lambdaQuery() |
|
|
|
.eq(CommonConfig::getKeyName,"qu_price_money") |
|
|
|
.one(); |
|
|
|
|
|
|
|
if(hanHaiMember.getIsPay()==0) { |
|
|
|
moneyLog.setTitle("【渠道】直推【用户】购买产品奖励"); |
|
|
|
}else{ |
|
|
|
moneyLog.setTitle("【渠道】直推【会员】购买产品奖励"); |
|
|
|
} |
|
|
|
moneyLog.setMoney(commonOrder.getPrice().multiply(new BigDecimal(config.getKeyContent()))); |
|
|
|
moneyLog.setOldMoney(shareMember.getPrice()); |
|
|
|
moneyLog.setType(0); |
|
|
|
moneyLog.setState(0); |
|
|
|
moneyLog.setUserId(shareMember.getId()); |
|
|
|
|
|
|
|
//修改推荐者的钱 |
|
|
|
shareMember.setPrice(shareMember.getPrice().add(commonOrder.getPrice().multiply(new BigDecimal(config.getKeyContent())))); |
|
|
|
commonMoneyLogService.save(moneyLog); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
hanHaiMemberService.updateById(shareMember); |
|
|
|
|
|
|
|
return flag; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//确认收货 |
|
|
|
@Override |
|
|
|
public Result<?> confirmOrder(String token,String orderId){ |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
|
|
|
|
return Result.OK("确认收货"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |