Commit 60fbe959 by manxiaoqiang

notice

parent c2a8bc47
...@@ -3,12 +3,5 @@ ...@@ -3,12 +3,5 @@
<component name="FrameworkDetectionExcludesConfiguration"> <component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" /> <file type="web" url="file://$PROJECT_DIR$" />
</component> </component>
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="1.8" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project> </project>
\ No newline at end of file
package common.controller;
import common.model.User;
import common.repository.UserRepository;
import common.service.NoticeService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import security.RedisLoginStatusManager;
import security.TokenManager;
import security.annotation.CurrentAccount;
import util.CipherUtil;
import util.Constant;
import util.ResultModel;
import util.ValidateUtil;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;
@Controller
@RequestMapping("notice")
public class NoticeController {
protected Logger logger = LoggerFactory.getLogger(NoticeController.class);
@Autowired
NoticeService noticeService;
@RequestMapping(value = "find", method = RequestMethod.GET)
@ResponseBody
public ResultModel find(@CurrentAccount User user) {
return ResultModel.OK(noticeService.findAll(user));
}
@RequestMapping(value = "read/{id}", method = RequestMethod.PUT)
@ResponseBody
public ResultModel loginCheck(@PathVariable Long id) {
return ResultModel.OK(noticeService.read(id));
}
}
...@@ -26,7 +26,7 @@ public class Account4Web { ...@@ -26,7 +26,7 @@ public class Account4Web {
private Boolean ioStatus; private Boolean ioStatus;
private Boolean trackStatus; private Boolean trackStatus;
private Boolean remStatus; private Boolean remStatus;
private Long bussinessMan;
@Id @Id
@GeneratedValue @GeneratedValue
public Long getId() { public Long getId() {
...@@ -181,6 +181,14 @@ public class Account4Web { ...@@ -181,6 +181,14 @@ public class Account4Web {
this.remStatus = remStatus; this.remStatus = remStatus;
} }
public Long getBussinessMan() {
return bussinessMan;
}
public void setBussinessMan(Long bussinessMan) {
this.bussinessMan = bussinessMan;
}
@Override @Override
public String toString() { public String toString() {
return "Account4Web{" + return "Account4Web{" +
......
package common.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
* Created by mxq on 2017/12/28.
*/
@Entity
public class Notice {
private Long id;
private Long user;
private String platform;
private String content;
private String ds;
private Boolean isNotRead;
@Id
@GeneratedValue
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getUser() {
return user;
}
public void setUser(Long user) {
this.user = user;
}
public String getPlatform() {
return platform;
}
public void setPlatform(String platform) {
this.platform = platform;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getDs() {
return ds;
}
public void setDs(String ds) {
this.ds = ds;
}
public Boolean getNotRead() {
return isNotRead;
}
public void setNotRead(Boolean notRead) {
isNotRead = notRead;
}
}
...@@ -15,4 +15,7 @@ public interface Account4WebRepository extends JpaRepository<Account4Web, Long> ...@@ -15,4 +15,7 @@ public interface Account4WebRepository extends JpaRepository<Account4Web, Long>
@Query(value = "SELECT * from account4web where email in ?1", nativeQuery = true) @Query(value = "SELECT * from account4web where email in ?1", nativeQuery = true)
List<Account4Web> findByEmails(List<String> emails); List<Account4Web> findByEmails(List<String> emails);
@Query(value = "SELECT * from account4web where past_date = ?1", nativeQuery = true)
List<Account4Web> findByPast(String yesterday);
} }
package common.repository;
import common.model.Notice;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Transactional
public interface NoticeRepository extends JpaRepository<Notice, Long> {
@Query(value="select * from notice where user = ?1 and ds >= ?2",nativeQuery=true)
List<Notice> findall(Long user, String ds);
}
package common.service;
import common.model.Notice;
import common.model.User;
import java.util.List;
/**
* Created by mxq on 2017/12/28.
*/
public interface NoticeService {
List<Notice> findAll(User user);
Notice read(Long id);
}
package common.service.impl;
import common.model.Notice;
import common.model.User;
import common.repository.NoticeRepository;
import common.service.NoticeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import util.DateUtil;
import java.util.List;
/**
* Created by mxq on 2017/12/28.
*/
@Service
public class NoticeServiceImpl implements NoticeService {
@Autowired
NoticeRepository noticeRepository;
@Override
public List<Notice> findAll(User user) {
List<Notice> noticeList = noticeRepository.findall(user.getId(), DateUtil.getBeforeDays(7));
return noticeList;
}
@Override
public Notice read(Long id) {
Notice one = noticeRepository.findOne(id);
one.setNotRead(false);
return noticeRepository.save(one);
}
}
...@@ -69,6 +69,7 @@ public class AccountTask { ...@@ -69,6 +69,7 @@ public class AccountTask {
} }
account4Web.setUser(ac.getName()); account4Web.setUser(ac.getName());
account4Web.setTell(ac.getPhone()); account4Web.setTell(ac.getPhone());
account4Web.setBussinessMan(ac.getBussinessman());
list.add(account4Web); list.add(account4Web);
} }
} }
...@@ -93,6 +94,7 @@ public class AccountTask { ...@@ -93,6 +94,7 @@ public class AccountTask {
account4Web.setTrackStatus(false); account4Web.setTrackStatus(false);
account4Web.setUser(ac.getName()); account4Web.setUser(ac.getName());
account4Web.setTell(ac.getPhone()); account4Web.setTell(ac.getPhone());
account4Web.setBussinessMan(ac.getBussinessman());
list.add(account4Web); list.add(account4Web);
} }
} }
......
package tkio.task;
import common.model.Account4Web;
import common.model.Notice;
import common.model.User;
import common.repository.Account4WebRepository;
import common.repository.NoticeRepository;
import common.repository.UserRepository;
import dic.RoleEnum;
import org.springframework.beans.factory.annotation.Autowired;
import tkio.model.SalesManLeader;
import tkio.repository.SalesManLeaderRepository;
import util.DateUtil;
import util.ValidateUtil;
import java.util.*;
/**
* Created by mxq on 2017/12/27.
*/
public class NoticeTask {
@Autowired
Account4WebRepository account4WebRepository;
@Autowired
UserRepository userRepository;
@Autowired
SalesManLeaderRepository salesManLeaderRepository;
@Autowired
NoticeRepository noticeRepository;
public void task(){
System.out.println("同步消息任务开始");
noticeRepository.findAll();
List<Account4Web> account4WebList = account4WebRepository.findByPast(DateUtil.getBeforeDays(1));
Map<Long, Integer> map = new HashMap<>();
Map<Long, Integer> mapTotle = new HashMap<>();
if(ValidateUtil.isValid(account4WebList)){
for(Account4Web aw : account4WebList){
if(mapTotle.containsKey(0L)){
mapTotle.put(0L, mapTotle.get(0L) + 1);
}else{
mapTotle.put(0L, 1);
}
if(null != aw.getBussinessMan()){
if(map.containsKey(aw.getBussinessMan())){
map.put(aw.getBussinessMan(), map.get(aw.getBussinessMan()) + 1);
}else{
map.put(aw.getBussinessMan(), 1);
}
}
}
List<SalesManLeader> salesManLeaders = salesManLeaderRepository.findAll();
Map<String, List<Long>> saleMap = new HashMap<>();
if(ValidateUtil.isValid(salesManLeaders)){
for(SalesManLeader sml : salesManLeaders){
List<Long> idList = new ArrayList<>();
if(sml.getId() == 0 || sml.getId() == sml.getLeader()){//不是主管
Long id = (long)sml.getId();
idList.add(id);
}else{//是主管
for(SalesManLeader sml2 : salesManLeaders){
if(sml.getId() == sml2.getLeader()){
Long id = (long)sml.getId();
idList.add(id);
}
}
}
saleMap.put(sml.getEmail(), idList);
}
}
Map<Long, Integer> resultMap = new HashMap<>();
List<User> userList = userRepository.findAll();
if(mapTotle.containsKey(0L)){
for(User user : userList){
if(user.getRole().equals(RoleEnum.MANAGER.getKey())){
resultMap.put(user.getId(), mapTotle.get(0L));
} else{
if(saleMap.containsKey(user.getId())){
List<Long> list = saleMap.get(user.getId());
for(Long id : list){
if(map.containsKey(id)){
if(resultMap.containsKey(user.getId())){
resultMap.put(user.getId(), map.get(user.getId()) + map.get(id));
}else{
resultMap.put(user.getId(), map.get(id));
}
}
}
}
}
}
List<Notice> list = new ArrayList<>();
String today = DateUtil.getBeforeDays(0);
Set<Long> keySet = resultMap.keySet();
for(Long id : keySet){
int num = resultMap.get(id);
Notice notice = new Notice();
notice.setUser(id);
notice.setPlatform("tkio");
notice.setContent("tkio有" + num + "个客户过期,请及时联系客户");
notice.setDs(today);
notice.setNotRead(true);
list.add(notice);
}
noticeRepository.save(list);
}
}
System.out.println("同步消息任务结束");
}
}
...@@ -10,11 +10,14 @@ ...@@ -10,11 +10,14 @@
<description>调度配置</description> <description>调度配置</description>
<bean id="tkioAccountTask" class="tkio.task.AccountTask"></bean> <bean id="tkioAccountTask" class="tkio.task.AccountTask"></bean>
<task:scheduled-tasks> <task:scheduled-tasks>
<!--//定时同步短链数据(每5分钟执行一次)--> <!--//定时同步短链数据(每5分钟执行一次)-->
<task:scheduled ref="tkioAccountTask" method="task" cron="0 21 15 * * ?"/> <task:scheduled ref="tkioAccountTask" method="task" cron="0 40 14 * * ?"/>
</task:scheduled-tasks>
<bean id="tkioNoticeTask" class="tkio.task.NoticeTask"></bean>
<task:scheduled-tasks>
<task:scheduled ref="tkioNoticeTask" method="task" cron="0 33 16 * * ?"/>
</task:scheduled-tasks> </task:scheduled-tasks>
<bean id="trackAccountTask" class="track.task.AccountTask"></bean> <bean id="trackAccountTask" class="track.task.AccountTask"></bean>
......
...@@ -36,6 +36,7 @@ util\DateUtil.class ...@@ -36,6 +36,7 @@ util\DateUtil.class
common\model\AppCategory.class common\model\AppCategory.class
tkio\repository\ChannelRepository.class tkio\repository\ChannelRepository.class
security\RedisLoginStatusManager.class security\RedisLoginStatusManager.class
common\model\Notice.class
dic\RoleTypeEnum.class dic\RoleTypeEnum.class
common\repository\AppInfoRepository.class common\repository\AppInfoRepository.class
tkio\model\Channel.class tkio\model\Channel.class
...@@ -74,6 +75,7 @@ tkio\service\AccountFlowRestrictService.class ...@@ -74,6 +75,7 @@ tkio\service\AccountFlowRestrictService.class
util\UserLogThread.class util\UserLogThread.class
tkio\model\DataAuth.class tkio\model\DataAuth.class
common\model\KeyValue.class common\model\KeyValue.class
common\model\Test.class
common\repository\UserRepository.class common\repository\UserRepository.class
track\repository\TrackCampaignRepository.class track\repository\TrackCampaignRepository.class
util\ResultModel.class util\ResultModel.class
...@@ -84,10 +86,12 @@ tkio\model\App.class ...@@ -84,10 +86,12 @@ tkio\model\App.class
security\resolvers\LoginUserMethodArgumentsResolver.class security\resolvers\LoginUserMethodArgumentsResolver.class
tkio\service\TkioAccountService.class tkio\service\TkioAccountService.class
common\model\TrackAccount4Web.class common\model\TrackAccount4Web.class
common\repository\NoticeRepository.class
common\model\RoleType.class common\model\RoleType.class
tkio\task\AccountTask.class tkio\task\AccountTask.class
security\annotation\Authorization.class security\annotation\Authorization.class
util\IP$1.class util\IP$1.class
tkio\task\NoticeTask.class
common\repository\CodeRepository.class common\repository\CodeRepository.class
tkio\model\SalesManLeader.class tkio\model\SalesManLeader.class
common\controller\AppController.class common\controller\AppController.class
......
...@@ -11,12 +11,14 @@ E:\newgit\manager\src\main\java\tkio\repository\ChannelRepository.java ...@@ -11,12 +11,14 @@ E:\newgit\manager\src\main\java\tkio\repository\ChannelRepository.java
E:\newgit\manager\src\main\java\common\model\Account4Web.java E:\newgit\manager\src\main\java\common\model\Account4Web.java
E:\newgit\manager\src\main\java\tkio\repository\AppRepository.java E:\newgit\manager\src\main\java\tkio\repository\AppRepository.java
E:\newgit\manager\src\main\java\util\Constant.java E:\newgit\manager\src\main\java\util\Constant.java
E:\newgit\manager\src\main\java\common\repository\NoticeRepository.java
E:\newgit\manager\src\main\java\tkio\service\impl\AccountFlowRestrictServiceImpl.java E:\newgit\manager\src\main\java\tkio\service\impl\AccountFlowRestrictServiceImpl.java
E:\newgit\manager\src\main\java\tkio\controller\TkioAccountController.java E:\newgit\manager\src\main\java\tkio\controller\TkioAccountController.java
E:\newgit\manager\src\main\java\tkio\model\Campaign.java E:\newgit\manager\src\main\java\tkio\model\Campaign.java
E:\newgit\manager\src\main\java\common\model\Auth.java E:\newgit\manager\src\main\java\common\model\Auth.java
E:\newgit\manager\src\main\java\common\model\KeyValue.java E:\newgit\manager\src\main\java\common\model\KeyValue.java
E:\newgit\manager\src\main\java\util\ResultModel.java E:\newgit\manager\src\main\java\util\ResultModel.java
E:\newgit\manager\src\main\java\tkio\task\NoticeTask.java
E:\newgit\manager\src\main\java\track\service\impl\TrackAccountServiceImpl.java E:\newgit\manager\src\main\java\track\service\impl\TrackAccountServiceImpl.java
E:\newgit\manager\src\main\java\security\interceptor\AuthorizationInterceptor.java E:\newgit\manager\src\main\java\security\interceptor\AuthorizationInterceptor.java
E:\newgit\manager\src\main\java\exception\NotFoundException.java E:\newgit\manager\src\main\java\exception\NotFoundException.java
...@@ -48,6 +50,7 @@ E:\newgit\manager\src\main\java\common\model\AppInfo.java ...@@ -48,6 +50,7 @@ E:\newgit\manager\src\main\java\common\model\AppInfo.java
E:\newgit\manager\src\main\java\common\repository\AuthRepository.java E:\newgit\manager\src\main\java\common\repository\AuthRepository.java
E:\newgit\manager\src\main\java\common\controller\LoginController.java E:\newgit\manager\src\main\java\common\controller\LoginController.java
E:\newgit\manager\src\main\java\dic\RoleTypeEnum.java E:\newgit\manager\src\main\java\dic\RoleTypeEnum.java
E:\newgit\manager\src\main\java\common\model\Notice.java
E:\newgit\manager\src\main\java\common\model\Menu.java E:\newgit\manager\src\main\java\common\model\Menu.java
E:\newgit\manager\src\main\java\common\service\AppService.java E:\newgit\manager\src\main\java\common\service\AppService.java
E:\newgit\manager\src\main\java\common\service\MenuService.java E:\newgit\manager\src\main\java\common\service\MenuService.java
...@@ -78,6 +81,7 @@ E:\newgit\manager\src\main\java\security\TokenManager.java ...@@ -78,6 +81,7 @@ E:\newgit\manager\src\main\java\security\TokenManager.java
E:\newgit\manager\src\main\java\common\repository\CodeRepository.java E:\newgit\manager\src\main\java\common\repository\CodeRepository.java
E:\newgit\manager\src\main\java\dic\OperateObjectTypeEnum.java E:\newgit\manager\src\main\java\dic\OperateObjectTypeEnum.java
E:\newgit\manager\src\main\java\util\HttpClientUtil.java E:\newgit\manager\src\main\java\util\HttpClientUtil.java
E:\newgit\manager\src\main\java\common\model\Test.java
E:\newgit\manager\src\main\java\tkio\model\Auth.java E:\newgit\manager\src\main\java\tkio\model\Auth.java
E:\newgit\manager\src\main\java\common\repository\AppInfoRepository.java E:\newgit\manager\src\main\java\common\repository\AppInfoRepository.java
E:\newgit\manager\src\main\java\track\model\App.java E:\newgit\manager\src\main\java\track\model\App.java
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment