|
@@ -19,6 +19,7 @@ import org.dromara.system.api.RemoteUserService;
|
|
|
import org.dromara.system.api.domain.bo.RemoteUserBo;
|
|
import org.dromara.system.api.domain.bo.RemoteUserBo;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
+import org.dromara.fulfiller.domain.FlfAudit;
|
|
|
import org.dromara.fulfiller.domain.FlfFulfiller;
|
|
import org.dromara.fulfiller.domain.FlfFulfiller;
|
|
|
import org.dromara.fulfiller.domain.FlfPointsLog;
|
|
import org.dromara.fulfiller.domain.FlfPointsLog;
|
|
|
import org.dromara.fulfiller.domain.FlfBalanceLog;
|
|
import org.dromara.fulfiller.domain.FlfBalanceLog;
|
|
@@ -31,6 +32,7 @@ import org.dromara.fulfiller.domain.bo.FlfAdjustPointsBo;
|
|
|
import org.dromara.fulfiller.domain.bo.FlfRewardBo;
|
|
import org.dromara.fulfiller.domain.bo.FlfRewardBo;
|
|
|
import org.dromara.fulfiller.domain.vo.FlfFulfillerVo;
|
|
import org.dromara.fulfiller.domain.vo.FlfFulfillerVo;
|
|
|
import org.dromara.fulfiller.domain.vo.SysTagVo;
|
|
import org.dromara.fulfiller.domain.vo.SysTagVo;
|
|
|
|
|
+import org.dromara.fulfiller.mapper.FlfAuditMapper;
|
|
|
import org.dromara.fulfiller.mapper.FlfFulfillerMapper;
|
|
import org.dromara.fulfiller.mapper.FlfFulfillerMapper;
|
|
|
import org.dromara.fulfiller.mapper.FlfPointsLogMapper;
|
|
import org.dromara.fulfiller.mapper.FlfPointsLogMapper;
|
|
|
import org.dromara.fulfiller.mapper.FlfBalanceLogMapper;
|
|
import org.dromara.fulfiller.mapper.FlfBalanceLogMapper;
|
|
@@ -60,6 +62,7 @@ import java.util.stream.Collectors;
|
|
|
public class FlfFulfillerServiceImpl implements IFlfFulfillerService {
|
|
public class FlfFulfillerServiceImpl implements IFlfFulfillerService {
|
|
|
|
|
|
|
|
private final FlfFulfillerMapper baseMapper;
|
|
private final FlfFulfillerMapper baseMapper;
|
|
|
|
|
+ private final FlfAuditMapper auditMapper;
|
|
|
private final FlfPointsLogMapper pointsLogMapper;
|
|
private final FlfPointsLogMapper pointsLogMapper;
|
|
|
private final FlfBalanceLogMapper balanceLogMapper;
|
|
private final FlfBalanceLogMapper balanceLogMapper;
|
|
|
private final FlfRewardLogMapper rewardLogMapper;
|
|
private final FlfRewardLogMapper rewardLogMapper;
|
|
@@ -545,4 +548,59 @@ public class FlfFulfillerServiceImpl implements IFlfFulfillerService {
|
|
|
return baseMapper.deleteById(fulfiller.getId()) > 0;
|
|
return baseMapper.deleteById(fulfiller.getId()) > 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ public Boolean updateAuthInfoByUserId(Long userId, java.util.Map<String, String> params) {
|
|
|
|
|
+ FlfFulfiller fulfiller = baseMapper.selectOne(
|
|
|
|
|
+ Wrappers.lambdaQuery(FlfFulfiller.class).eq(FlfFulfiller::getUserId, userId)
|
|
|
|
|
+ );
|
|
|
|
|
+ if (fulfiller == null) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 检查是否已有待审核记录,避免重复提交
|
|
|
|
|
+ Long pendingCount = auditMapper.selectCount(
|
|
|
|
|
+ Wrappers.lambdaQuery(FlfAudit.class)
|
|
|
|
|
+ .eq(FlfAudit::getFulfillerId, fulfiller.getId())
|
|
|
|
|
+ .eq(FlfAudit::getStatus, 0)
|
|
|
|
|
+ );
|
|
|
|
|
+ if (pendingCount > 0) {
|
|
|
|
|
+ throw new RuntimeException("您的认证信息正在审核中,请等待审核完成后再修改");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 查找该履约者已有的审核记录(取最新一条)
|
|
|
|
|
+ FlfAudit audit = auditMapper.selectOne(
|
|
|
|
|
+ Wrappers.lambdaQuery(FlfAudit.class)
|
|
|
|
|
+ .eq(FlfAudit::getFulfillerId, fulfiller.getId())
|
|
|
|
|
+ .orderByDesc(FlfAudit::getCreateTime)
|
|
|
|
|
+ .last("LIMIT 1")
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ if (audit == null) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 在原有审核记录上更新信息和状态
|
|
|
|
|
+ if (params.containsKey("idCardFront")) {
|
|
|
|
|
+ audit.setIdCardFront(Long.parseLong(params.get("idCardFront")));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (params.containsKey("idCardBack")) {
|
|
|
|
|
+ audit.setIdCardBack(Long.parseLong(params.get("idCardBack")));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (params.containsKey("serviceTypes")) {
|
|
|
|
|
+ audit.setServiceTypes(params.get("serviceTypes"));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (params.containsKey("qualifications")) {
|
|
|
|
|
+ audit.setQualifications(params.get("qualifications"));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 重置为待审核状态
|
|
|
|
|
+ audit.setStatus(0);
|
|
|
|
|
+ audit.setRejectReason(null);
|
|
|
|
|
+ audit.setAuditBy(null);
|
|
|
|
|
+ audit.setAuditTime(null);
|
|
|
|
|
+
|
|
|
|
|
+ return auditMapper.updateById(audit) > 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|