1.Application添加@EnableTransactionManagement注解
2.系统消息批量insert
This commit is contained in:
parent
f346f9e8b8
commit
3df4ef193f
|
|
@ -3,9 +3,11 @@ package cn.org.gitlink.notification.executor;
|
|||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
@ComponentScan("cn.org.gitlink.notification.*")
|
||||
@SpringBootApplication
|
||||
@EnableTransactionManagement
|
||||
public class ExecutorApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(ExecutorApplication.class, args);}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,10 @@ package cn.org.gitlink.notification.model;
|
|||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableTransactionManagement
|
||||
public class ModelApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(ModelApplication.class, args);
|
||||
|
|
|
|||
|
|
@ -51,4 +51,7 @@ public interface SysNotificationMapper extends BaseMapper<SysNotification> {
|
|||
@Param("receiver") Integer receiver,
|
||||
@Param("notificationIds") String notificationIds,
|
||||
@Param("type") Integer type);
|
||||
|
||||
//批量插入系统消息数据
|
||||
int insertSysNotificationsBatch(@Param("platform") String platform, @Param("list") List<SysNotification> sysNotificationList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -28,20 +29,24 @@ public class SysNotificationServiceImpl extends ServiceImpl<SysNotificationMappe
|
|||
@Override
|
||||
@Transactional
|
||||
public boolean sendNotification(NewSysNotificationVo newSysNotificationVo) throws Exception {
|
||||
SysNotification sysNotification = new SysNotification();
|
||||
sysNotification.setSender(newSysNotificationVo.getSender());
|
||||
sysNotification.setContent(newSysNotificationVo.getContent());
|
||||
sysNotification.setNotificationUrl(newSysNotificationVo.getNotification_url());
|
||||
sysNotification.setType(newSysNotificationVo.getType());
|
||||
sysNotification.setSource(newSysNotificationVo.getSource());
|
||||
sysNotification.setExtra(newSysNotificationVo.getExtra());
|
||||
List<SysNotification> sysNotificationList = new ArrayList<>();
|
||||
List<String> list = Arrays.asList(newSysNotificationVo.getReceivers().split(","));
|
||||
for (String receiver : list) {
|
||||
SysNotification sysNotification = new SysNotification();
|
||||
sysNotification.setSender(newSysNotificationVo.getSender());
|
||||
sysNotification.setContent(newSysNotificationVo.getContent());
|
||||
sysNotification.setNotificationUrl(newSysNotificationVo.getNotification_url());
|
||||
sysNotification.setType(newSysNotificationVo.getType());
|
||||
sysNotification.setSource(newSysNotificationVo.getSource());
|
||||
sysNotification.setExtra(newSysNotificationVo.getExtra());
|
||||
sysNotification.setReceiver(Integer.parseInt(receiver));
|
||||
//TODO: 需要批量插入的支持
|
||||
baseMapper.insertSelective(newSysNotificationVo.getPlatform(), sysNotification);
|
||||
sysNotificationList.add(sysNotification);
|
||||
}
|
||||
baseMapper.insertSysNotificationsBatch(newSysNotificationVo.getPlatform(), sysNotificationList);
|
||||
for (String receiver : list){
|
||||
this.delUserCache(newSysNotificationVo.getPlatform(), Integer.parseInt(receiver));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -213,4 +213,20 @@
|
|||
and id in (${notificationIds})
|
||||
</if>
|
||||
</update>
|
||||
<insert id ="insertSysNotificationsBatch" parameterType="java.util.List" >
|
||||
<selectKey resultType ="java.lang.Integer" keyProperty= "id"
|
||||
order= "AFTER">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey >
|
||||
insert into ${platform}_sys_notification
|
||||
(id, sender, receiver, content, notification_url, type, source, extra)
|
||||
values
|
||||
<foreach collection ="list" item="record" index= "index" separator =",">
|
||||
(
|
||||
#{record.id,jdbcType=INTEGER}, #{record.sender,jdbcType=INTEGER}, #{record.receiver,jdbcType=INTEGER},
|
||||
#{record.content,jdbcType=VARCHAR}, #{record.notificationUrl,jdbcType=VARCHAR}, #{record.type,jdbcType=TINYINT},
|
||||
#{record.source,jdbcType=VARCHAR}, #{record.extra,jdbcType=VARCHAR}
|
||||
)
|
||||
</foreach >
|
||||
</insert >
|
||||
</mapper>
|
||||
|
|
@ -2,8 +2,10 @@ package cn.org.gitlink.notification.model;
|
|||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableTransactionManagement
|
||||
public class ModelApplicationTest {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(ModelApplicationTest.class, args);
|
||||
|
|
|
|||
|
|
@ -3,9 +3,11 @@ package cn.org.gitlink.notification.reader;
|
|||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
@ComponentScan("cn.org.gitlink.notification.*")
|
||||
@SpringBootApplication
|
||||
@EnableTransactionManagement
|
||||
public class ReaderApiApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(ReaderApiApplication.class, args);
|
||||
|
|
|
|||
|
|
@ -3,9 +3,11 @@ package cn.org.gitlink.notification;
|
|||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
@ComponentScan("cn.org.gitlink.notification.*")
|
||||
@SpringBootApplication
|
||||
@EnableTransactionManagement
|
||||
public class WriterApiApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(WriterApiApplication.class, args);
|
||||
|
|
|
|||
Loading…
Reference in New Issue