1. 远程关锁优化
2. 改价优化 3. 根据userId获取areaId(管理员属于哪个运营区) 4. 交易流水降序
This commit is contained in:
parent
f927f269da
commit
52cf6eb9cf
|
@ -9,6 +9,7 @@ import com.ruoyi.common.core.controller.BaseController;
|
|||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.entity.AsUser;
|
||||
import com.ruoyi.common.core.domain.entity.SysDictData;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
|
@ -79,6 +80,9 @@ public class AppVerifyController extends BaseController
|
|||
@Resource
|
||||
private AsDeviceMapper asDeviceMapper;
|
||||
|
||||
@Resource
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
|
||||
/**
|
||||
* 故障上报
|
||||
|
@ -242,6 +246,21 @@ public class AppVerifyController extends BaseController
|
|||
if(!ServiceConstants.ORDER_PAY_STATUS_NON_PAYMENT.equals(etOrder1.getPaid())){
|
||||
throw new ServiceException("订单已支付,不能改价");
|
||||
}
|
||||
BigDecimal payFee = BigDecimal.ZERO;
|
||||
if(ObjectUtil.isNotNull(etOrder.getDispatchFee())){
|
||||
payFee = payFee.add(etOrder.getDispatchFee());
|
||||
}
|
||||
if(ObjectUtil.isNotNull(etOrder.getRidingFee())){
|
||||
payFee = payFee.add(etOrder.getRidingFee());
|
||||
}
|
||||
if(ObjectUtil.isNotNull(etOrder.getManageFee())){
|
||||
payFee = payFee.add(etOrder.getManageFee());
|
||||
}
|
||||
if(ObjectUtil.isNotNull(etOrder.getAppointmentFee())){
|
||||
payFee = payFee.add(etOrder.getAppointmentFee());
|
||||
}
|
||||
etOrder.setPayFee(payFee);
|
||||
etOrder.setTotalFee(payFee);
|
||||
return toAjax(etOrderService.updateEtOrderByOrderNo(etOrder));
|
||||
}
|
||||
|
||||
|
@ -741,4 +760,25 @@ public class AppVerifyController extends BaseController
|
|||
return toAjax(asDeviceService.bandSn(asDevice));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据userId获取areaId(管理员属于哪个运营区)
|
||||
*/
|
||||
@PostMapping("/getAreaId")
|
||||
public AjaxResult getAreaId(String userId)
|
||||
{
|
||||
logger.info("根据userId获取areaId:【userId="+userId+"】");
|
||||
if(StrUtil.isBlank(userId)){
|
||||
throw new ServiceException("userId不能为空");
|
||||
}
|
||||
AsUser asUser = asUserService.selectUserById(Long.valueOf(userId));
|
||||
if(ObjectUtil.isNull(asUser)){
|
||||
throw new ServiceException("用户【"+userId+"】不存在");
|
||||
}
|
||||
SysUser sysUser = sysUserService.selectUserById(asUser.getSysUserId());
|
||||
if(ObjectUtil.isNull(sysUser)){
|
||||
throw new ServiceException("用户【"+userId+"】未绑定系统用户");
|
||||
}
|
||||
return success(sysUser.getAreaId());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -154,10 +154,29 @@ public class ReceiveController {
|
|||
if(ObjectUtil.isNotNull(device)){
|
||||
BigDecimal lon = new BigDecimal(value.getLon());
|
||||
BigDecimal lat = new BigDecimal(value.getLat());
|
||||
log.info("WGS84经纬度:" + lon + "---" + lat);
|
||||
double[] doubles = GpsCoordinateUtils.calWGS84toGCJ02(lat.doubleValue(), lon.doubleValue());
|
||||
lat = new BigDecimal(doubles[0]).setScale(4, RoundingMode.HALF_UP);
|
||||
lon = new BigDecimal(doubles[1]).setScale(4, RoundingMode.HALF_UP);
|
||||
log.info("WGS84经纬度(未计算):" + lon + "---" + lat);
|
||||
// 除以100
|
||||
lon = lon.divide(new BigDecimal(100), 10, RoundingMode.HALF_UP);
|
||||
lat = lat.divide(new BigDecimal(100), 10, RoundingMode.HALF_UP);
|
||||
log.info("WGS84经纬度(除以100后):" + lon + "---" + lat);
|
||||
// 取出lon中后面的小数点
|
||||
String[] lonStr = getDecimalPart(lon);
|
||||
String[] latStr = getDecimalPart(lat);
|
||||
log.info("WGS84经纬度(截取小数点):" + lonStr[0] + "---" + lonStr[1] + "---"+ latStr[0]+"---"+ latStr[1]);
|
||||
// 再将结果乘以5/3
|
||||
String lon2 = "0."+ lonStr[1];
|
||||
String lat2 = "0."+ latStr[1];
|
||||
BigDecimal lons = new BigDecimal(lon2).multiply(new BigDecimal(5).divide(new BigDecimal(3), 8, RoundingMode.HALF_UP));
|
||||
BigDecimal lats = new BigDecimal(lat2).multiply(new BigDecimal(5).divide(new BigDecimal(3), 8, RoundingMode.HALF_UP));
|
||||
BigDecimal lo = new BigDecimal(lonStr[0]).add(lons);
|
||||
BigDecimal la = new BigDecimal(latStr[0]).add(lats);
|
||||
log.info("WGS84经纬度(计算后):" + lo + "---" + la);
|
||||
lo = lo.setScale(8, RoundingMode.HALF_UP);
|
||||
la = la.setScale(8, RoundingMode.HALF_UP);
|
||||
log.info("WGS84经纬度(保留8为小数):" + lo + "---" + la);
|
||||
double[] doubles = GpsCoordinateUtils.calWGS84toGCJ02(la.doubleValue(), lo.doubleValue());
|
||||
lat = new BigDecimal(doubles[0]).setScale(8, RoundingMode.HALF_UP);
|
||||
lon = new BigDecimal(doubles[1]).setScale(8, RoundingMode.HALF_UP);
|
||||
log.info("转换后的GCJ02经纬度:" + lon + "---" + lat);
|
||||
if(BigDecimal.ZERO.compareTo(lon) != 0 && BigDecimal.ZERO.compareTo(lat) != 0){
|
||||
device.setLatitude(lat.toString());
|
||||
|
@ -390,4 +409,27 @@ public class ReceiveController {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
private static String[] getDecimalPart(BigDecimal number) {
|
||||
// 将BigDecimal转换为字符串
|
||||
String numberStr = number.toPlainString();
|
||||
|
||||
// 找到小数点的位置
|
||||
int indexOfDecimal = numberStr.indexOf(".");
|
||||
|
||||
// 初始化结果数组
|
||||
String[] parts = new String[2];
|
||||
|
||||
// 如果有小数点
|
||||
if (indexOfDecimal >= 0) {
|
||||
parts[0] = numberStr.substring(0, indexOfDecimal); // 整数部分
|
||||
parts[1] = numberStr.substring(indexOfDecimal + 1); // 小数部分
|
||||
} else {
|
||||
// 如果没有小数点,整数部分为整个字符串,小数部分为空
|
||||
parts[0] = numberStr;
|
||||
parts[1] = "";
|
||||
}
|
||||
|
||||
return parts;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1079,7 +1079,11 @@ public class AsDeviceServiceImpl extends ServiceImpl<AsDeviceMapper, AsDevice> i
|
|||
String token = Token.getToken();
|
||||
AsDevice device = asDeviceMapper.selectAsDeviceBySn(order.getSn());
|
||||
/** 2. 车辆远程关锁*/
|
||||
sendCommand(device.getMac(), token,IotConstants.COMMAND_CLOSE+IotConstants.COMMAND_FREQUENCY_3600,"还车关锁");
|
||||
ResponseVo responseVo = sendCommandWithResp(device.getMac(), token, IotConstants.COMMAND_CLOSE + IotConstants.COMMAND_FREQUENCY_3600, "还车关锁");
|
||||
if(responseVo.getCode()!=0){
|
||||
log.info("【还车关锁】远程关锁失败");
|
||||
throw new ServiceException("远程关锁失败");
|
||||
}
|
||||
/** 4. 更新车辆状态*/
|
||||
device.setStatus(ServiceConstants.VEHICLE_STATUS_NORMAL);
|
||||
device.setLockStatus(ServiceConstants.LOCK_STATUS_CLOSE);
|
||||
|
@ -1242,7 +1246,7 @@ public class AsDeviceServiceImpl extends ServiceImpl<AsDeviceMapper, AsDevice> i
|
|||
//minutes除以startingMinutes得到的结构四舍五入
|
||||
minutes = minutes - timeoutTime;//扣掉起步分钟数后
|
||||
double ceil = Math.ceil(minutes / timeoutTime) +1 ;
|
||||
ridingFee = new BigDecimal(ceil * Integer.parseInt(timeoutPrice));
|
||||
ridingFee = new BigDecimal(ceil * Double.parseDouble(timeoutPrice));
|
||||
BigDecimal startingPriceB = new BigDecimal(startingPrice);
|
||||
ridingFee = ridingFee.add(startingPriceB);
|
||||
}
|
||||
|
|
|
@ -6,8 +6,6 @@ import com.ruoyi.common.annotation.DataScope;
|
|||
import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.constant.ServiceConstants;
|
||||
import com.ruoyi.common.core.domain.entity.AsUser;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.CommonUtil;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
|
@ -903,7 +901,7 @@ public class EtOrderServiceImpl implements IEtOrderService
|
|||
//todo 更新订单的payFee = totalFee - refundAmount
|
||||
|
||||
/** 2.记录退款表 创建退款对象*/
|
||||
EtRefund refund1= createRefund(etOrder, refundAmount, appointmentFee, dispatchFee, manageFee, ridingFee, refund,ServiceConstants.REFUND_TYPE_SYSTEM);
|
||||
EtRefund refund1= createRefund(etOrder1, refundAmount, appointmentFee, dispatchFee, manageFee, ridingFee, refund,ServiceConstants.REFUND_TYPE_SYSTEM);
|
||||
int i = etRefundService.insertEtRefund(refund1);
|
||||
if(i>0){
|
||||
log.info("保存退款对象成功");
|
||||
|
|
|
@ -45,6 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="payType != null and payType != ''"> and cf.pay_type = #{payType}</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
order by cf.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectEtCapitalFlowByFlowId" parameterType="Long" resultMap="EtCapitalFlowResult">
|
||||
|
|
|
@ -536,7 +536,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="appointmentStartTime != null">appointment_start_time = #{appointmentStartTime},</if>
|
||||
<if test="appointmentEndTime != null">appointment_end_time = #{appointmentEndTime},</if>
|
||||
<if test="appointment_timeout != null">appointment_timeout = #{appointment_timeout},</if>
|
||||
<if test="appointmentTimeout != null">appointment_timeout = #{appointmentTimeout},</if>
|
||||
<if test="unlockTime != null">unlock_time = #{unlockTime},</if>
|
||||
<if test="returnTime != null">return_time = #{returnTime},</if>
|
||||
<if test="returnType != null">return_type = #{returnType},</if>
|
||||
|
|
Loading…
Reference in New Issue
Block a user