package com.fzzy.igds;
|
|
import com.bstek.dorado.annotation.DataProvider;
|
import com.bstek.dorado.annotation.DataResolver;
|
import com.bstek.dorado.annotation.Expose;
|
import com.bstek.dorado.data.entity.EntityState;
|
import com.bstek.dorado.data.entity.EntityUtils;
|
import com.fzzy.igds.constant.Constant;
|
import com.fzzy.igds.constant.OrderRespEnum;
|
import com.fzzy.igds.domain.Slogan;
|
import com.fzzy.igds.service.SloganService;
|
import com.fzzy.igds.utils.ContextUtil;
|
import com.fzzy.igds.websocket.WebSocketPacket;
|
import com.fzzy.igds.websocket.WebSocketServer;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Component;
|
import org.springframework.transaction.annotation.Transactional;
|
import javax.annotation.Resource;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @Description 大屏标语管理
|
* @Author CZT
|
* @Date 2025/12/18 19:19
|
*/
|
@Component
|
public class SloganPR {
|
|
@Resource
|
private SloganService sloganService;
|
|
/**
|
* 查询
|
*
|
* sloganPR#loadData
|
*
|
* @param
|
* @return
|
*/
|
@DataProvider
|
public List<Slogan> loadData() {
|
return sloganService.listData(null);
|
}
|
|
/**
|
* 保存 sloganPR#saveAll
|
*
|
* @return
|
*/
|
@DataResolver
|
@Transactional
|
public String saveAll(List<Slogan> items) {
|
EntityState state;
|
Slogan slogan;
|
for (Slogan item : items) {
|
slogan = new Slogan();
|
BeanUtils.copyProperties(item, slogan);
|
state = EntityUtils.getState(item);
|
if (state == EntityState.NEW) {
|
sloganService.saveData(slogan);
|
}
|
if (state == EntityState.DELETED) {
|
sloganService.delData(slogan);
|
}
|
if (state == EntityState.MODIFIED) {
|
sloganService.saveData(slogan);
|
}
|
}
|
return null;
|
}
|
|
/**
|
* 删除数据
|
* sloganPR#delData
|
*
|
* @param data
|
* @return
|
*/
|
@Expose
|
public void delData(Slogan data) {
|
Slogan slogan = new Slogan();
|
BeanUtils.copyProperties(data, slogan);
|
sloganService.delData(slogan);
|
}
|
|
|
/**
|
* sloganPR#push
|
* @return
|
*/
|
@Expose
|
@Transactional
|
public void push(Slogan data) {
|
|
//设置全部标语为不启用
|
List<Slogan> slogans = sloganService.listData(null);
|
if(null != slogans && slogans.size() > 0){
|
for (Slogan slogan1 : slogans) {
|
slogan1.setStatus(Constant.YN_N);
|
sloganService.saveData(slogan1);
|
}
|
}
|
|
//设置当前标语为启用
|
Slogan slogan = new Slogan();
|
BeanUtils.copyProperties(data, slogan);
|
slogan.setStatus(Constant.YN_Y);
|
slogan.setPushTime(new Date());
|
slogan.setPushUser(ContextUtil.getLoginUserName());
|
sloganService.saveData(slogan);
|
|
// 通知前端
|
WebSocketPacket packet = new WebSocketPacket();
|
packet.setBizType("screen");
|
packet.setCompanyId(data.getCompanyId());
|
packet.setDeptId(data.getCompanyId());
|
packet.setBizId("slogan");
|
packet.setOrderResp(OrderRespEnum.ORDER_INPROGRESS.getCode());
|
|
packet.setData(slogan);
|
WebSocketServer.sendByPocket(packet);
|
}
|
}
|