4 changed files with 47 additions and 16 deletions
-
22src/main/java/com/iflytop/handacid/app/controller/ReceiveRecordController.java
-
4src/main/java/com/iflytop/handacid/common/model/entity/Channel.java
-
3src/main/java/com/iflytop/handacid/common/model/entity/ReceiveRecord.java
-
34src/main/java/com/iflytop/handacid/common/service/ReceiveRecordService.java
@ -1,14 +1,48 @@ |
|||
package com.iflytop.handacid.common.service; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.iflytop.handacid.app.core.state.ChannelState; |
|||
import com.iflytop.handacid.app.core.state.DeviceState; |
|||
import com.iflytop.handacid.common.mapper.ReceiveRecordMapper; |
|||
import com.iflytop.handacid.common.model.entity.Channel; |
|||
import com.iflytop.handacid.common.model.entity.ReceiveRecord; |
|||
import com.iflytop.handacid.common.model.entity.Solution; |
|||
import com.iflytop.handacid.common.model.entity.User; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* 领取记录接口服务 |
|||
*/ |
|||
@Service |
|||
@RequiredArgsConstructor |
|||
public class ReceiveRecordService extends ServiceImpl<ReceiveRecordMapper, ReceiveRecord> { |
|||
private final UserService userService; |
|||
private final SolutionService solutionService; |
|||
private final ChannelService channelService; |
|||
private final DeviceState deviceState; |
|||
|
|||
public boolean receive(ReceiveRecord receiveRecord) { |
|||
User issuer = userService.getById(receiveRecord.getIssuerId()); |
|||
receiveRecord.setIssuerNickname(issuer.getNickname()); |
|||
User receiver = userService.getById(receiveRecord.getReceiverId()); |
|||
receiveRecord.setReceiverNickname(receiver.getNickname()); |
|||
Solution solution = solutionService.getById(receiveRecord.getSolutionId()); |
|||
receiveRecord.setSolutionName(solution.getName()); |
|||
this.save(receiveRecord); |
|||
|
|||
Channel channel = channelService.getOne(new LambdaQueryWrapper<>(new Channel()).eq(Channel::getCode, receiveRecord.getChannelCode())); |
|||
channel.setCurrentVolume(receiveRecord.getReceivedVolume()); |
|||
channel.setReceivedVolume(receiveRecord.getReceivedVolume()); |
|||
channel.setConcentration(receiveRecord.getConcentration()); |
|||
channelService.updateById(channel); |
|||
|
|||
ChannelState channelState = deviceState.getChannelStateMap().get(receiveRecord.getChannelCode()); |
|||
channelState.setCurrentVolume(receiveRecord.getReceivedVolume()); |
|||
channelState.setReceivedVolume(receiveRecord.getReceivedVolume()); |
|||
channelState.setConcentration(receiveRecord.getConcentration()); |
|||
|
|||
return true; |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue