Merge branch 'master' of codeup.aliyun.com:6265f483e4166464dc2f9c14/boeu/baseservers

This commit is contained in:
dongruihua
2023-02-02 14:20:02 +08:00
9 changed files with 235 additions and 17 deletions

View File

@@ -56,8 +56,8 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
String responseStr = okHttpUtil.doPostJson(url, json, headers);
JsonNode rootNode= mapper.readTree(responseStr);
JsonNode result = rootNode.get("result")!=null ?( rootNode.get("result").get("data") !=null ? rootNode.get("result").get("data"):null):null;
if(rootNode.get("result")!=null & rootNode.get("result").isArray()) {
JsonNode result = rootNode.get("result")!=null ? ( rootNode.get("result").get("data") !=null ? rootNode.get("result").get("data"):null):null;
if(result!=null && result.isArray()) {
//这里应该是单独的线程去处理
for(JsonNode JsonNode :result) {
AudienceUser au=new AudienceUser();
@@ -166,7 +166,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
String token = TokenProxy.getToken(request);
String type="application/json";
String[] headers=new String[] {"token",token,"Content-Type",type};
String url= getBaseUrl("/org/listOrgIds");
String url= getBaseUrl("/org/manageOrgIds");
ObjectMapper mapper=new ObjectMapper();
String responseStr=null;
try{
@@ -178,7 +178,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
return null;
}
if(rootNode.get("result")!=null & rootNode.get("result").isObject()) {
if(rootNode.get("result")!=null & rootNode.get("result").isArray()) {
JsonNode result = rootNode.get("result");
Iterator<JsonNode> elements = result.elements();
while (elements.hasNext()){
@@ -191,6 +191,72 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
return orgIds;
}
// public static void main(String[] args) {
//// List<String> orgIds = new ArrayList<>();
//// String token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NzUzMDkxMDcsImV4cCI6MTY3NTMxNjMwNywiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjdFMDY1NzQxLTkzRUItRTc1Ni02Mzk5LUIwQTA1QUY2NEE3OSIsInVJZCI6Ijk2NTM2OTU4MjM5Mjk3MTI2NCIsInBlcm1pc3Npb24iOiIifQ==.6780daf88206d3f4f2cfc184268f4c1b80f25a916105219a5a6f2e904762b1e8";
//// String type="application/json";
//// String[] headers=new String[] {"token",token,"Content-Type",type};
//// String url= ("https://u.boe.com/userbasic/org/manageOrgIds");
//// ObjectMapper mapper=new ObjectMapper();
//// String responseStr=null;
//// try{
//// OkHttpUtil http=new OkHttpUtil();
//// responseStr = http.doPostJson(url,"{}", headers);
//// System.out.println(responseStr);
//// JsonNode rootNode= mapper.readTree(responseStr);
//// int code = rootNode.get("status").asInt();
//// System.out.println("code="+code);
//// if(code!=200) {
//// log.error("获取当前用户拥有权限机构id错误"+responseStr);
//// }
////
//// if(rootNode.get("result")!=null & rootNode.get("result").isArray()) {
//// JsonNode result = rootNode.get("result");
//// Iterator<JsonNode> elements = result.elements();
//// while (elements.hasNext()){
//// orgIds.add(elements.next().toString());
//// }
//// }
//// for(String str : orgIds) {
//// System.out.println(str);
//// }
//// }catch (Exception e){
//// log.error("获取当前用户有权限的机构id错误",e);
//// }
// String token="eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NzUzMTY3OTMsImV4cCI6MTY3NTMyMzk5MywiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjdFMDY1NzQxLTkzRUItRTc1Ni02Mzk5LUIwQTA1QUY2NEE3OSIsInVJZCI6Ijk2NTM2OTU4MjM5Mjk3MTI2NCIsInBlcm1pc3Npb24iOiIifQ==.75814a454f8a022cbe24f29eb956b5350f1212fc105b951df8bc2a82975a05a4";
// String url= "https://u.boe.com/userbasic/audience/memberList";
// Map<String, String> params = new HashMap<>();
// params.put("audienceId", "70061506155860912129");
// String json = null;
// List<AudienceUser> list=new ArrayList<AudienceUser>();
// ObjectMapper mapper=new ObjectMapper();
// try {
//
// json = mapper.writeValueAsString(params);
// OkHttpUtil http=new OkHttpUtil();
// String[] headers=new String[] {"token",token,"Content-Type","application/json"};
// String responseStr = http.doPostJson(url, json, headers);
// System.out.println(responseStr);
// JsonNode rootNode= mapper.readTree(responseStr);
//
// JsonNode result = rootNode.get("result")!=null ? ( rootNode.get("result").get("data") !=null ? rootNode.get("result").get("data"):null):null;
// if(result!=null && result.isArray()) {
// //这里应该是单独的线程去处理
// for(JsonNode JsonNode :result) {
// AudienceUser au=new AudienceUser();
// au.setId(JsonNode.get("id").asText());
// au.setName(JsonNode.get("userName").asText());
// au.setCode(JsonNode.get("userNo").asText());
// list.add(au);
// System.out.println(au.getName());
// }
// }
// } catch (Exception e) {
// log.error("获取受众用户列表错误",e);
// }
//
// }
private String getBaseUrl(String url) {
String baseUrl=SysConstant.getConfigValue("xboe.server.userbasic.url");

View File

@@ -68,21 +68,28 @@ public class ArticleServiceImpl implements IArticleService{
@Override
public List<Article> articelList(Integer type) {
OrderCondition oc=OrderCondition.desc("sysCreateTime");
if(type==2){
oc=OrderCondition.desc("views");
}
//先查出带有图片的
List<Article> articles = new ArrayList<>();
Article article = dao.findOne(FieldFilters.eq("status", Article.STATUS_PUBLISH), FieldFilters.eq("deleted", false), FieldFilters.eq("enabled", true),
FieldFilters.isNotNull("coverurl"), FieldFilters.ge("coverurl", ""));
articles.add(article);
// Article article = dao.findOne(FieldFilters.eq("status", Article.STATUS_PUBLISH), FieldFilters.eq("deleted", false), FieldFilters.eq("enabled", true),
// FieldFilters.isNotNull("coverurl"), FieldFilters.ne("coverurl", ""));
// articles.add(article);
List<Article> tops =dao.findList(1, oc,FieldFilters.eq("status", Article.STATUS_PUBLISH), FieldFilters.eq("deleted", false), FieldFilters.eq("enabled", true),
FieldFilters.isNotNull("coverurl"),FieldFilters.ne("coverurl", ""));
Article first=tops.get(0);
articles.add(first);
QueryBuilder builder = QueryBuilder.from(Article.class);
if(type==2){
builder.addOrder(OrderCondition.desc("views"));
}else{
builder.addOrder(OrderCondition.desc("sysCreateTime"));
}
builder.addOrder(oc);
builder.addFilter(FieldFilters.eq("status", Article.STATUS_PUBLISH));
builder.addFilter(FieldFilters.eq("enabled",true));
builder.addFilter(FieldFilters.eq("deleted",false));
builder.addFilter(FieldFilters.ne("id", first.getId()));//去除第一个
builder.setPageSize(3);
List<Article> list = dao.findList(builder.builder());
articles.addAll(list);

View File

@@ -1,4 +1,4 @@
package com.xboe.module.course.api;
package com.xboe.module.course.api;
import java.io.OutputStream;
import java.util.ArrayList;
@@ -115,6 +115,7 @@ public class CourseManageApi extends ApiBaseController{
try {
List<String> orgIds = outSideDataService.getOrgIds();
String ids= StringUtils.join(orgIds,",");
//log.info("获取到的用户的组织机构权限ids",ids);
String aid=getCurrent().getAccountId();
//如果前端查询当前人的,这里去掉
if(StringUtils.isNotBlank( dto.getAid())) {

View File

@@ -22,6 +22,7 @@ import com.xboe.core.log.AutoLog;
import com.xboe.system.user.entity.Message;
import com.xboe.system.user.service.IMessageService;
import com.xboe.system.user.service.MessageSender;
import com.xboe.system.user.vo.BatchMessage;
import lombok.extern.slf4j.Slf4j;
@@ -105,6 +106,45 @@ public class MessageApi extends ApiBaseController {
return error("发布消息失败",e.getMessage());
}
}
@PostMapping("/batch-send")
@AutoLog(module = "消息",action = "批量发送消息")
public JsonResponse<Boolean> batchSave(@RequestBody BatchMessage message){
if(message.getAcceptIds()==null || message.getAcceptIds().isEmpty()) {
return badRequest("无发送人信息");
}
if(message.getAcceptNames()==null || message.getAcceptNames().isEmpty()) {
return badRequest("无发送人姓名信息");
}
if(message.getAcceptIds().size()!=message.getAcceptNames().size()) {
return badRequest("发送人姓名信息不相符");
}
if(StringUtil.isBlank(message.getTitle())){
return badRequest("标题不能为空");
}
if(StringUtil.isBlank(message.getTitle())){
return badRequest("标题不能为空");
}
if(StringUtil.isBlank(message.getContent())){
return badRequest("内容不能为空");
}
try {
//message.setIsRead(false);
// message.setMsgType(1);
// message.setMsgTime(LocalDateTime.now());
//MessageSender.send(message);
return success(true);
} catch (Exception e) {
log.error("发布消息失败",e);
return error("发布消息失败",e.getMessage());
}
}
/**
* 当前登陆人未读消息条数
* */

View File

@@ -31,7 +31,6 @@ public class SysManagerApi extends ApiBaseController {
/**
* 分页查询
*
* @return
*/
@PostMapping("/page")
@@ -47,7 +46,6 @@ public class SysManagerApi extends ApiBaseController {
/**
* 保存
*
* @param sysManager
* @return
*/

View File

@@ -5,6 +5,7 @@ import java.util.Map;
import com.xboe.common.PageList;
import com.xboe.system.user.entity.Message;
import com.xboe.system.user.vo.BatchMessage;
/**
* 消息接口
@@ -20,6 +21,12 @@ public interface IMessageService {
* 查看消息
* */
PageList<Message> queryMobile(int pageIndex,int pageSize,String aid,Boolean isRead);
/**
* 批量保存
* @param batch
*/
void batchSave(List<Message> list);
/**
* 删除消息

View File

@@ -1,7 +1,12 @@
package com.xboe.system.user.service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Component;
import com.xboe.common.utils.IDGenerator;
import com.xboe.system.user.entity.Message;
/**
@@ -16,9 +21,44 @@ public class MessageSender {
public MessageSender(IMessageService service) {
MessageSender.messageService=service;
}
public static void send(Message msg) {
if(messageService!=null){
messageService.save(msg);
}
}
public static void batchSend(List<String> acceptIds,List<String> acceptNames, Message data) {
if(messageService!=null){
List<Message> msgList=new ArrayList<Message>();
int n=acceptIds.size();
LocalDateTime now=LocalDateTime.now();
for(int i=0;i<n;i++) {
String aid=acceptIds.get(i);
String aname=acceptNames.get(i);
Message msg=new Message();
msg.setId(IDGenerator.generate());
msg.setAcceptId(aid);
msg.setAcceptName(aname);
msg.setContent(data.getContent());
msg.setConType("0");
msg.setIsRead(false);
msg.setMsgTime(now);
msg.setMsgType(1);
msg.setPageParams(data.getPageParams());
msg.setPageType(data.getPageType());
msg.setPageUrl(data.getPageUrl());
msg.setRefId(data.getRefId());
msg.setRefType(data.getRefType());
msg.setSendAid(data.getSendAid());
msg.setSendName(data.getSendName());
msg.setSendType(1);
msg.setSource(data.getSource());
msg.setTitle(data.getTitle());
msg.setContent(data.getContent());
msgList.add(msg);
}
messageService.batchSave(msgList);
}
}
}

View File

@@ -18,12 +18,12 @@ import com.xboe.core.orm.UpdateBuilder;
import com.xboe.system.user.dao.MessageDao;
import com.xboe.system.user.entity.Message;
import com.xboe.system.user.service.IMessageService;
import com.xboe.system.user.vo.BatchMessage;
/**
* 消息
* */
@Service
@Transactional
public class MessageServiceImpl implements IMessageService {
@Resource
@@ -61,11 +61,13 @@ public class MessageServiceImpl implements IMessageService {
}
@Override
@Transactional
public void delete(List<String> ids) {
dao.deleteByFilter(FieldFilters.in("id",ids));
}
@Override
@Transactional
public Message detail(String id) {
Message message = dao.get(id);
if(!message.getIsRead()){
@@ -75,6 +77,7 @@ public class MessageServiceImpl implements IMessageService {
}
@Override
@Transactional
public void save(Message message) {
dao.save(message);
}
@@ -89,6 +92,7 @@ public class MessageServiceImpl implements IMessageService {
}
@Override
@Transactional
public void updateIsRead(List<String> ids) {
dao.update(UpdateBuilder.from(Message.class)
.addUpdateField("isRead",true)
@@ -113,6 +117,7 @@ public class MessageServiceImpl implements IMessageService {
}
@Override
@Transactional
public void remove(String aid) {
dao.deleteByFilter(FieldFilters.eq("acceptId",aid));
}
@@ -128,6 +133,7 @@ public class MessageServiceImpl implements IMessageService {
}
@Override
@Transactional
public void setReadByAcceptId(String aid) {
dao.update("Update "+Message.class.getSimpleName()+" set isRead=?1 where acceptId=?2 and isRead=?3", true,aid,false);
}
@@ -137,4 +143,14 @@ public class MessageServiceImpl implements IMessageService {
dao.deleteByField("acceptId", aid);
}
@Override
@Transactional
public void batchSave(List<Message> list) {
// for(Message msg : list) {
//
// }
dao.saveList(list);
}
}

View File

@@ -0,0 +1,43 @@
package com.xboe.system.user.vo;
import java.util.List;
import lombok.Data;
/**
* 批量消息
*
*/
@Data
public class BatchMessage {
/**
* 提交人id
*/
private List<String> acceptIds;
private List<String> acceptNames;
private String refId;
private String refType;
private Integer pageType;
/**
* 页面参数 默认是id
*/
private String pageParams;
private String sendName;
private String sendAid;
private Integer sendType;
private String title;
private String content;
private Integer source;
}