Split signal mappers by tables
This commit is contained in:
parent
392b99aca4
commit
b80ec82ab9
10 changed files with 270 additions and 106 deletions
|
|
@ -0,0 +1,14 @@
|
|||
package ru.nbch.credit_tracker.mapper.signal;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import ru.nbch.credit_tracker.entities.dto.HitsData;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface HitsMapper {
|
||||
|
||||
void setHits(@Param("hits") List<HitsData> hits);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package ru.nbch.credit_tracker.mapper.signal;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import ru.nbch.credit_tracker.entities.dto.SubjectData;
|
||||
import ru.nbch.credit_tracker.entities.request.monitoring_request.Subject;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface PhoneFidMapMapper {
|
||||
|
||||
void registerSubjects(@Param("subjects") List<Subject> subjects, @Param("packageId") Integer packageId);
|
||||
|
||||
void registerSubjectsFidAndDebts(@Param("id") Integer id, @Param("fid") Integer fid, @Param("flagDebt5000") Integer flagDebt5000, @Param("flag90") Integer flag90, @Param("calculatedAt") LocalDateTime calculatedAt);
|
||||
|
||||
List<SubjectData> findSubjectsData(@Param("packageId") Integer packageId);
|
||||
|
||||
List<SubjectData> findFullSubjectsData(@Param("packageId") Integer packageId);
|
||||
|
||||
void updateSubjects(@Param("subjects") List<SubjectData> subjects);
|
||||
|
||||
}
|
||||
|
|
@ -2,17 +2,14 @@ package ru.nbch.credit_tracker.mapper.signal;
|
|||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import ru.nbch.credit_tracker.entities.dto.HitsData;
|
||||
import ru.nbch.credit_tracker.entities.dto.PackageData;
|
||||
import ru.nbch.credit_tracker.entities.dto.SubjectData;
|
||||
import ru.nbch.credit_tracker.entities.request.monitoring_request.MonitoringRequest;
|
||||
import ru.nbch.credit_tracker.entities.request.monitoring_request.Subject;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface SignalMapper {
|
||||
public interface UserPackageMapper {
|
||||
|
||||
boolean isPackageNotUnique(@Param("userId") String userId, @Param("packageName") String packageName);
|
||||
|
||||
|
|
@ -20,19 +17,11 @@ public interface SignalMapper {
|
|||
|
||||
void deletePackage(@Param("userId") String userId, @Param("packageName") String packageName, @Param("status") String newStatus, @Param("previousStatus") String previousStatus, @Param("deactivatedAt") LocalDateTime deactivatedAt);
|
||||
|
||||
Integer registerPackage(@Param("request") MonitoringRequest request, @Param("creadedAt") LocalDateTime creadedAt, @Param("status") String status);
|
||||
|
||||
void registerSubjects(@Param("subjects") List<Subject> subjects, @Param("packageId") Integer packageId);
|
||||
|
||||
void insertPackage(@Param("request") MonitoringRequest request, @Param("creadedAt") LocalDateTime creadedAt, @Param("status") String status);
|
||||
|
||||
void registerSubjectsFidAndDebts(@Param("id") Integer id, @Param("fid") Integer fid, @Param("flagDebt5000") Integer flagDebt5000, @Param("flag90") Integer flag90, @Param("calculatedAt") LocalDateTime calculatedAt);
|
||||
Integer insertPackage(@Param("request") MonitoringRequest request, @Param("creadedAt") LocalDateTime creadedAt, @Param("status") String status);
|
||||
|
||||
void setPackageStatus(@Param("packageId") Integer packageId, @Param("status") String status);
|
||||
|
||||
List<SubjectData> findSubjectsData(@Param("packageId") Integer packageId);
|
||||
|
||||
List<SubjectData> findFullSubjectsData(@Param("packageId") Integer packageId);
|
||||
void setPackageLastDownloadedReport(@Param("id") Integer id, @Param("fileName") String fileName);
|
||||
|
||||
PackageData findPackageData(@Param("id") Integer id);
|
||||
|
||||
|
|
@ -40,9 +29,4 @@ public interface SignalMapper {
|
|||
|
||||
List<PackageData> findPackagesByStatus(@Param("status") String status);
|
||||
|
||||
void setHits(@Param("hits") List<HitsData> hits);
|
||||
|
||||
void updateSubjects(@Param("subjects") List<SubjectData> subjects);
|
||||
|
||||
void setPackageLastDownloadedReport(@Param("id") Integer id, @Param("fileName") String fileName);
|
||||
}
|
||||
|
|
@ -17,10 +17,12 @@ import ru.nbch.credit_tracker.entities.signal_package.Auth;
|
|||
import ru.nbch.credit_tracker.entities.signal_package.Person;
|
||||
import ru.nbch.credit_tracker.entities.signal_package.Signals;
|
||||
import ru.nbch.credit_tracker.enums.Status;
|
||||
import ru.nbch.credit_tracker.mapper.signal.SignalMapper;
|
||||
import ru.nbch.credit_tracker.service.indic.FlagsService;
|
||||
import ru.nbch.credit_tracker.service.indic.PersonService;
|
||||
import ru.nbch.credit_tracker.service.indic.PhoneService;
|
||||
import ru.nbch.credit_tracker.service.signal.HitsService;
|
||||
import ru.nbch.credit_tracker.service.signal.PhoneFidMapService;
|
||||
import ru.nbch.credit_tracker.service.signal.UserPackageService;
|
||||
import ru.nbch.credit_tracker.utils.CTUtil;
|
||||
|
||||
import java.text.DateFormat;
|
||||
|
|
@ -39,7 +41,9 @@ public class SignalService {
|
|||
private final static DateFormat DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy");
|
||||
|
||||
private final CreditTrackerSettings config;
|
||||
private final SignalMapper mapper;
|
||||
private final HitsService hitsService;
|
||||
private final UserPackageService userPackageService;
|
||||
private final PhoneFidMapService phoneFidMapService;
|
||||
private final PhoneService phoneService;
|
||||
private final FlagsService flagsService;
|
||||
private final PersonService personService;
|
||||
|
|
@ -47,12 +51,16 @@ public class SignalService {
|
|||
private final int batchSize = 10000;
|
||||
|
||||
public SignalService(CreditTrackerSettings config,
|
||||
SignalMapper mapper,
|
||||
HitsService hitsService,
|
||||
UserPackageService userPackageService,
|
||||
PhoneFidMapService phoneFidMapService,
|
||||
PhoneService phoneService,
|
||||
FlagsService flagsService,
|
||||
PersonService personService) {
|
||||
this.config = config;
|
||||
this.mapper = mapper;
|
||||
this.hitsService = hitsService;
|
||||
this.userPackageService = userPackageService;
|
||||
this.phoneFidMapService = phoneFidMapService;
|
||||
this.phoneService = phoneService;
|
||||
this.flagsService = flagsService;
|
||||
this.personService = personService;
|
||||
|
|
@ -60,21 +68,21 @@ public class SignalService {
|
|||
|
||||
public boolean isPackageNotUnique(MonitoringRequest request) {
|
||||
String userId = request.getUserId();
|
||||
return mapper.isPackageNotUnique(userId.substring(0, 6), request.getPackageName());
|
||||
return userPackageService.isPackageNotUnique(userId.substring(0, 6), request.getPackageName());
|
||||
}
|
||||
|
||||
public Integer registerPackage(MonitoringRequest request) {
|
||||
Integer packageId = mapper.registerPackage(request, LocalDateTime.now(), Status.PROCESSING.name());
|
||||
Integer packageId = userPackageService.insertPackage(request, LocalDateTime.now(), Status.PROCESSING);
|
||||
List<Subject> subjects = request.getSubjects().getSubject();
|
||||
for (int i = 0; i < subjects.size(); i += batchSize) {
|
||||
int end = Math.min(i + batchSize, subjects.size());
|
||||
mapper.registerSubjects(subjects.subList(i, end), packageId);
|
||||
phoneFidMapService.registerSubjects(subjects.subList(i, end), packageId);
|
||||
}
|
||||
return packageId;
|
||||
}
|
||||
|
||||
public List<PhoneService.FidsPhoneData> registerSubjectsFidAndDebts(Integer packageId) {
|
||||
List<SubjectData> subjects = mapper.findSubjectsData(packageId);
|
||||
List<SubjectData> subjects = phoneFidMapService.findSubjectsData(packageId);
|
||||
return updateFlags(subjects, packageId);
|
||||
}
|
||||
|
||||
|
|
@ -101,7 +109,7 @@ public class SignalService {
|
|||
int updateBatchSize = batchSize / 8; // 8 параметров на одну запись для обновления. Максимальное количество параметров ~65000
|
||||
for (int j = 0; j < subjectToUpdate.size(); j += updateBatchSize) {
|
||||
int endIndex = Math.min(j + updateBatchSize, subjectToUpdate.size());
|
||||
mapper.updateSubjects(subjectToUpdate.subList(j, endIndex));
|
||||
phoneFidMapService.updateSubjects(subjectToUpdate.subList(j, endIndex));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -109,15 +117,15 @@ public class SignalService {
|
|||
}
|
||||
|
||||
public void rejectPackage(MonitoringRequest request) {
|
||||
mapper.insertPackage(request, LocalDateTime.now(), Status.REJECTED.name());
|
||||
userPackageService.insertPackage(request, LocalDateTime.now(), Status.REJECTED);
|
||||
}
|
||||
|
||||
public void setPackageStatus(Integer packageId, Status status) {
|
||||
mapper.setPackageStatus(packageId, status.name());
|
||||
userPackageService.setPackageStatus(packageId, status);
|
||||
}
|
||||
|
||||
public Signals buildSignals(Integer packageId, List<PhoneService.FidsPhoneData> fids) {
|
||||
PackageData packageData = mapper.findPackageData(packageId);
|
||||
PackageData packageData = userPackageService.findPackageData(packageId);
|
||||
Signals signals = new Signals();
|
||||
signals.setOnline("2"); // Всегда=2 (только онлайн-сигналы)
|
||||
signals.setId(packageData.getUserId().substring(0, 6) + "_" + packageData.getPackageName()); // <MEMBERCODE>_<PackageName>
|
||||
|
|
@ -205,7 +213,7 @@ public class SignalService {
|
|||
activePackages.setStatus("OK");
|
||||
activePackages.setMembercode(memberCode);
|
||||
Packages packages = new Packages();
|
||||
mapper.findPackageDataList(memberCode, Status.ON_MONITORING.name()).forEach(data -> {
|
||||
userPackageService.findPackageDataList(memberCode, Status.ON_MONITORING).forEach(data -> {
|
||||
Package pack = new Package();
|
||||
pack.setPackageName(data.getPackageName());
|
||||
pack.setCreatedAt(data.getCreatedAt() != null ? data.getCreatedAt().toString() : null);
|
||||
|
|
@ -220,12 +228,12 @@ public class SignalService {
|
|||
}
|
||||
|
||||
public boolean isPackageExists(String username, String packageName) {
|
||||
return mapper.isPackageExists(username.substring(0, 6), packageName, Status.ON_MONITORING.name());
|
||||
return userPackageService.isPackageExists(username.substring(0, 6), packageName, Status.ON_MONITORING);
|
||||
}
|
||||
|
||||
public MonitoringPackageDeleteResponse deletePackage(String username, String packageName) {
|
||||
LocalDateTime deactivatedAt = LocalDateTime.now();
|
||||
mapper.deletePackage(username.substring(0, 6), packageName, Status.DELETED.name(), Status.ON_MONITORING.name(), deactivatedAt);
|
||||
userPackageService.deletePackage(username.substring(0, 6), packageName, Status.DELETED, Status.ON_MONITORING, deactivatedAt);
|
||||
|
||||
MonitoringPackageDeleteResponse deleteResponse = new MonitoringPackageDeleteResponse();
|
||||
deleteResponse.setStatus("Deleted");
|
||||
|
|
@ -235,18 +243,18 @@ public class SignalService {
|
|||
}
|
||||
|
||||
public List<PackageData> findPackagesOnMonitoring() {
|
||||
return mapper.findPackagesByStatus(Status.ON_MONITORING.name());
|
||||
return userPackageService.findPackagesByStatus(Status.ON_MONITORING);
|
||||
}
|
||||
|
||||
public List<SubjectData> findFullSubjectsData(Integer packageId) {
|
||||
return mapper.findFullSubjectsData(packageId);
|
||||
return phoneFidMapService.findFullSubjectsData(packageId);
|
||||
}
|
||||
|
||||
public void setHits(List<HitsData> hits) {
|
||||
mapper.setHits(hits);
|
||||
hitsService.setHits(hits);
|
||||
}
|
||||
|
||||
public void updateLastDownloadedReport(Integer id, String fileName) {
|
||||
mapper.setPackageLastDownloadedReport(id, fileName);
|
||||
userPackageService.setPackageLastDownloadedReport(id, fileName);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
package ru.nbch.credit_tracker.service.signal;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.nbch.credit_tracker.entities.dto.HitsData;
|
||||
import ru.nbch.credit_tracker.mapper.signal.HitsMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class HitsService {
|
||||
|
||||
private final HitsMapper mapper;
|
||||
|
||||
public HitsService(HitsMapper mapper) {
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
public void setHits(List<HitsData> hits) {
|
||||
mapper.setHits(hits);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package ru.nbch.credit_tracker.service.signal;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.nbch.credit_tracker.entities.dto.SubjectData;
|
||||
import ru.nbch.credit_tracker.entities.request.monitoring_request.Subject;
|
||||
import ru.nbch.credit_tracker.mapper.signal.PhoneFidMapMapper;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class PhoneFidMapService {
|
||||
|
||||
private final PhoneFidMapMapper mapper;
|
||||
|
||||
public PhoneFidMapService(PhoneFidMapMapper mapper) {
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
public void registerSubjects(List<Subject> subjects, Integer packageId) {
|
||||
mapper.registerSubjects(subjects, packageId);
|
||||
}
|
||||
|
||||
public void registerSubjectsFidAndDebts(Integer id, Integer fid, Integer flagDebt5000, Integer flag90, LocalDateTime calculatedAt) {
|
||||
mapper.registerSubjectsFidAndDebts(id, fid, flagDebt5000, flag90, calculatedAt);
|
||||
}
|
||||
|
||||
public List<SubjectData> findSubjectsData(Integer packageId) {
|
||||
return mapper.findSubjectsData(packageId);
|
||||
}
|
||||
|
||||
public List<SubjectData> findFullSubjectsData( Integer packageId) {
|
||||
return mapper.findFullSubjectsData(packageId);
|
||||
}
|
||||
|
||||
public void updateSubjects(List<SubjectData> subjects) {
|
||||
mapper.updateSubjects(subjects);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
package ru.nbch.credit_tracker.service.signal;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.nbch.credit_tracker.entities.dto.PackageData;
|
||||
import ru.nbch.credit_tracker.entities.request.monitoring_request.MonitoringRequest;
|
||||
import ru.nbch.credit_tracker.enums.Status;
|
||||
import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class UserPackageService {
|
||||
|
||||
private final UserPackageMapper mapper;
|
||||
|
||||
public UserPackageService(UserPackageMapper mapper) {
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
public boolean isPackageNotUnique(String userId, String packageName) {
|
||||
return mapper.isPackageNotUnique(userId, packageName);
|
||||
}
|
||||
|
||||
public boolean isPackageExists(String userId, String packageName, Status status) {
|
||||
return mapper.isPackageExists(userId, packageName, status.name());
|
||||
}
|
||||
|
||||
public void deletePackage(String userId, String packageName, Status newStatus, Status previousStatus, LocalDateTime deactivatedAt) {
|
||||
mapper.deletePackage(userId, packageName, newStatus.name(), previousStatus.name(), deactivatedAt);
|
||||
}
|
||||
|
||||
public Integer insertPackage(MonitoringRequest request, LocalDateTime creadedAt, Status status) {
|
||||
return mapper.insertPackage(request, creadedAt, status.name());
|
||||
}
|
||||
|
||||
public void setPackageStatus(Integer packageId, Status status) {
|
||||
mapper.setPackageStatus(packageId, status.name());
|
||||
}
|
||||
|
||||
public void setPackageLastDownloadedReport(Integer id, String fileName) {
|
||||
mapper.setPackageLastDownloadedReport(id, fileName);
|
||||
}
|
||||
|
||||
public PackageData findPackageData(Integer id) {
|
||||
return mapper.findPackageData(id);
|
||||
}
|
||||
|
||||
public List<PackageData> findPackageDataList(String userId, Status status) {
|
||||
return mapper.findPackageDataList(userId, status.name());
|
||||
}
|
||||
|
||||
public List<PackageData> findPackagesByStatus(Status status) {
|
||||
return mapper.findPackagesByStatus(status.name());
|
||||
}
|
||||
}
|
||||
16
src/main/resources/mybatis/mapper/signal/HitsMapper.xml
Normal file
16
src/main/resources/mybatis/mapper/signal/HitsMapper.xml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="ru.nbch.credit_tracker.mapper.signal.HitsMapper">
|
||||
|
||||
<insert id="setHits" parameterType="java.util.List">
|
||||
INSERT INTO signals_hits (package_id, subject_id, signal_type, response_sent_at, report_file_name)
|
||||
values
|
||||
<foreach collection="hits" item="hit" separator=",">
|
||||
(#{hit.packageId}, #{hit.subjectId}, #{hit.signalType}, #{hit.responseSentAt}, #{hit.reportFileName})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
69
src/main/resources/mybatis/mapper/signal/PhoneFidMapper.xml
Normal file
69
src/main/resources/mybatis/mapper/signal/PhoneFidMapper.xml
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="ru.nbch.credit_tracker.mapper.signal.SignalMapper">
|
||||
|
||||
<resultMap id="subjectDataResultMap" type="ru.nbch.credit_tracker.entities.dto.SubjectData">
|
||||
<result property="id" column="id"/>
|
||||
<result property="packageId" column="package_id"/>
|
||||
<result property="subjectId" column="subject_id"/>
|
||||
<result property="phone" column="phone"/>
|
||||
<result property="fid" column="fid"/>
|
||||
<result property="flagDebt5000" column="flag_debt5000"/>
|
||||
<result property="flag90days" column="flag_90_12"/>
|
||||
<result property="calculatedAt" column="calculated_at"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="registerSubjects" parameterType="java.util.List">
|
||||
INSERT INTO signals_phone_fid_map (subject_id, phone, fid, package_id)
|
||||
values
|
||||
<foreach collection="subjects" item="subject" separator=",">
|
||||
(#{subject.id}, #{subject.clientId}, NULL, #{packageId})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
<update id="updateSubjects" parameterType="java.util.List">
|
||||
<foreach collection="subjects" item="subject" separator=";">
|
||||
UPDATE signals_phone_fid_map
|
||||
SET
|
||||
package_id = #{subject.packageId},
|
||||
subject_id = #{subject.subjectId},
|
||||
phone = #{subject.phone},
|
||||
fid = #{subject.fid},
|
||||
flag_debt5000 = #{subject.flagDebt5000},
|
||||
flag_90_12 = #{subject.flag90days},
|
||||
calculated_at = #{subject.calculatedAt}
|
||||
WHERE id = #{subject.id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="registerSubjectsFidAndDebts">
|
||||
UPDATE signals_phone_fid_map
|
||||
SET fid = #{fid}, flag_debt5000 = #{flagDebt5000}, flag_90_12 = #{flag90}, calculated_at = #{calculatedAt}
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="findSubjectsData" resultMap="subjectDataResultMap" resultType="java.util.List">
|
||||
SELECT id, subject_id, phone
|
||||
FROM signals_phone_fid_map
|
||||
WHERE package_id = #{packageId}
|
||||
</select>
|
||||
|
||||
<select id="findFullSubjectsData" resultMap="subjectDataResultMap" resultType="java.util.List">
|
||||
SELECT id,
|
||||
package_id,
|
||||
subject_id,
|
||||
phone,
|
||||
fid,
|
||||
flag_90_12,
|
||||
flag_debt5000,
|
||||
calculated_at
|
||||
FROM signals_phone_fid_map
|
||||
WHERE package_id = #{packageId}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -3,18 +3,7 @@
|
|||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="ru.nbch.credit_tracker.mapper.signal.SignalMapper">
|
||||
|
||||
<resultMap id="subjectDataResultMap" type="ru.nbch.credit_tracker.entities.dto.SubjectData">
|
||||
<result property="id" column="id"/>
|
||||
<result property="packageId" column="package_id"/>
|
||||
<result property="subjectId" column="subject_id"/>
|
||||
<result property="phone" column="phone"/>
|
||||
<result property="fid" column="fid"/>
|
||||
<result property="flagDebt5000" column="flag_debt5000"/>
|
||||
<result property="flag90days" column="flag_90_12"/>
|
||||
<result property="calculatedAt" column="calculated_at"/>
|
||||
</resultMap>
|
||||
<mapper namespace="ru.nbch.credit_tracker.mapper.signal.UserPackageMapper">
|
||||
|
||||
<resultMap id="packageDataResultMap" type="ru.nbch.credit_tracker.entities.dto.PackageData">
|
||||
<result property="id" column="id"/>
|
||||
|
|
@ -61,43 +50,6 @@
|
|||
values (#{request.userId}, #{request.packageName}, #{creadedAt}, #{status})
|
||||
</insert>
|
||||
|
||||
<insert id="registerSubjects" parameterType="java.util.List">
|
||||
INSERT INTO signals_phone_fid_map (subject_id, phone, fid, package_id)
|
||||
values
|
||||
<foreach collection="subjects" item="subject" separator=",">
|
||||
(#{subject.id}, #{subject.clientId}, NULL, #{packageId})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="setHits" parameterType="java.util.List">
|
||||
INSERT INTO signals_hits (package_id, subject_id, signal_type, response_sent_at, report_file_name)
|
||||
values
|
||||
<foreach collection="hits" item="hit" separator=",">
|
||||
(#{hit.packageId}, #{hit.subjectId}, #{hit.signalType}, #{hit.responseSentAt}, #{hit.reportFileName})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<update id="updateSubjects" parameterType="java.util.List">
|
||||
<foreach collection="subjects" item="subject" separator=";">
|
||||
UPDATE signals_phone_fid_map
|
||||
SET
|
||||
package_id = #{subject.packageId},
|
||||
subject_id = #{subject.subjectId},
|
||||
phone = #{subject.phone},
|
||||
fid = #{subject.fid},
|
||||
flag_debt5000 = #{subject.flagDebt5000},
|
||||
flag_90_12 = #{subject.flag90days},
|
||||
calculated_at = #{subject.calculatedAt}
|
||||
WHERE id = #{subject.id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="registerSubjectsFidAndDebts">
|
||||
UPDATE signals_phone_fid_map
|
||||
SET fid = #{fid}, flag_debt5000 = #{flagDebt5000}, flag_90_12 = #{flag90}, calculated_at = #{calculatedAt}
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="setPackageStatus">
|
||||
UPDATE signals_user_packages
|
||||
SET status = #{status}
|
||||
|
|
@ -110,25 +62,6 @@
|
|||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="findSubjectsData" resultMap="subjectDataResultMap" resultType="java.util.List">
|
||||
SELECT id, subject_id, phone
|
||||
FROM signals_phone_fid_map
|
||||
WHERE package_id = #{packageId}
|
||||
</select>
|
||||
|
||||
<select id="findFullSubjectsData" resultMap="subjectDataResultMap" resultType="java.util.List">
|
||||
SELECT id,
|
||||
package_id,
|
||||
subject_id,
|
||||
phone,
|
||||
fid,
|
||||
flag_90_12,
|
||||
flag_debt5000,
|
||||
calculated_at
|
||||
FROM signals_phone_fid_map
|
||||
WHERE package_id = #{packageId}
|
||||
</select>
|
||||
|
||||
<select id="findPackageData" resultMap="packageDataResultMap"
|
||||
resultType="ru.nbch.credit_tracker.entities.dto.PackageData">
|
||||
SELECT membercode, package_name
|
||||
Loading…
Add table
Reference in a new issue