Browse Source

Merge remote-tracking branch 'origin/feature-huj-1127'

Hu Jie 7 years ago
parent
commit
34127c6b80

+ 38 - 0
src/main/java/com/uas/platform/b2b/erp/listen/controller/ListenController.java

@@ -0,0 +1,38 @@
+package com.uas.platform.b2b.erp.listen.controller;
+
+import com.uas.platform.b2b.erp.listen.dao.ListenDao;
+import com.uas.platform.b2b.erp.listen.model.Listen;
+import com.uas.platform.b2b.erp.listen.service.ListenService;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.List;
+
+
+/**
+ * @Author: huj
+ * @Date: Created in 16:04 2018/11/27.
+ */
+@RestController
+@RequestMapping("/erp/listen")
+public class ListenController {
+
+    @Autowired
+    ListenService listenService;
+
+    /**
+     * 更新erp轮询状态
+     */
+    @RequestMapping(method = RequestMethod.POST)
+    public void save(@RequestParam("data") String data) throws UnsupportedEncodingException {
+        String jsonStr = URLDecoder.decode(data, "UTF-8");
+        List<Listen> listens = FlexJsonUtils.fromJsonArray(jsonStr, Listen.class);
+        listenService.save(listens);
+    }
+}

+ 16 - 0
src/main/java/com/uas/platform/b2b/erp/listen/dao/ListenDao.java

@@ -0,0 +1,16 @@
+package com.uas.platform.b2b.erp.listen.dao;
+
+import com.uas.platform.b2b.erp.listen.model.Listen;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Author: huj
+ * @Date: Created in 16:28 2018/11/27.
+ */
+@Repository
+public interface ListenDao extends JpaRepository<Listen, Long>, JpaSpecificationExecutor<Listen> {
+
+    Listen findByMacAddress(String macAddress);
+}

+ 71 - 0
src/main/java/com/uas/platform/b2b/erp/listen/model/Listen.java

@@ -0,0 +1,71 @@
+package com.uas.platform.b2b.erp.listen.model;
+
+import javax.persistence.*;
+import java.util.Date;
+
+/**
+ * @Author: huj
+ * @Date: Created in 16:04 2018/11/27.
+ */
+@Table(name = "listen$erp", indexes = {@Index(name = "unique_mac_address",
+        columnList = "mac_address", unique = true)})
+@Entity
+public class Listen {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "mac_address")
+    private String macAddress;
+
+    @Column(name = "name", length = 2000)
+    private String name;
+
+    @Column(name = "date")
+    private Date date;
+
+    @Column(name = "description")
+    private String description;
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getMacAddress() {
+        return macAddress;
+    }
+
+    public void setMacAddress(String macAddress) {
+        this.macAddress = macAddress;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+}

+ 17 - 0
src/main/java/com/uas/platform/b2b/erp/listen/service/ListenService.java

@@ -0,0 +1,17 @@
+package com.uas.platform.b2b.erp.listen.service;
+
+import com.uas.platform.b2b.erp.listen.model.Listen;
+
+import java.util.List;
+
+/**
+ * @Author: huj
+ * @Date: Created in 16:30 2018/11/27.
+ */
+public interface ListenService {
+
+    /**
+     * 保存操作
+     */
+    void save(List<Listen> listen);
+}

+ 46 - 0
src/main/java/com/uas/platform/b2b/erp/listen/service/impl/ListenServiceImpl.java

@@ -0,0 +1,46 @@
+package com.uas.platform.b2b.erp.listen.service.impl;
+
+import com.uas.platform.b2b.erp.listen.dao.ListenDao;
+import com.uas.platform.b2b.erp.listen.model.Listen;
+import com.uas.platform.b2b.erp.listen.service.ListenService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: huj
+ * @Date: Created in 16:31 2018/11/27.
+ */
+@Service
+public class ListenServiceImpl implements ListenService {
+
+    @Autowired
+    ListenDao listenDao;
+
+    /**
+     * 保存操作
+     */
+    @Override
+    public void save(List<Listen> listens) {
+        if (!CollectionUtils.isEmpty(listens)) {
+            listens.forEach(listen -> {
+                Listen exitListen = listenDao.findByMacAddress(listen.getMacAddress());
+                if (!StringUtils.isEmpty(exitListen)) {
+                    if (!StringUtils.isEmpty(listen.getName())) {
+                        exitListen.setName(listen.getName());
+                    }
+                    exitListen.setDate(new Date());
+                    exitListen.setDescription(listen.getDescription());
+                    listenDao.save(exitListen);
+                } else {
+                    listen.setDate(new Date());
+                    listenDao.save(listen);
+                }
+            });
+        }
+    }
+}

+ 2 - 0
src/main/webapp/WEB-INF/spring/webmvc.xml

@@ -89,6 +89,7 @@
 			<mvc:exclude-mapping path="/changeAdmin/**" />
 			<mvc:exclude-mapping path="/authen/**" />
 			<mvc:exclude-mapping path="/mobile/**" />
+			<mvc:exclude-mapping path="/erp/listen" />
 			<bean class="com.uas.platform.b2b.filter.SSOInterceptor"></bean>
 		</mvc:interceptor>
 		<!-- 对所有的请求拦截,将Session中的User信息设置进SystemSession -->
@@ -104,6 +105,7 @@
 		<!-- 针对具体UAS用户,采用独立私钥签名、认证 -->
 		<mvc:interceptor>
 			<mvc:mapping path="/erp/**"></mvc:mapping>
+			<mvc:exclude-mapping path="/erp/listen" />
 			<bean class="com.uas.platform.b2b.filter.AccessSignatureInterceptor"></bean>
 		</mvc:interceptor>
 		<!-- 针对开放接口第三方,采用access_token认证 -->