From b1c60c1fed0536d9e1334bb928934ebe2c77b97b Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 01 八月 2025 16:01:10 +0800
Subject: [PATCH] 司机支付宝账号添加
---
UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java | 112 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 90 insertions(+), 22 deletions(-)
diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index ff5a7f5..4e49be5 100644
--- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -1,6 +1,7 @@
package com.stylefeng.guns.modular.system.service.impl;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
@@ -9,10 +10,7 @@
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.core.util.JwtTokenUtil;
import com.stylefeng.guns.core.util.ToolUtil;
-import com.stylefeng.guns.modular.system.dao.DriverActivityRegisteredMapper;
-import com.stylefeng.guns.modular.system.dao.DriverMapper;
-import com.stylefeng.guns.modular.system.dao.UserActivityInviteMapper;
-import com.stylefeng.guns.modular.system.dao.UserInfoMapper;
+import com.stylefeng.guns.modular.system.dao.*;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
@@ -32,6 +30,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
import java.util.*;
@@ -46,12 +45,6 @@
@Autowired
private RedisUtil redisUtil;
-
- @Autowired
- private ALiSendSms aLiSendSms;
-
- @Autowired
- private SMSUtil smsUtil;
@Autowired
private WeChatUtil weChatUtil;
@@ -98,6 +91,9 @@
@Autowired
private PayMoneyUtil payMoneyUtil;
+ @Resource
+ private DriverActivityHistoryMapper driverActivityHistoryMapper;
+
@Value("${callbackPath}")
private String callbackPath;
@@ -122,7 +118,6 @@
sb.append((int) (random.nextDouble() * 10));
}
String authCode = sb.toString();
- authCode="1234";
String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!";
//发送验证码短信
@@ -142,9 +137,17 @@
templateCode = "SMS_207770039";//修改密码
break;
}
- Map<String, Object> map = new HashMap<>();
- map.put("code", authCode);
- smsUtil.sendSmsTp(phone, 96596L, Arrays.asList(map));
+ //发送记录集合
+ JSONArray records = new JSONArray();
+ JSONObject record = new JSONObject();
+ //手机号
+ record.put("mobile", phone);
+ //替换变量
+ JSONObject param = new JSONObject();
+ param.put("code", authCode);
+ record.put("tpContent", param);
+ records.add(record);
+ SMSUtil.sendSmsTp(96596L, records);
System.out.println(sms);
}
@@ -232,6 +235,16 @@
if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(0D) > 0){
bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(map.get("money"))));
incomeService.saveData(2, driver.getId(), 1, Integer.valueOf(String.valueOf(map.get("id"))), null, Double.valueOf(String.valueOf(map.get("money"))));
+
+ DriverActivityHistory driverActivityHistory = new DriverActivityHistory();
+ driverActivityHistory.setActivityId(Integer.valueOf(String.valueOf(map.get("id"))));
+ driverActivityHistory.setCarryOut(2);
+ driverActivityHistory.setDay(new Date());
+ driverActivityHistory.setDriverId(driver.getId());
+ driverActivityHistory.setInsertTime(new Date());
+ driverActivityHistory.setMoney(Double.valueOf(String.valueOf(map.get("money"))));
+ driverActivityHistory.setType(1);
+ driverActivityHistoryMapper.insert(driverActivityHistory);
}
}
driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -310,7 +323,59 @@
@Override
public synchronized ResultUtil<LoginWarpper> captchaLogin(String phone, String code, Integer uid, Integer type, Integer userType) throws Exception {
ResultUtil<LoginWarpper> resultUtil = this.captchaLogin(phone, code, null, null,uid,type,userType);
-
+ if(resultUtil.getCode() == 200 && null != uid){
+ if(type == 2){//司机分享
+ Driver driver = driverMapper.selectById(uid);
+ List<Map<String, Object>> query = driverActivityRegisteredMapper.query(userType, driver.getCompanyId());
+ BigDecimal bigDecimal = new BigDecimal("0");
+ for(Map<String, Object> map : query){
+ if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(0D) > 0){
+ bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(map.get("money"))));
+ incomeService.saveData(2, driver.getId(), 1, Integer.valueOf(String.valueOf(map.get("id"))), null, Double.valueOf(String.valueOf(map.get("money"))));
+ }
+ }
+ driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ driverMapper.updateById(driver);
+ }
+ if(type == 1){//用户分享
+ UserInfo userInfo1 = userInfoMapper.selectById(uid);
+ List<Map<String, Object>> query = userActivityInviteMapper.query(userInfo1.getCompanyId());
+ Date date = new Date();
+ for(Map<String, Object> map : query){
+ Double lavePrice = Double.valueOf(map.get("lavePrice").toString());
+ for(int i = Integer.valueOf(String.valueOf(map.get("totalNum"))); i > 0; i--){
+ //判断当前优惠券金额是否大于可发放剩余总金额
+ if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(lavePrice) > 0){
+ break;
+ }
+ UserCouponRecord userCouponRecord = new UserCouponRecord();
+ userCouponRecord.setActivityType(3);
+ userCouponRecord.setCouponActivityId(Integer.valueOf(String.valueOf(map.get("id"))));
+ userCouponRecord.setCouponId(Integer.valueOf(String.valueOf(map.get("couponId"))));
+ userCouponRecord.setState(1);
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + Integer.valueOf(String.valueOf(map.get("effective"))));
+ userCouponRecord.setExpirationTime(calendar.getTime());
+ userCouponRecord.setCouponType(Integer.valueOf(String.valueOf(map.get("couponType"))));
+ userCouponRecord.setCouponUseType(Integer.valueOf(String.valueOf(map.get("couponUseType"))));
+ userCouponRecord.setInsertTime(date);
+ userCouponRecord.setFullMoney(Double.valueOf(String.valueOf(map.get("fullMoney"))));
+ userCouponRecord.setMoney(Double.valueOf(String.valueOf(map.get("money"))));
+ userCouponRecord.setCompanyId(userInfo1.getCompanyId());
+ userCouponRecord.setUserId(uid);
+ userCouponRecordService.insert(userCouponRecord);
+ //修改剩余可发放总金额
+ lavePrice -= Double.valueOf(String.valueOf(map.get("money")));
+ }
+ UserActivityInvite uai = userActivityInviteMapper.selectById(Integer.valueOf(map.get("id").toString()));
+ uai.setLavePrice(new BigDecimal(lavePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ userActivityInviteMapper.updateById(uai);
+ }
+ }
+ }
return resultUtil;
}
@@ -718,9 +783,11 @@
return ResultUtil.error("支付金额必须大于0元");
}
if(payType == 1){//微信支付
- Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 1, money, "", 1);//添加预支付数据
- //Map<String, String> map = icbcPayUtil.placeAnOrder(integer.toString(), 9, 5, uid.toString(), "余额充值", money, callbackPath + "/base/wxCancelUserBalance", uid.toString(), type, userInfo.getAppletsOpenId());
- ResultUtil resultUtil = payMoneyUtil.weixinpay("余额充值",integer.toString(),integer.toString(),money+"","/base/wxCancelUserBalance","JSAPI",userInfo.getAppletsOpenId());
+ if(ToolUtil.isEmpty(userInfo.getAppletsOpenId())){
+ return ResultUtil.error("未授权微信,无法完成支付");
+ }
+ Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 1, money, "", 1, "");//添加预支付数据
+ ResultUtil resultUtil = payMoneyUtil.weixinpay("余额充值", integer.toString(), integer.toString(),money+"","/base/wxCancelUserBalance","JSAPI",userInfo.getAppletsOpenId());
if(resultUtil.getCode()==200){
PaymentRecord paymentRecord = paymentRecordService.selectById(integer);
paymentRecordService.updateById(paymentRecord);
@@ -730,8 +797,8 @@
}
}
if(payType == 2){//支付宝支付
- Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 2, money, "", 1);//添加预支付数据
- ResultUtil resultUtil = payMoneyUtil.alipay("余额充值","余额充值",integer.toString(),money+"","/base/aliCancelUserBalance");
+ Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 2, money, "", 1, "");//添加预支付数据
+ ResultUtil resultUtil = payMoneyUtil.alipay("余额充值","余额充值", "",integer.toString(),money+"","/base/aliCancelUserBalance");
if(resultUtil.getCode()==200){
PaymentRecord paymentRecord = paymentRecordService.selectById(integer);
paymentRecordService.updateById(paymentRecord);
@@ -1007,8 +1074,9 @@
* @return
*/
public String getDefaultName(){
- int num = this.selectCount(new EntityWrapper<UserInfo>().ne("flag", 3)) + 1000001;
- return "XW" + String.valueOf(num).substring(1);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
+ String n = UUIDUtil.getNumberCode(3) + sdf.format(new Date());
+ return "ZY" + n;
}
--
Gitblit v1.7.1