Browse Source

处理待办事项的功能。

yujia 7 years ago
parent
commit
9a59bf1aed

+ 1 - 1
src/main/java/com/uas/platform/b2c/fa/settlement/model/RequestPayment.java

@@ -99,7 +99,7 @@ public class RequestPayment extends Document {
 	/**
 	 * 付款申请单状态历史(514->515)
 	 */
-	@Column(name = "rep_status_history")
+	@Column(name = "rep_status_history", columnDefinition = "TEXT")
 	private String statusHistory;
 
 	/**************************************************************************

+ 37 - 0
src/main/java/com/uas/platform/b2c/trade/order/controller/AdminToDoController.java

@@ -0,0 +1,37 @@
+package com.uas.platform.b2c.trade.order.controller;
+
+import com.uas.platform.b2c.trade.order.model.AdminToDo;
+import com.uas.platform.b2c.trade.order.service.AdminToDoService;
+import com.uas.platform.core.model.PageParams;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 待办事项控制器
+ *
+ * @author yuj 2018-07-24 16:00
+ */
+@RestController
+@RequestMapping(value = "/adminToDo")
+public class AdminToDoController {
+
+    private final AdminToDoService adminToDoService;
+
+    @Autowired
+    public AdminToDoController(AdminToDoService adminToDoService) {
+        this.adminToDoService = adminToDoService;
+    }
+
+    /**
+     * 分页获取待办事项
+     * @param params
+     * @return Page<AdminToDo>
+     */
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    public Page<AdminToDo> getPageAdminToDo(PageParams params) {
+        return adminToDoService.getPageAdminToDo(params);
+    }
+}

+ 13 - 0
src/main/java/com/uas/platform/b2c/trade/order/dao/AdminToDoDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2c.trade.order.dao;
+
+import com.uas.platform.b2c.trade.order.model.AdminToDo;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Created by yujia on 2018/7/24.
+ */
+@Repository
+public interface AdminToDoDao extends JpaRepository<AdminToDo, Long>, JpaSpecificationExecutor<AdminToDo> {
+}

+ 8 - 0
src/main/java/com/uas/platform/b2c/trade/order/dao/MessageNotifyPersonalManagementDao.java

@@ -25,4 +25,12 @@ public interface MessageNotifyPersonalManagementDao extends JpaRepository<Messag
      */
     @Query(value = "select m from MessageNotifyPersonalManagement m where m.notifyPersonalEnuu = :enuu and m.type= :type")
     List<MessageNotifyPersonalManagement> findNotifyPersonalEnuuAndType(@Param("enuu") Long enuu, @Param("type") String type);
+
+    /**
+     * 根据企业的enuu和类型,获取信息
+     * @param enuu 企业enuu
+     * @return MessageNotifyPersonalManagement
+     */
+    @Query(value = "select m from MessageNotifyPersonalManagement m where m.notifyPersonalEnuu = :enuu")
+    List<MessageNotifyPersonalManagement> findNotifyPersonalEnuu(@Param("enuu") Long enuu);
 }

+ 134 - 0
src/main/java/com/uas/platform/b2c/trade/order/model/AdminToDo.java

@@ -0,0 +1,134 @@
+package com.uas.platform.b2c.trade.order.model;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * 为管理后台的人添加待办事项
+ *
+ * @author yuj 2018-07-24 15:45
+ */
+@Entity
+@Table(name = "v$admin$todo")
+public class AdminToDo implements Serializable {
+
+    private static final long serialVersionUID = -4071041669790873167L;
+
+    @Id
+    @Column(name = "id")
+    private String id;
+
+    @Column(name = "orderid")
+    private String orderid;
+
+    /**
+     * 申请时间
+     */
+    @Column(name = "applytime")
+    private String applytime;
+
+    /**
+     * 卖方的uu
+     */
+    @Column(name = "sellerenuu")
+    private Long sellerenuu;
+
+    /**
+     * 卖方的公司
+     */
+    @Column(name = "sellername")
+    private String sellername;
+
+    /**
+     * 申请人
+     */
+    @Column(name = "applyname")
+    private String applyname;
+
+    /**
+     * 申请人公司
+     */
+    @Column(name = "applyenname")
+    private String applyenname;
+
+    /**
+     * 信息类型
+     */
+    @Column(name = "type")
+    private String type;
+
+    public String getOrderid() {
+        return orderid;
+    }
+
+    public AdminToDo setOrderid(String orderid) {
+        this.orderid = orderid;
+        return this;
+    }
+
+    public String getApplytime() {
+        return applytime;
+    }
+
+    public AdminToDo setApplytime(String applytime) {
+        this.applytime = applytime;
+        return this;
+    }
+
+    public Long getSellerenuu() {
+        return sellerenuu;
+    }
+
+    public AdminToDo setSellerenuu(Long sellerenuu) {
+        this.sellerenuu = sellerenuu;
+        return this;
+    }
+
+    public String getSellername() {
+        return sellername;
+    }
+
+    public AdminToDo setSellername(String sellername) {
+        this.sellername = sellername;
+        return this;
+    }
+
+    public String getApplyname() {
+        return applyname;
+    }
+
+    public AdminToDo setApplyname(String applyname) {
+        this.applyname = applyname;
+        return this;
+    }
+
+    public String getApplyenname() {
+        return applyenname;
+    }
+
+    public AdminToDo setApplyenname(String applyenname) {
+        this.applyenname = applyenname;
+        return this;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public AdminToDo setType(String type) {
+        this.type = type;
+        return this;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public AdminToDo setId(String id) {
+        this.id = id;
+        return this;
+    }
+}

+ 18 - 0
src/main/java/com/uas/platform/b2c/trade/order/service/AdminToDoService.java

@@ -0,0 +1,18 @@
+package com.uas.platform.b2c.trade.order.service;
+
+import com.uas.platform.b2c.trade.order.model.AdminToDo;
+import com.uas.platform.core.model.PageParams;
+import org.springframework.data.domain.Page;
+
+/**
+ * Created by yujia on 2018/7/24.
+ */
+public interface AdminToDoService {
+
+    /**
+     * 分页获取待办事项
+     * @param params
+     * @return Page<AdminToDo>
+     */
+    Page<AdminToDo> getPageAdminToDo(PageParams params);
+}

+ 7 - 0
src/main/java/com/uas/platform/b2c/trade/order/service/MessageNotifyPersonalManagementService.java

@@ -18,6 +18,13 @@ public interface MessageNotifyPersonalManagementService {
      */
     List<MessageNotifyPersonalManagement> findNotifyPersonalEnuuAndType(Long enuu, String type);
 
+    /**
+     * 根据enuu获取对象
+     * @param enuu 企业enuu
+     * @return List<MessageNotifyPersonalManagement>
+     */
+    List<MessageNotifyPersonalManagement> findNotifyPersonalEnuu(Long enuu);
+
     /**
      * 删除信息
      * @param list

+ 80 - 0
src/main/java/com/uas/platform/b2c/trade/order/service/impl/AdminToDoServiceImpl.java

@@ -0,0 +1,80 @@
+package com.uas.platform.b2c.trade.order.service.impl;
+
+import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.common.account.model.User;
+import com.uas.platform.b2c.core.support.SystemSession;
+import com.uas.platform.b2c.trade.order.dao.AdminToDoDao;
+import com.uas.platform.b2c.trade.order.model.AdminToDo;
+import com.uas.platform.b2c.trade.order.model.MessageNotifyPersonalManagement;
+import com.uas.platform.b2c.trade.order.service.AdminToDoService;
+import com.uas.platform.b2c.trade.order.service.MessageNotifyPersonalManagementService;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * 待办事项service
+ *
+ * @author yuj 2018-07-24 15:59
+ */
+@Service
+public class AdminToDoServiceImpl implements AdminToDoService {
+
+    private final AdminToDoDao adminToDoDao;
+
+    private final MessageNotifyPersonalManagementService messageNotifyPersonalManagementService;
+
+    @Autowired
+    public AdminToDoServiceImpl(AdminToDoDao adminToDoDao, MessageNotifyPersonalManagementService messageNotifyPersonalManagementService) {
+        this.adminToDoDao = adminToDoDao;
+        this.messageNotifyPersonalManagementService = messageNotifyPersonalManagementService;
+    }
+
+    /**
+     * 分页获取待办事项
+     *
+     * @param params
+     * @return Page<AdminToDo>
+     */
+    @Override
+    public Page<AdminToDo> getPageAdminToDo(PageParams params) {
+        final PageInfo info = new PageInfo(params);
+        User user = SystemSession.getUser();
+        Enterprise enterprise = user.getEnterprise();
+        if (enterprise == null) {
+            return new PageImpl<AdminToDo>(Collections.emptyList(), info, 0l);
+        }
+        List<MessageNotifyPersonalManagement> managements = messageNotifyPersonalManagementService.findNotifyPersonalEnuu(enterprise.getUu());
+        Boolean canNotify = false;
+        for (MessageNotifyPersonalManagement management : managements) {
+            if (management.getNotifyPersonalUseruu().longValue() == user.getUserUU().longValue()) {
+                canNotify = true;
+                break;
+            }
+        }
+        if (!canNotify) {
+            return new PageImpl<AdminToDo>(Collections.emptyList(), info, 0l);
+        }
+        info.sorting("applytime", Sort.Direction.DESC);
+        org.springframework.data.domain.Page<AdminToDo> adminToDos = adminToDoDao.findAll(new Specification<AdminToDo>() {
+            @Override
+            public Predicate toPredicate(Root<AdminToDo> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+                query.where(info.getPredicates(root, query, cb));
+                return null;
+            }
+        }, info);
+        return adminToDos;
+    }
+}

+ 16 - 0
src/main/java/com/uas/platform/b2c/trade/order/service/impl/MessageNotifyPersonalManagementServiceImpl.java

@@ -42,6 +42,22 @@ public class MessageNotifyPersonalManagementServiceImpl implements MessageNotify
         }
     }
 
+    /**
+     * 根据enuu获取对象
+     *
+     * @param enuu 企业enuu
+     * @return List<MessageNotifyPersonalManagement>
+     */
+    @Override
+    public List<MessageNotifyPersonalManagement> findNotifyPersonalEnuu(Long enuu) {
+        if (enuu == null) {
+            return Collections.emptyList();
+        } else {
+            List<MessageNotifyPersonalManagement> managements = messageNotifyPersonalManagementDao.findNotifyPersonalEnuu(enuu);
+            return managements;
+        }
+    }
+
     /**
      * 删除信息
      *