package com.ydtech.modules.ttqf.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ydtech.modules.ttqf.dao.PayUserSignMapper; import com.ydtech.modules.ttqf.entity.PaySignCallback; import com.ydtech.modules.ttqf.entity.PayUserSign; import com.ydtech.modules.ttqf.service.PayUserSignService; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.Objects; @Service public class PayUserSignServiceImpl implements PayUserSignService { @Resource private PayUserSignMapper signMapper; @Async @Override public void saveUserSign(String identity,String userId) { if (Objects.isNull(selectOne(identity,userId))){ signMapper.insert(PayUserSign.builder().identity(identity).userId(userId).createTime(new Date()).build()); } } @Override public PayUserSign selectOne(String identity,String userId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PayUserSign::getIdentity,identity).eq(PayUserSign::getUserId,userId); return signMapper.selectOne(queryWrapper); } @Override public void updateUserSign(PaySignCallback paySignCallback) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PayUserSign::getIdentity,paySignCallback.getIdCardNo()); queryWrapper.orderByDesc(PayUserSign::getCreateTime); PayUserSign userSign = signMapper.selectOne(queryWrapper); if (Objects.isNull(userSign)){ signMapper.insert(PayUserSign.builder().sign(paySignCallback.getSignStatus()).authStatus(paySignCallback.getAuthStatus()) .identity(paySignCallback.getIdCardNo()) .onlinePayment(true).build()); }else { userSign.setSign(paySignCallback.getSignStatus()); userSign.setAuthStatus(paySignCallback.getAuthStatus()); userSign.setOnlinePayment(true); signMapper.updateById(userSign); } } }