修复正在使用中的设备问题
This commit is contained in:
parent
8a0a9475ad
commit
099249122f
|
@ -571,9 +571,10 @@ public class TransactionBillServiceImpl implements TransactionBillService {
|
|||
|
||||
// 修改设备充值状态:成功
|
||||
if (success) {
|
||||
transactionBillMapper.updateDeviceRechargeStatus(bill.getBillId(), TransactionBillDeviceRechargeStatus.SUCCESS.getStatus());
|
||||
SmDeviceVO device = deviceService.selectSmDeviceByDeviceId(bill.getDeviceId());
|
||||
this.updateSuitTimeAfterDevice(billId, device.getExpireTime());
|
||||
this.updateSuitTimeBeforeDevice(billId, device.getExpireTime());
|
||||
|
||||
transactionBillMapper.updateDeviceRechargeStatus(bill.getBillId(), TransactionBillDeviceRechargeStatus.SUCCESS.getStatus());
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -583,13 +584,19 @@ public class TransactionBillServiceImpl implements TransactionBillService {
|
|||
* 在设备充值成功后,更新套餐时间
|
||||
* 开始时间 = 设备过期时间 - 套餐时间,过期时间 = 设备过期时间
|
||||
*/
|
||||
private int updateSuitTimeAfterDevice(Long billId, LocalDateTime deviceExpireTime) {
|
||||
TransactionBill bill = new TransactionBill();
|
||||
bill.setBillId(billId);
|
||||
bill.setSuitStartTime(deviceExpireTime.plusMinutes(-bill.getSuitTime().longValue()));
|
||||
bill.setSuitEndTime(deviceExpireTime);
|
||||
bill.setSuitExpireTime(deviceExpireTime);
|
||||
return transactionBillMapper.updateSmTransactionBill(bill);
|
||||
private int updateSuitTimeBeforeDevice(Long billId, LocalDateTime deviceExpireTime) {
|
||||
TransactionBillVo bill = this.selectSmTransactionBillByBillId(billId);
|
||||
if (bill == null) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
LocalDateTime endTime = deviceExpireTime.plusMinutes(bill.getSuitTime().longValue());
|
||||
TransactionBill data = new TransactionBill();
|
||||
data.setBillId(billId);
|
||||
data.setSuitStartTime(deviceExpireTime);
|
||||
data.setSuitEndTime(endTime);
|
||||
data.setSuitExpireTime(endTime);
|
||||
return transactionBillMapper.updateSmTransactionBill(data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -826,6 +833,7 @@ public class TransactionBillServiceImpl implements TransactionBillService {
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean bluetoothRechargeSuccess(String billNo) {
|
||||
Boolean execute = transactionTemplate.execute(status -> {
|
||||
TransactionBill bill = selectSmTransactionBillByBillNo(billNo);
|
||||
|
@ -838,7 +846,7 @@ public class TransactionBillServiceImpl implements TransactionBillService {
|
|||
|
||||
// 更新套餐时间
|
||||
SmDeviceVO afterDevice = deviceService.selectSmDeviceByDeviceId(bill.getDeviceId());
|
||||
this.updateSuitTimeAfterDevice(bill.getBillId(), afterDevice.getExpireTime());
|
||||
this.updateSuitTimeBeforeDevice(bill.getBillId(), afterDevice.getExpireTime());
|
||||
|
||||
boolean addTime = deviceService.addTime(bill.getDeviceId(), bill.getSuitTime(), false);
|
||||
ServiceUtil.assertion(!addTime, "修改剩余时间失败");
|
||||
|
|
|
@ -7,12 +7,12 @@ import java.util.List;
|
|||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.ruoyi.common.core.domain.ValidGroup;
|
||||
import com.ruoyi.common.utils.ServiceUtil;
|
||||
import com.ruoyi.ss.device.domain.SmDeviceBO;
|
||||
import com.ruoyi.ss.device.domain.dto.DeviceBatchUpdateModelDTO;
|
||||
import com.ruoyi.ss.device.service.DeviceAssembler;
|
||||
import com.ruoyi.ss.device.domain.SmDeviceQuery;
|
||||
import com.ruoyi.ss.device.domain.vo.SmDeviceVO;
|
||||
import com.ruoyi.ss.device.service.DeviceValidator;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
|
@ -30,8 +30,6 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
|||
/**
|
||||
* 设备Controller
|
||||
*
|
||||
* @author 邱贞招
|
||||
* @date 2024-02-21
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/device")
|
||||
|
@ -40,9 +38,6 @@ public class SmDeviceController extends BaseController
|
|||
@Autowired
|
||||
private DeviceService smDeviceService;
|
||||
|
||||
@Autowired
|
||||
private DeviceValidator deviceValidator;
|
||||
|
||||
@Autowired
|
||||
private DeviceAssembler deviceAssembler;
|
||||
|
||||
|
@ -149,32 +144,44 @@ public class SmDeviceController extends BaseController
|
|||
}
|
||||
|
||||
@ApiOperation("绑定SN码")
|
||||
@PreAuthorize("@ss.hasPermi('system:device:bindSn')")
|
||||
@PutMapping("/{deviceId}/bindSn/{sn}")
|
||||
public AjaxResult bindSn(@PathVariable @ApiParam("设备ID") Long deviceId, @PathVariable @ApiParam("SN") String sn) {
|
||||
return success(smDeviceService.bindSn(deviceId, sn));
|
||||
}
|
||||
|
||||
@ApiOperation("设备充值时长")
|
||||
@PreAuthorize("@ss.hasPermi('system:device:addTime')")
|
||||
@PutMapping("/addTime/{deviceId}")
|
||||
public AjaxResult addTime(@PathVariable @ApiParam("设备id") Long deviceId, @ApiParam("电量(度)") BigDecimal amount) {
|
||||
return toAjax(smDeviceService.addTimeByUser(deviceId, amount, true, "管理员手动充值"));
|
||||
}
|
||||
|
||||
@ApiOperation("设备时长归零")
|
||||
@PreAuthorize("@ss.hasPermi('system:device:reset')")
|
||||
@PutMapping("/{deviceId}/reset")
|
||||
public AjaxResult reset(@PathVariable @ApiParam("设备id") Long deviceId) {
|
||||
return success(smDeviceService.reset(deviceId));
|
||||
}
|
||||
|
||||
@ApiOperation("设备开关")
|
||||
@PreAuthorize("@ss.hasPermi('system:device:switch')")
|
||||
@PutMapping("/{deviceId}/switch")
|
||||
public AjaxResult switchDevice(@PathVariable Long deviceId, @RequestParam Boolean open) {
|
||||
return toAjax(smDeviceService.switchDevice(deviceId, open));
|
||||
}
|
||||
|
||||
@ApiOperation("设备批量修改型号")
|
||||
@PreAuthorize("@ss.hasPermi('system:device:edit')")
|
||||
@PutMapping("/batchUpdateModel")
|
||||
public AjaxResult batchUpdateModel(@RequestBody @Validated DeviceBatchUpdateModelDTO dto) {
|
||||
return success(smDeviceService.batchUpdateModel(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("解除设备绑定")
|
||||
@PreAuthorize("@ss.hasPermi('system:device:unbind')")
|
||||
@DeleteMapping("/{deviceId}/unbind")
|
||||
public AjaxResult unbind(@PathVariable @ApiParam("设备id") Long deviceId) {
|
||||
return toAjax(smDeviceService.unbind(deviceId));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user