Browse Source

新增订单变更发送邮件,开发开票发送消息与邮件

anderx 6 years ago
parent
commit
c54cf9b753

+ 88 - 2
src/main/java/com/goafanti/common/bo/EmailBo.java

@@ -23,6 +23,15 @@ public class EmailBo {
 	public EmailBo() {
 	}
 	
+	/**
+	 *  
+	 * @param subject	
+	 * @param address	收件地址
+	 * @param addressee 	收件人
+	 * @param deptname		部门
+	 * @param sender		发起人id
+	 * @param content		内容
+	 */
 	public EmailBo(String subject, String address, String addressee,
 			String deptname, String sender,
 			String content) {
@@ -57,7 +66,26 @@ public class EmailBo {
 		this.sender = sender;
 		this.content=setPatentFormat( addressee, sender, patentName, patentNo, amount, date);
 	}
-
+	/**
+	 *  
+	 * @param subject	
+	 * @param address	收件地址
+	 * @param addressee 	收件人
+	 * @param deptname		部门
+	 * @param sender		发起人
+	 * @param content		内容
+	 * @return 
+	 */
+	public  EmailBo(String subject, String address,
+			String deptname, String sender,
+			String content) {
+		this.subject = subject;
+		this.address = address;
+		this.addressee = "";
+		this.deptname = deptname;
+		this.sender = sender;
+		this.content = setGeneralFormat();
+	}
 
 
 
@@ -105,6 +133,65 @@ public class EmailBo {
         		+ "<div>" + this.content + "</div>"
         		+ "<div>" + this.end + "</div>";
     }
+	public String setGeneralFormat() {
+		String str="<table width=\"800\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#ffffff\" style=\"font-family:'Microsoft YaHei';\">\r\n" + 
+				"    		<tbody><tr>\r\n" + 
+				"		        <td>\r\n" + 
+				"		             <table width=\"800\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" height=\"40\"></table>\r\n" + 
+				"		        </td>\r\n" + 
+				"		    </tr>\r\n" + 
+				"			\r\n" + 
+				"    		<tr>\r\n" + 
+				"        		<td>\r\n" + 
+				"            		\r\n" + 
+				"            		<table width=\"800\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#1C5299\" height=\"48\" style=\"font-family:'Microsoft YaHei';\">\r\n" + 
+				"              			<tbody><tr>\r\n" + 
+				"                			<td height=\"48\" border=\"0\" align=\"center\" valign=\"middle\" style=\"padding-left:20px; color: white; font-size: 20px;\">\r\n" + 
+				"                			"+this.subject + 
+				"        					</td>\r\n" + 
+				"              			</tr>\r\n" + 
+				"		            </tbody></table>\r\n" + 
+				"		            \r\n" + 
+				"        		</td>\r\n" + 
+				"		    </tr>\r\n" + 
+				"		    \r\n" + 
+				"   			<tr>\r\n" + 
+				"        		<td>\r\n" + 
+				"		            \r\n" + 
+				"		        <table width=\"800\" border=\"0\" align=\"left\" cellpadding=\"0\" cellspacing=\"0\" style=\" border:1px solid #edecec; border-top:none; padding:0 20px;font-size:14px;color:#333333;\">\r\n" + 
+				"	               		<tbody><tr>\r\n" + 
+				"              </tr>\r\n" + 
+				"               <tr>\r\n" + 
+				"                <td width=\"760\" height=\"30\" border=\"0\" align=\"left\" colspan=\"2\" style=\"text-indent: 2em\">您好!</td>\r\n" + 
+				"              </tr>\r\n" + 
+				"                      <tr>\r\n" + 
+				"                <td width=\"40\" height=\"32\" border=\"0\" align=\"left\" valign=\"middle\" style=\" width:40px; text-align:left;vertical-align:middle; line-height:32px; float:left;\">&nbsp;</td>\r\n" + 
+				"                <td width=\"720\" height=\"32\" border=\"0\" align=\"left\" style=\" width:720px; text-align:left;vertical-align:middle;line-height:32px;\"><span style=\"font-weight: 900\">您收到一条由["+this.deptname+"] 的 ["+this.sender+"] 发起的 ["+this.subject+"] 通知</span></td>\r\n" + 
+				"              </tr>\r\n" + 
+				"              <tr>\r\n" + 
+				"                <td width=\"720\" height=\"24\" colspan=\"2\" style=\"padding-left:40px;\"><span style=\"font-weight: 900\">请登录查看</span></td>\r\n" + 
+				"              </tr>\r\n" + 
+				"              <tr>\r\n" + 
+				"                <td width=\"720\" height=\"24\" colspan=\"2\" style=\"padding-left:40px;\"><span>详情请登录科德业务管理系统查看,谢谢!</span></td>\r\n" + 
+				"              </tr>\r\n" + 
+				"              <tr>\r\n" + 
+				"                <td width=\"720\" height=\"24\" colspan=\"2\" style=\"padding-left:40px;\"></td>\r\n" + 
+				"              </tr>\r\n" + 
+				"              \r\n" + 
+				"		               	<tr>\r\n" + 
+				"		                	<td width=\"720\" height=\"14\" colspan=\"2\" style=\"padding-bottom:16px; border-bottom:1px dashed #e5e5e5;font-family:'Microsoft YaHei';\"><a href=\"http://www.kedexinxi.com/\">湖南科德信息咨询有限公司</a></td>\r\n" + 
+				"		              	</tr>\r\n" + 
+				"		               	<tr>\r\n" + 
+				"		                	<td width=\"720\" height=\"14\" colspan=\"2\" style=\"padding:8px 0 28px;color:#999999; font-size:12px;font-family:'Microsoft YaHei';\">此为系统邮件请勿回复</td>\r\n" + 
+				"		              	</tr>\r\n" + 
+				"		            </tbody></table>\r\n" + 
+				"		            \r\n" + 
+				"        		</td>\r\n" + 
+				"		    </tr>\r\n" + 
+				"    </tbody>\r\n" + 
+				"  </table>";
+		return str;
+	}
 	
 	
 	
@@ -196,7 +283,6 @@ public class EmailBo {
 				"        		</td>\r\n" + 
 				"		    </tr>\r\n" + 
 				"		</tbody></table>";
-//		"<div>" + this.content + "</div>"
         return  str;
     }
 

+ 6 - 2
src/main/java/com/goafanti/common/enums/NoticeStatus.java

@@ -26,8 +26,12 @@ public enum NoticeStatus {
 	ORDER_REFUND(16,"订单退单同意信息"),
 	ORDER_BONUS(17,"奖金信息"),
 	ORDER_REFUND_REFUSE(18,"退单拒绝信息"),
-	ORDER_CHANGE_YES(19,"订单变更信息通过"),
-	ORDER_CHANGE_NO(20,"订单变更信息驳回"),
+	ORDER_CHANGE_START(19,"订单变更发起"),
+	ORDER_CHANGE_YES(20,"订单变更通过"),
+	ORDER_CHANGE_NO(21,"订单变更驳回"),
+	ORDER_INVPICE_START(22,"订单开票发起"),
+	ORDER_INVPICE_YES(23,"订单变更通过"),
+	ORDER_INVPICE_NO(24,"订单变更驳回"),
 	OTHER(0, "其他");
 
 	private NoticeStatus(Integer code, String desc) {

+ 1 - 1
src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml

@@ -1155,7 +1155,7 @@ from t_order_task a left join business_project b on a.commodity_id=b.id
 	left join business_project b on a.commodity_id=b.id
 	where order_no= #{orderNo}
   </select>
-  <select id="listNameByDepAndName">
+  <select id="listNameByDepAndName" resultType="java.lang.String">
 	select
 	<if test="type ==0">
 	consultant_id 

+ 2 - 34
src/main/java/com/goafanti/common/utils/SendEmailUtil.java

@@ -6,23 +6,17 @@ import java.util.Date;
 import java.util.Properties;
 
 import javax.mail.Authenticator;
-import javax.mail.BodyPart;
 import javax.mail.Message;
 import javax.mail.MessagingException;
-import javax.mail.Multipart;
 import javax.mail.PasswordAuthentication;
 import javax.mail.Session;
 import javax.mail.Transport;
 import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeBodyPart;
 import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
 import javax.mail.internet.MimeUtility;
 
-import org.apache.commons.lang3.time.DateFormatUtils;
 
 import com.goafanti.common.bo.EmailBo;
-import com.goafanti.order.enums.OrderNewState;
 import com.sun.mail.util.MailSSLSocketFactory;
 
 public class SendEmailUtil {
@@ -127,7 +121,7 @@ public class SendEmailUtil {
 		emailBo.SetEnd("");
 //		msg.setFrom(new InternetAddress(FROM));
 		String[] adds =  emailBo.getAddress().split(",");
-		String[] ees =  emailBo.getAddressee().split(",");
+//		String[] ees =  emailBo.getAddressee().split(",");
 		for (int i = 0; i < adds.length; i++) {
 			InternetAddress internetAddress = new InternetAddress(adds[i]);
 			msg.setRecipient(Message.RecipientType.TO, internetAddress);
@@ -139,31 +133,5 @@ public class SendEmailUtil {
 		}
 	}
 
-	public static void main(String[] args) throws MessagingException, UnsupportedEncodingException {
-//		System.out.println(OrderNewState.getStatus(0));
-//		System.out.println(OrderNewState.getStatus(1));
-//		System.out.println(OrderNewState.getStatus(2));
-//		System.out.println(OrderNewState.getStatus(3));
-//		System.out.println(OrderNewState.YBH);
-//		System.out.println(OrderNewState.YJX);
-//		System.out.println(OrderNewState.getValueByCode(0));
-//		BigDecimal b = new BigDecimal("1.2");
-//		System.out.println(b.add(new BigDecimal(0.0000)).toString());
-//		System.out.println(b.add(new BigDecimal("0")).toString());
-		/*String content = "<div>客户名称: 旺旺</div><div>订单编号: 0001</div>";
-		content +="<div>催收时间: " + 123456 +"</div><div>催收科目: " + "??" +"</div><div>催收情况: " + "???" +"</div>";
-//		EmailBo bo =new EmailBo("催收通知","3298921364@qq.com,","管理员,","平台超管中心","管理员","<div>客户名称: 国防湖南</div><div>订单编号: 273822676366036992</div><div>催收时间: 273822676366036992</div><div>催收科目: 273822676366036992</div><div>催收情况: 273822676366036992</div>");
-//		send(bo);
-		EmailBo bo = new EmailBo("奖金信息", "3298921364@qq.com,", "limim,", "财务部", "财务专员彭晓丽", content);*/
-		SendEmailUtil emailUtil = SendEmailUtil.getInstance();
-//		String content ="<body>"+ 
-//				"<div style='background-color:red'>专利缴费提醒: "+ "专利1号" +"</div><div>客户名称: " + "湖南明和" + "</div>" +"<div>专利编号: "+ "zl0001" +"</div>"+
-//				"</body>";
-//			EmailBo emailBo = new EmailBo("专利提醒","2304089483@qq.com", "客户", "科德集团", "技术员", content);
-//			emailBo.SetEnd("详情请联系相关办理人员,谢谢!");
-//			emailUtil.send(emailBo);
-		
-			EmailBo emailBo = new EmailBo("专利提醒","287486941@qq.com", "客户", "科德集团", "技术员","专利001", "zx001", "600", "2019-06-06");
-			emailUtil.patentSend(emailBo);
-	}
+	
 }

+ 1 - 0
src/main/java/com/goafanti/order/service/OrderNewService.java

@@ -170,6 +170,7 @@ public interface OrderNewService {
 	int updateFinance(String orderNo, String newFinance);
 	List<TOrderLogBo> selectOrderLog(String orderNo);
 
+	void generalSendNoticeAndEmail(List<String> alist, Integer type,String OrderNo,String adminId);
 	
 	
 }

+ 25 - 23
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -16,7 +16,6 @@ import com.goafanti.common.bo.Error;
 import com.goafanti.common.bo.OrderExamineBo;
 import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.dao.NewOrderChangeMapper;
-import com.goafanti.common.dao.NoticeMapper;
 import com.goafanti.common.dao.OrderChangeLogMapper;
 import com.goafanti.common.dao.OrderExamineMapper;
 import com.goafanti.common.dao.OrderRefundInvoiceMapper;
@@ -36,7 +35,6 @@ import com.goafanti.common.model.TOrderDun;
 import com.goafanti.common.model.TOrderNew;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.NewOrderChange;
-import com.goafanti.common.model.Notice;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.JDBCIdGenerator;
@@ -49,6 +47,7 @@ import com.goafanti.order.bo.OrderChangeLogBo;
 import com.goafanti.order.bo.TOrderLogBo;
 import com.goafanti.order.bo.TOrderTaskBo;
 import com.goafanti.order.service.OrderChangeService;
+import com.goafanti.order.service.OrderNewService;
 import com.goafanti.order.service.OrderService;
 @Service
 public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper> implements OrderChangeService {
@@ -81,7 +80,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	@Autowired
 	private AdminMapper	adminMapper;
 	@Autowired
-	private NoticeMapper	noticeMapper;
+	private OrderNewService	orderNewService;
 	
 	
 	@Override
@@ -108,7 +107,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		ocl.setRemarks(startRemarks);
 		ocl.setChangeId(ncb.getId());
 		ocl.setStatus(0);
-		sendNotice(2, t);//设置与通过一样发送信息
+		sendNotice(0, t);//设置与通过一样发送信息
 		orderChangeLogMapper.insertSelective(ocl);
 		return 1;
 	}
@@ -223,10 +222,18 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		}else {
 			nb.setProcessState(rejectState);
 			nb.setStatus(3);//订单变更设置为驳回
+			//驳回位置查看有无审核人,没有则直接跳下一个
+			if (rejectState==2) {
+				if (orderExamineMapper.checkCountStatus(orderNo,0,null)<1) nb.setProcessState(nb.getProcessState()+1);
+			}
+			if (rejectState==3) {
+				if (orderExamineMapper.checkCountStatus(orderNo,1,null)<1) nb.setProcessState(nb.getProcessState()+1);
+			}
+			
 			//如果驳回到技术经理之前则将审核表中状态跳回
-			if(rejectState==3) {
+			if(nb.getProcessState()==3) {
 				orderExamineMapper.updateByOrderNo(orderNo,1);
-			}else if (rejectState<3) {
+			}else if (nb.getProcessState()<3) {
 				orderExamineMapper.updateByOrderNo(orderNo,null);
 			}
 			
@@ -242,9 +249,13 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		newOrderChangeMapper.updateByPrimaryKeySelective(nb);
 		return 1;
 	}
+	
 	private void sendNotice(Integer status,NewOrderChangeBo nb) {
-		//2通过 3驳回
-		Integer type=status==2?NoticeStatus.ORDER_CHANGE_YES.getCode():NoticeStatus.ORDER_CHANGE_NO.getCode();
+		//0发起2通过 3驳回
+		Integer type=0;
+		if(status==0)type=NoticeStatus.ORDER_CHANGE_START.getCode();
+		if(status==2)type=NoticeStatus.ORDER_CHANGE_YES.getCode();
+		if(status==3)type=NoticeStatus.ORDER_CHANGE_NO.getCode();
 		//获取发起人与发起人部门
 		AdminListBo a = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
 		//获取接收者
@@ -292,21 +303,10 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			break;	
 		
 		}
-		
-		String str=NoticeStatus.getValueByCode(type)+": 订单编号 -"+nb.getOrderNo()+", 操作人:"+a.getDepartmentName()+"-"+a.getName()+"。";
-		List<Notice> nlist=new  ArrayList<>();
-		for (String string : alist) {
-			Notice n =new Notice();
-			n.setId(UUID.randomUUID().toString());
-			n.setNoticeType(type);
-			n.setContent(str);
-			n.setReaded(0);//未读
-			n.setAid(string);
-			nlist.add(n);
-		}
-		if(!nlist.isEmpty())noticeMapper.insertBatch(nlist);
+		//发送站内信息与邮件
+		orderNewService.generalSendNoticeAndEmail(alist, type, o.getOrderNo(), a.getId());
 	}
-
+	
 	private void changgeAdopt(NewOrderChangeBo nb) {
 		TOrderNew t1=tOrderNewMapper.selectByPrimaryKey(nb.getOrderNo());
 		List<TOrderDun> td1=tOrderDunMapper.selectByOrderNo(nb.getOrderNo());
@@ -404,7 +404,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			OrderChangeLog ocl=new OrderChangeLog();
 			ocl.setAuditor(TokenManager.getAdminId());
 			ocl.setOrderNo(t.getOrderNo());
-			ocl.setRemarks(startRemarks);
+			ocl.setRemarks(startRemarks==null?"":startRemarks);
 			ocl.setChangeId(noc.getId());
 			ocl.setStatus(0);
 			orderChangeLogMapper.insertSelective(ocl);
@@ -412,6 +412,8 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			noc.setCwCost(t.getCwCost());
 			noc.setRefundableAmount(t.getRefundableAmount());
 		}
+		t.setProcessState(1);//流程置为营销管理员
+		sendNotice(0, t);
 		return newOrderChangeMapper.updateByPrimaryKeySelective(noc);
 	}
 	@Override

+ 52 - 6
src/main/java/com/goafanti/order/service/impl/OrderInvoiceServiceImpl.java

@@ -2,20 +2,22 @@ package com.goafanti.order.service.impl;
 
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.time.DateFormatUtils;
-import org.apache.xmlbeans.BindingConfig;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.AdminMapper;
+import com.goafanti.common.dao.OrganizationManagementMapper;
 import com.goafanti.common.dao.TOrderInvoiceMapper;
 import com.goafanti.common.dao.TOrderNewMapper;
+import com.goafanti.common.enums.NoticeStatus;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.TOrderInvoice;
 import com.goafanti.common.model.TOrderNew;
@@ -25,26 +27,60 @@ import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.order.bo.TOrderInvoiceBo;
 import com.goafanti.order.bo.TOrderInvoiceDetails;
 import com.goafanti.order.service.OrderInvoiceService;
+import com.goafanti.order.service.OrderNewService;
 
 @Service
 public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper> implements OrderInvoiceService {
 	@Autowired
-	TOrderInvoiceMapper tOrderInvoiceMapper;
+	private TOrderInvoiceMapper tOrderInvoiceMapper;
 	@Autowired
-	TOrderNewMapper		tOrderNewMapper;
+	private TOrderNewMapper		tOrderNewMapper;
 	@Autowired
-	AdminMapper	adminMapper;
+	private OrganizationManagementMapper	organizationManagementMapper;
+	@Autowired
+	private AdminMapper	adminMapper;
+	@Autowired
+	private OrderNewService	orderNewService;
 	@Override
 	public int createServiceOrder(TOrderInvoice o) {
 		o.setCreateTime(new Date());
-		System.out.println(DateFormatUtils.format(o.getCreateTime(), AFTConstants.YYYYMMDDHHMMSS));
+		sendNoticeAndEmail(o);
 		return tOrderInvoiceMapper.insertSelective(o);
 	}
+	
+	
 
 	@Override
 	public int updateServiceOrder(TOrderInvoice o) {
+		sendNoticeAndEmail(o);
 		return tOrderInvoiceMapper.updateByPrimaryKeySelective(o);
 	}
+	/**
+	 * 	开票提交发送站内消息及邮件
+	 * @param o
+	 */
+	private void sendNoticeAndEmail(TOrderInvoice o) {
+		List<String> aids = new ArrayList<>();
+		if (o.getStatus()==1) {//发起
+			TOrderNew t=tOrderNewMapper.selectByPrimaryKey(o.getOrderNo());
+			if (o.getType()==0) {//省内
+				if(o.getApproval()==0) {
+					aids.add(organizationManagementMapper.selectByPrimaryKey(t.getOrderDep()).getFinanceId());
+				}else {
+					for (Admin admin : adminMapper.getAdminRoleList("集团副总")) {
+						aids.add(admin.getId());
+					}
+				}
+			}else if (o.getType()==2) {//省外
+				if(o.getApproval()==0) {
+					aids.addAll(adminMapper.listNameByDepAndName(t.getOrderDep(), "营销管理员"));
+				}else {
+					aids.addAll(adminMapper.listNameByDepAndName(t.getOrderDep(), "公司管理"));
+				}
+			}
+		}
+		orderNewService.generalSendNoticeAndEmail(aids, NoticeStatus.ORDER_INVPICE_START.getCode(),o.getOrderNo(), TokenManager.getAdminId());
+	}
 
 	@Override
 	public boolean checkAmount(TOrderInvoice t) {
@@ -107,6 +143,16 @@ public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper>
 		t.setId(id);
 		t.setRejectReason(reason);
 		t.setStatus(examine);
+		//examine 2通过 3拒绝
+		if(examine==3){
+			List<String> aids = new ArrayList<>();
+			TOrderInvoice t2=tOrderInvoiceMapper.selectByPrimaryKey(id);
+			TOrderNew o=tOrderNewMapper.selectByPrimaryKey(t2.getOrderNo());
+			Integer type=null;
+			type=NoticeStatus.ORDER_INVPICE_NO.getCode();
+			aids.add(o.getSalesmanId());
+			orderNewService.generalSendNoticeAndEmail(aids, type,t2.getOrderNo(), TokenManager.getAdminId());
+		}
 		return tOrderInvoiceMapper.updateByPrimaryKeySelective(t);
 	}
 

+ 28 - 1
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -46,6 +46,7 @@ import com.goafanti.common.dao.UserLockReleaseMapper;
 import com.goafanti.common.enums.NoticeStatus;
 import com.goafanti.common.enums.OrderLogProcess;
 import com.goafanti.common.error.BusinessException;
+import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.IdleContractNo;
 import com.goafanti.common.model.Notice;
 import com.goafanti.common.model.OrganizationContactBook;
@@ -888,7 +889,33 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	}
 
 
-
+	public  void generalSendNoticeAndEmail(List<String> alist, Integer type,String OrderNo,String adminId) {
+		AdminListBo a = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
+		String str=NoticeStatus.getValueByCode(type)+": 订单编号 -"+OrderNo+", 操作人:"+a.getDepartmentName()+"-"+a.getName()+"。";
+		String adminIds="";
+		List<Notice> nlist=new  ArrayList<>();
+		for (String string : alist) {
+			Notice n =new Notice();
+			n.setId(UUID.randomUUID().toString());
+			n.setNoticeType(type);
+			n.setContent(str);
+			n.setCreateTime(new Date());
+			n.setReaded(0);//未读
+			n.setAid(string);
+			nlist.add(n);
+			Admin admin = adminMapper.selectAllByid(string);
+			if(admin!=null&&admin.getEmail()!=null)adminIds+=admin.getEmail()+",";
+		}
+		if(StringUtils.isNotBlank(adminIds))adminIds.substring(0, adminIds.length()-1);
+		EmailBo bo = new EmailBo(NoticeStatus.getValueByCode(type), adminIds, a.getDepartmentName(), a.getName(), "请登录查看");
+			try {
+				//使用专利邮件模板
+				SendEmailUtil.getInstance().patentSend(bo);
+			} catch (UnsupportedEncodingException | MessagingException e) {
+				throw new BusinessException(new Error( "邮件发送错误","邮件发送错误"));
+			}
+		if(!nlist.isEmpty())noticeMapper.insertBatch(nlist);
+	}
 
 	
 }

+ 4 - 4
src/main/resources/props/config_local.properties

@@ -60,12 +60,12 @@ template.cacheable=false
 portal.host=//sf.jishutao.com/portal/2.0.6
 avatar.upload.host=//sb.jishutao.com/upload
 #连接开发
-#static.host=//sb.jishutao.com/1.1.24
-#avatar.host=//sb.jishutao.com
+static.host=//sb.jishutao.com/1.1.24
+avatar.host=//sb.jishutao.com
 
 #连测试
-avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.1.24
+#avatar.host=//static.jishutao.com
+#static.host=//static.jishutao.com/1.1.24
 
 upload.path=F:/data/public/upload
 upload.private.path=F:/data/private/upload