| | |
| | | import java.time.LocalTime; |
| | | import java.time.ZoneId; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.UUID; |
| | | import java.util.*; |
| | | |
| | | @Slf4j |
| | | @Service |
| | |
| | | appuser.setDelFlag(false); |
| | | appuser.setName(appuser.getPhone().substring(0, 3) + "****" + appuser.getPhone().substring(7)); |
| | | } |
| | | if (site==null){ |
| | | //先计算出积分数 |
| | | point = getPoint(chargeOrder.getTotalAmount()); |
| | | }else{ |
| | | point = getPointSite(chargeOrder.getTotalAmount(),site.getId()); |
| | | } |
| | | // 扣除站点系统用户的积分数 |
| | | SysUser sysUser=null; |
| | | if(Objects.nonNull(site)){ |
| | | List<SysUser> data = sysUserClient.getSysUserAll().getData(); |
| | | sysUser = data.stream().filter(e -> site.getId().equals(e.getSiteId())).findFirst().orElse(null); |
| | | if (sysUser != null) { |
| | | if (sysUser.getIntegral()< point){ |
| | | return R.fail("站点积分不足"); |
| | | } |
| | | }else { |
| | | return R.fail("站点用户不存在"); |
| | | } |
| | | } |
| | | |
| | | Integer chargePoint=appuser.getRechargePoint()==null?0:appuser.getRechargePoint();//充值积分 |
| | | Integer availablePoint=appuser.getAvailablePoint()==null?0:appuser.getAvailablePoint();//可用积分 |
| | | Integer totalPoint=appuser.getTotalPoint()==null?0:appuser.getTotalPoint();//总积分 |
| | |
| | | if (userId==null){ |
| | | return R.fail("导入订单-保存用户失败"); |
| | | } |
| | | if (site==null){ |
| | | //先计算出积分数 |
| | | point = getPoint(chargeOrder.getTotalAmount()); |
| | | }else{ |
| | | if (site!=null){ |
| | | point = getPointSite(chargeOrder.getTotalAmount(),site.getId()); |
| | | // 增加站点端积分明细 |
| | | IntegralRecord integralRecord = new IntegralRecord(); |
| | |
| | | integralRecord.setCreateTime(LocalDateTime.now()); |
| | | otherClient.saveIntegralRecord(integralRecord); |
| | | // 扣除站点系统用户的积分数 |
| | | List<SysUser> data = sysUserClient.getSysUserAll().getData(); |
| | | SysUser sysUser = data.stream().filter(e -> e.getSiteId().equals(site.getId())).findFirst().orElse(null); |
| | | if (sysUser != null) { |
| | | if (sysUser.getIntegral()==null){ |
| | | sysUser.setIntegral(0); |
| | | } |
| | | if (sysUser.getIntegral()< point){ |
| | | return R.fail("站点积分不足"); |
| | | } |
| | | sysUser.setIntegral(sysUser.getIntegral()==null?0:sysUser.getIntegral()-point); |
| | | sysUserClient.updateSysUser(sysUser); |
| | | if (sysUser.getIntegral()==null){ |
| | | sysUser.setIntegral(0); |
| | | } |
| | | sysUser.setIntegral(sysUser.getIntegral()==null?0:sysUser.getIntegral()-point); |
| | | sysUserClient.updateSysUser(sysUser); |
| | | } |
| | | //保存到数据库 |
| | | chargeOrder.setPoint(point); |
| | |
| | | throw new IllegalArgumentException("金额不能为null或负数"); |
| | | } |
| | | // 获取积分兑换比例配置 |
| | | R<SysConfig> info = sysConfigClient.getInfo(8L); |
| | | R<SysConfig> info = sysConfigClient.getInfo(10L); |
| | | if (info == null || info.getData() == null) { |
| | | throw new RuntimeException("获取积分兑换比例配置失败"); |
| | | } |
| | |
| | | throw new RuntimeException("获取积分兑换比例配置失败"); |
| | | |
| | | } |
| | | if (org.springframework.util.StringUtils.hasLength(data.getChargeCredit())) { |
| | | if (!org.springframework.util.StringUtils.hasLength(data.getChargeCredit())) { |
| | | throw new RuntimeException("获取积分兑换比例配置失败"); |
| | | } |
| | | String chargeCredit = data.getChargeCredit(); |