From d5b3e5a413bcfccba294793ee093722f31b2448a Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 16 八月 2023 17:02:13 +0800 Subject: [PATCH] 添加推单日志 --- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java | 74 ++++++++++++++++++++++++++----------- 1 files changed, 52 insertions(+), 22 deletions(-) diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java index bb8f25a..8994910 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java @@ -15,6 +15,7 @@ import com.supersavedriving.driver.modular.system.util.*; import com.supersavedriving.driver.modular.system.util.MallBook.model.*; import com.supersavedriving.driver.modular.system.util.MallBook.util.TrhRequest; +import com.supersavedriving.driver.modular.system.util.huawei.OBSUtil; import com.supersavedriving.driver.modular.system.util.mongodb.model.Location; import com.supersavedriving.driver.modular.system.util.rongyun.RongYunUtil; import com.supersavedriving.driver.modular.system.util.weChat.WeChatUtil; @@ -41,6 +42,9 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; +import java.io.InputStream; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.net.InetAddress; import java.text.SimpleDateFormat; import java.util.*; @@ -149,7 +153,7 @@ //新账号 if(null == driver){ driver = new Driver(); - driver.setCode(UUIDUtil.getNumberRandom(16)); + driver.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(5)); try { driver = setDriverParamete(driver, driverRegisterWarpper); }catch (Exception e){ @@ -157,6 +161,10 @@ } driver.setCreateTime(new Date()); this.insert(driver); + String s = wechatMiniProgramORCode(driver.getId()); + driver.setReferralCode(s); + this.updateById(driver); + //司机邀请注册奖励 if(null != driver.getInviterId()){ @@ -166,7 +174,7 @@ Integer num7 = JSON.parseObject(systemConfig.getContent()).getInteger("num7"); if(num7 > 0){ AccountChangeDetail accountChangeDetail = new AccountChangeDetail(); - accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3)); + accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(5)); accountChangeDetail.setUserType(2); accountChangeDetail.setUserId(driver1.getId()); accountChangeDetail.setType(2); @@ -185,6 +193,16 @@ } + + //生成小程序二维码 + public String wechatMiniProgramORCode(Integer driverId) throws Exception{ + InputStream release = weChatUtil.getwxacodeunlimit("pages/index/index", "driverId=" + driverId, "release"); + String s = OBSUtil.putObjectToBucket(release, "driver_" + driverId + "_" + UUIDUtil.getNumberRandom(5) + ".jpg"); + return s; + } + + + /** * 组装个人信息 * @param driver @@ -193,6 +211,7 @@ */ public Driver setDriverParamete(Driver driver, DriverRegisterWarpper driverRegisterWarpper) throws Exception{ driver.setAvatar(driverRegisterWarpper.getAvatar()); + driver.setName(driverRegisterWarpper.getName()); driver.setPhone(driverRegisterWarpper.getPhone()); driver.setEmergencyContact(driverRegisterWarpper.getEmergencyContact()); driver.setEmergencyPhone(driverRegisterWarpper.getEmergencyPhone()); @@ -285,6 +304,11 @@ } } + if(ToolUtil.isEmpty(driver.getReferralCode())){ + String s = wechatMiniProgramORCode(driver.getId()); + driver.setReferralCode(s); + this.updateById(driver); + } return ResultUtil.success(tokenWarpper); } @@ -371,8 +395,8 @@ if(token.length() > 16){ key = token.substring(token.length() - 16); } - redisUtil.setStrValue(key, driver.getId().toString(), 7 * 24 * 60 * 60);//7天 - redisUtil.setStrValue("DRIVER_" + phone, key, 7 * 24 * 60 * 60);//7天 + redisUtil.setStrValue(key, driver.getId().toString(), 94608000);//7天 + redisUtil.setStrValue("DRIVER_" + phone, key, 94608000);//7天 //下线 for (int i = 0; i < 5; i++) { @@ -463,7 +487,7 @@ //找到中心点 GeoJsonPoint geoJsonPoint = new GeoJsonPoint(Double.valueOf(lon), Double.valueOf(lat)); //构造半径 - Distance distanceR = new Distance(5D, Metrics.KILOMETERS); + Distance distanceR = new Distance(10D, Metrics.KILOMETERS); //画圆 Circle circle = new Circle(geoJsonPoint, distanceR); // 构造query对象 @@ -535,13 +559,19 @@ @Override public PromotionWarpper queryPromotionQRCode(Integer uid) throws Exception { PromotionWarpper promotionWarpper = new PromotionWarpper(); - promotionWarpper.setUrl("https://chaoshengdaijia.com/share/driverShare/index.html?inviterId=" + uid); + Driver driver1 = this.selectById(uid); + if(ToolUtil.isEmpty(driver1.getReferralCode())){ + String s = wechatMiniProgramORCode(driver1.getId()); + driver1.setReferralCode(s); + this.updateById(driver1); + } +// promotionWarpper.setUrl("https://chaoshengdaijia.com/share/driverShare/index.html?inviterId=" + uid); + promotionWarpper.setUrl(driver1.getReferralCode()); int user = appUserService.selectCount(new EntityWrapper<AppUser>().eq("inviterType", 2).eq("inviterId", uid).eq("status", 1)); int driver = this.selectCount(new EntityWrapper<Driver>().eq("inviterType", 2).eq("inviterId", uid).eq("approvalStatus", 2).eq("status", 1)); promotionWarpper.setTotal(user + driver); promotionWarpper.setUser(user); promotionWarpper.setDriver(driver); - Driver driver1 = this.selectById(uid); promotionWarpper.setAvatar(driver1.getAvatar()); promotionWarpper.setName(driver1.getName()); return promotionWarpper; @@ -584,7 +614,7 @@ if(h > 0 && h > time){ Driver driver = this.selectById(driverId); AccountChangeDetail accountChangeDetail = new AccountChangeDetail(); - accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3)); + accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(5)); accountChangeDetail.setUserType(2); accountChangeDetail.setUserId(driverId); accountChangeDetail.setType(2); @@ -613,8 +643,8 @@ DriverInfoWarpper driverInfo = new DriverInfoWarpper(); BeanUtils.copyProperties(driver, driverInfo); driverInfo.setWithdrawBalance(driver.getBalance()); - driverInfo.setBalance(driver.getBalance() + driver.getBackgroundBalance());//司机充值+平台充值 - driverInfo.setCommission(driver.getCommission() + driver.getCouponBalance());//司机订单收入+司机佣金收入+司机优惠券收入+司机折扣收入 + driverInfo.setBalance(new BigDecimal(driver.getBalance()).add(new BigDecimal(driver.getBackgroundBalance())).setScale(2, RoundingMode.HALF_EVEN).doubleValue());//司机充值+平台充值 + driverInfo.setCommission(new BigDecimal(driver.getCommission()).add(new BigDecimal(driver.getCouponBalance())).setScale(2, RoundingMode.HALF_EVEN).doubleValue());//司机订单收入+司机佣金收入+司机优惠券收入+司机折扣收入 YouTuiDriver youTuiDriver = youTuiDriverService.selectOne(new EntityWrapper<YouTuiDriver>().eq("driverId", uid) .eq("state", 2).last(" and failureTime > now() order by failureTime limit 0, 1")); if(null != youTuiDriver){ @@ -693,7 +723,7 @@ List<AccountChangeDetail> list = new ArrayList<>(); for (Driver driver : drivers) { AccountChangeDetail accountChangeDetail = new AccountChangeDetail(); - accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3)); + accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(5)); accountChangeDetail.setUserType(2); accountChangeDetail.setUserId(driver.getId()); accountChangeDetail.setCreateTime(new Date()); @@ -717,7 +747,7 @@ Driver driver = this.selectById(uid); //调起微信 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - String out_trade_no = sdf.format(new Date()) + UUIDUtil.getNumberRandom(3); + String out_trade_no = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); RechargeRecord rechargeRecord = new RechargeRecord(); rechargeRecord.setType(2); rechargeRecord.setUserId(uid); @@ -731,7 +761,7 @@ PaymentOrder paymentOrder = new PaymentOrder(); paymentOrder.setBizOrderId(out_trade_no); - paymentOrder.setAmount(String.valueOf(Double.valueOf(amount * 100).intValue())); + paymentOrder.setAmount(new BigDecimal(amount).multiply(new BigDecimal(100)).setScale(0, RoundingMode.HALF_EVEN).longValue() + ""); paymentOrder.setOrderName("账户充值"); paymentOrder.setPayType("WX_MINI"); paymentOrder.setTransferType("0"); @@ -792,14 +822,14 @@ AccountChangeDetail accountChangeDetail = new AccountChangeDetail(); accountChangeDetail.setUserType(2); accountChangeDetail.setUserId(driver1.getId()); - accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3)); + accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(5)); accountChangeDetail.setChangeType(3); accountChangeDetail.setType(1); accountChangeDetail.setCreateTime(new Date()); accountChangeDetail.setExplain("账户充值"); - accountChangeDetail.setOldData(driver1.getBalance() + driver1.getBackgroundBalance()); - driver1.setBalance(driver1.getBalance() + rechargeRecord1.getAmount()); - accountChangeDetail.setNewData(driver1.getBalance() + driver1.getBackgroundBalance()); + accountChangeDetail.setOldData(new BigDecimal(driver1.getBalance()).add(new BigDecimal(driver1.getBackgroundBalance())).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); + driver1.setBalance(new BigDecimal(driver1.getBalance()).add(new BigDecimal(rechargeRecord1.getAmount())).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); + accountChangeDetail.setNewData(new BigDecimal(driver1.getBalance()).add(new BigDecimal(driver1.getBackgroundBalance())).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); DriverServiceImpl.this.updateById(driver1); accountChangeDetailService.saveData(accountChangeDetail); @@ -865,14 +895,14 @@ AccountChangeDetail accountChangeDetail = new AccountChangeDetail(); accountChangeDetail.setUserType(2); accountChangeDetail.setUserId(rechargeRecord1.getUserId()); - accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3)); + accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(5)); accountChangeDetail.setChangeType(3); accountChangeDetail.setType(1); accountChangeDetail.setCreateTime(new Date()); accountChangeDetail.setExplain("账户充值"); - accountChangeDetail.setOldData(driver1.getBalance() + driver1.getBackgroundBalance()); - driver1.setBalance(driver1.getBalance() + rechargeRecord1.getAmount()); - accountChangeDetail.setNewData(driver1.getBalance() + driver1.getBackgroundBalance()); + accountChangeDetail.setOldData(new BigDecimal(driver1.getBalance()).add(new BigDecimal(driver1.getBackgroundBalance())).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); + driver1.setBalance(new BigDecimal(driver1.getBalance()).add(new BigDecimal(rechargeRecord1.getAmount())).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); + accountChangeDetail.setNewData(new BigDecimal(driver1.getBalance()).add(new BigDecimal(driver1.getBackgroundBalance())).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); this.updateById(driver1); accountChangeDetailService.saveData(accountChangeDetail); @@ -971,7 +1001,7 @@ public ResultUtil microenterprise(Integer uid, String name, String number, String phone, String notifyUrl) throws Exception { Driver driver = this.selectById(uid); Register registerVO = new Register(); - registerVO.setMerUserId("driver_" + uid); + registerVO.setMerUserId(driver.getCode());//"driver_" + uid registerVO.setPhone(phone); registerVO.setUserType("0"); registerVO.setUserName(name); -- Gitblit v1.7.1