Browse Source

Merge remote-tracking branch 'origin/master'

zhaoxian 2 years ago
parent
commit
8944e43b6b

+ 61 - 24
ruixuan-live/src/main/java/com/ruixuan/isc/controller/KuaishouItemCollectSamplesController.java

@@ -1,5 +1,6 @@
 package com.ruixuan.isc.controller;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -10,7 +11,6 @@ import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
 import com.kuaidi100.sdk.api.Subscribe;
 import com.kuaidi100.sdk.contant.ApiInfoConstant;
-import com.kuaidi100.sdk.contant.CompanyConstant;
 import com.kuaidi100.sdk.core.IBaseClient;
 import com.kuaidi100.sdk.request.SubscribeParam;
 import com.kuaidi100.sdk.request.SubscribeParameters;
@@ -25,6 +25,7 @@ import com.ruixuan.common.enums.BusinessType;
 import com.ruixuan.common.utils.Check;
 import com.ruixuan.isc.entity.KuaishouItemCollectSampleExpress;
 import com.ruixuan.isc.entity.KuaishouItemCollectSamples;
+import com.ruixuan.isc.entity.KuaishouItemCollectSampleLog;
 import com.ruixuan.isc.enums.CompanyEnum;
 import com.ruixuan.isc.service.IKuaishouItemCollectSamplesService;
 import com.ruixuan.system.service.ISysDeptService;
@@ -71,23 +72,23 @@ public class KuaishouItemCollectSamplesController extends BaseController {
         TableDataInfo tableDataInfo = new TableDataInfo();
         try {
             Map<String, Object> requestMap = new HashMap<>();
-            if (Check.isNull(userId)) {
-                throw new Exception("请传入登录人ID");
-            }
-            String roleId = sysRoleService.getRoleBYUserId(userId);
-            if (roleId.equals("courtshipManager") || roleId.equals("bdManager") || roleId.equals("associationManager")) { // 经理层级查看部门下所有数据
-                Long deptId = sysDeptService.getDeptIdByUserId(userId);
-                List<Long> userIds = sysDeptService.getDeptUserListByDeptId(deptId);
-                if (roleId.equals("bdManager") || roleId.equals("associationManager")) {
-                    requestMap.put("collectSampleIds", userIds);
-                } else {
-                    requestMap.put("itemCreateIds", userIds);
+            if (!Check.isNull(userId)) {
+                String roleId = sysRoleService.getRoleBYUserId(userId);
+                if (roleId.equals("courtshipManager") || roleId.equals("bdManager") || roleId.equals("associationManager")) { // 经理层级查看部门下所有数据
+                    Long deptId = sysDeptService.getDeptIdByUserId(userId);
+                    List<Long> userIds = sysDeptService.getDeptUserListByDeptId(deptId);
+                    if (roleId.equals("bdManager") || roleId.equals("associationManager")) {
+                        requestMap.put("collectSampleIds", userIds);
+                    } else {
+                        requestMap.put("itemCreateIds", userIds);
+                    }
+                } else if (roleId.equals("association") || roleId.equals("bd")) { // 社群和bd查看申请人为自己的领样信息
+                    requestMap.put("collectSampleId", userId);
+                } else if (roleId.equals("courtship")) { // 招商查看创建人为自己的领样信息
+                    requestMap.put("itemCreateId", userId);
                 }
-            } else if (roleId.equals("association") || roleId.equals("bd")) { // 社群和bd查看申请人为自己的领样信息
-                requestMap.put("collectSampleId", userId);
-            } else if (roleId.equals("courtship")) { // 招商查看创建人为自己的领样信息
-                requestMap.put("itemCreateId", userId);
             }
+
             if (!Check.isNull(itemId)) {
                 requestMap.put("itemId", itemId);
             }
@@ -191,8 +192,13 @@ public class KuaishouItemCollectSamplesController extends BaseController {
             if (Check.isNull(id)) {
                 throw new Exception("id不能为空");
             }
+            KuaishouItemCollectSampleLog sampleLog = new KuaishouItemCollectSampleLog();
+            sampleLog.setUserId(kuaishouItemCollectSamples.getUserId());
+            sampleLog.setUserName(kuaishouItemCollectSamples.getUserName());
+            sampleLog.setSampleId(id);
             Integer collectSampleStatus = kuaishouItemCollectSamples.getCollectSampleStatus();
             if (!Check.isNull(collectSampleStatus)) {
+                sampleLog.setCollectSampleStatus(collectSampleStatus);
                 if (collectSampleStatus == 2) {
                     String collectSampleDesc = kuaishouItemCollectSamples.getCollectSampleDesc();
                     if (Check.isNull(collectSampleDesc)) {
@@ -207,6 +213,9 @@ public class KuaishouItemCollectSamplesController extends BaseController {
                     if (Check.isNull(collectSampleDesc)) {
                         kuaishouItemCollectSamples.setCollectSampleDesc("招商审核作业拒绝,请重新提交");
                     }
+
+                    kuaishouItemCollectSamplesService.cleanLogs(kuaishouItemCollectSamples.getId(), 6);
+
                 }
                 if (collectSampleStatus == 7) { // 作业完成
                     kuaishouItemCollectSamples.setCollectSampleDesc("作业已完成");
@@ -214,17 +223,24 @@ public class KuaishouItemCollectSamplesController extends BaseController {
             }
             String courierNumber = kuaishouItemCollectSamples.getCourierNumber();
             if (!Check.isNull(courierNumber)) {
+                sampleLog.setCollectSampleStatus(4);
                 kuaishouItemCollectSamples.setCollectSampleStatus(4);
                 kuaishouItemCollectSamples.setCollectSampleDesc("商品已发货");
                 // 调用快递接口
                 kuaishouItemCollectSamplesService.subscribe(id, courierNumber, kuaishouItemCollectSamples.getCompanyCode());
             }
             String taskFileUrl = kuaishouItemCollectSamples.getTaskFileUrl();
-            if (Check.isNull(taskFileUrl)) { // 作业上传成功
+            if (!Check.isNull(taskFileUrl)) { // 作业上传成功
+                sampleLog.setCollectSampleStatus(6);
                 kuaishouItemCollectSamples.setCollectSampleStatus(6);
                 kuaishouItemCollectSamples.setCollectSampleDesc("作业上传成功,待招商审核");
             }
-            kuaishouItemCollectSamplesService.updateKuaishouItemCollectSamples(kuaishouItemCollectSamples);
+            int i = kuaishouItemCollectSamplesService.updateKuaishouItemCollectSamples(kuaishouItemCollectSamples);
+            if (i > 0) {
+                sampleLog.setCreateTime(new Date());
+                sampleLog.setUpdateTime(new Date());
+                kuaishouItemCollectSamplesService.insertLog(sampleLog);
+            }
             returnJson.put("code", 0);
             returnJson.put("message", "修改成功");
         } catch (Exception e) {
@@ -255,8 +271,26 @@ public class KuaishouItemCollectSamplesController extends BaseController {
     }
 
 
+    @GetMapping("/courierNumberInfo")
+    public JSONObject courierNumberInfo(String courierNumber) {
+        JSONObject returnJson = new JSONObject();
+        try {
+            if (Check.isNull(courierNumber)) {
+                throw new Exception("快递单号不能为空");
+            }
+            returnJson = kuaishouItemCollectSamplesService.courierNumberInfo(courierNumber);
+            returnJson.put("code", 0);
+            returnJson.put("message", "查询成功");
+        } catch (Exception e) {
+            e.printStackTrace();
+            returnJson.put("code", -1);
+            returnJson.put("message", e.getMessage());
+        }
+        return returnJson;
+    }
+
     @PutMapping("/testSubscribe")
-    public JSONObject testSubscribe(String phone, String courierNumber,String code) {
+    public JSONObject testSubscribe(String phone, String courierNumber, String code) {
         JSONObject returnJson = new JSONObject();
         try {
             SubscribeParameters subscribeParameters = new SubscribeParameters();
@@ -301,11 +335,14 @@ public class KuaishouItemCollectSamplesController extends BaseController {
                 String nu = lastResult.getString("nu");
                 String com = lastResult.getString("com");
                 if ("3".equals(state)) {
-                    KuaishouItemCollectSamples updateSample = new KuaishouItemCollectSamples();
-                    updateSample.setCourierNumber(nu);
-                    updateSample.setCollectSampleStatus(5);
-                    updateSample.setCollectSampleDesc("快递已签收,待上传作业");
-                    kuaishouItemCollectSamplesService.updateByNum(updateSample);
+                    Integer status = kuaishouItemCollectSamplesService.getStatusByCourierNumbe(nu);
+                    if (status < 5) { // 防止快递重复回调
+                        KuaishouItemCollectSamples updateSample = new KuaishouItemCollectSamples();
+                        updateSample.setCourierNumber(nu);
+                        updateSample.setCollectSampleStatus(5);
+                        updateSample.setCollectSampleDesc("快递已签收,待上传作业");
+                        kuaishouItemCollectSamplesService.updateByNum(updateSample);
+                    }
                 }
                 JSONArray data = lastResult.getJSONArray("data");
                 KuaishouItemCollectSampleExpress express = new KuaishouItemCollectSampleExpress();

+ 70 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/entity/KuaishouItemCollectSampleLog.java

@@ -0,0 +1,70 @@
+package com.ruixuan.isc.entity;
+
+import com.ruixuan.common.core.domain.BaseEntity;
+
+public class KuaishouItemCollectSampleLog extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+    private Long sampleId;
+    private Long userId;
+    private String userName;
+    private Integer collectSampleStatus;
+
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getSampleId() {
+        return sampleId;
+    }
+
+    public void setSampleId(Long sampleId) {
+        this.sampleId = sampleId;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public Integer getCollectSampleStatus() {
+        return collectSampleStatus;
+    }
+
+    public void setCollectSampleStatus(Integer collectSampleStatus) {
+        this.collectSampleStatus = collectSampleStatus;
+    }
+
+    @Override
+    public String toString() {
+        return "kuaishouItemCollectSampleLog{" +
+                "id=" + id +
+                ", sampleId=" + sampleId +
+                ", userId=" + userId +
+                ", userName='" + userName + '\'' +
+                ", collectSampleStatus=" + collectSampleStatus +
+                '}';
+    }
+}

+ 23 - 2
ruixuan-live/src/main/java/com/ruixuan/isc/entity/KuaishouItemCollectSamples.java

@@ -3,8 +3,7 @@ package com.ruixuan.isc.entity;
 
 import com.ruixuan.common.annotation.Excel;
 import com.ruixuan.common.core.domain.BaseEntity;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
+
 import org.springframework.data.annotation.Transient;
 
 
@@ -113,6 +112,10 @@ public class KuaishouItemCollectSamples extends BaseEntity
 
     @Transient
     private String companyCode;
+    @Transient
+    private Long userId;
+    @Transient
+    private String userName;
 
 
     public static long getSerialVersionUID() {
@@ -319,6 +322,22 @@ public class KuaishouItemCollectSamples extends BaseEntity
         this.companyCode = companyCode;
     }
 
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
     @Override
     public String toString() {
         return "KuaishouItemCollectSamples{" +
@@ -347,6 +366,8 @@ public class KuaishouItemCollectSamples extends BaseEntity
                 ", collectSampleStatus=" + collectSampleStatus +
                 ", collectSampleDesc='" + collectSampleDesc + '\'' +
                 ", companyCode='" + companyCode + '\'' +
+                ", userId=" + userId +
+                ", userName='" + userName + '\'' +
                 '}';
     }
 }

+ 13 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/mapper/KuaishouItemCollectSamplesMapper.java

@@ -4,6 +4,7 @@ package com.ruixuan.isc.mapper;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ruixuan.isc.entity.KuaishouItemCollectSampleExpress;
+import com.ruixuan.isc.entity.KuaishouItemCollectSampleLog;
 import com.ruixuan.isc.entity.KuaishouItemCollectSamples;
 import org.apache.ibatis.annotations.Param;
 
@@ -80,5 +81,17 @@ public interface KuaishouItemCollectSamplesMapper
     void replaceExpress(KuaishouItemCollectSampleExpress express);
 
     KuaishouItemCollectSampleExpress getExpress(@Param("courierNumber") String courierNumber);
+
+    Integer getStatusByCourierNumbe(String nu);
+
+    JSONObject courierNumberInfo(String courierNumber);
+
+    void insertLog(KuaishouItemCollectSampleLog sampleLog);
+
+    void batchAddLogs(@Param(value = "adds") List<KuaishouItemCollectSampleLog> logs);
+
+    List<KuaishouItemCollectSampleLog> getLogList(@Param("sampleId") Long id);
+
+    void cleanLogs(@Param("sampleId") Long sampleId, @Param("status") Integer status);
 }
 

+ 9 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/IKuaishouItemCollectSamplesService.java

@@ -5,6 +5,7 @@ package com.ruixuan.isc.service;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ruixuan.isc.entity.KuaishouItemCollectSampleExpress;
+import com.ruixuan.isc.entity.KuaishouItemCollectSampleLog;
 import com.ruixuan.isc.entity.KuaishouItemCollectSamples;
 
 import java.util.List;
@@ -78,5 +79,13 @@ public interface IKuaishouItemCollectSamplesService
     void replaceExpress(KuaishouItemCollectSampleExpress express);
 
     JSONObject getDetail(Long id);
+
+    Integer getStatusByCourierNumbe(String nu);
+
+    JSONObject courierNumberInfo(String courierNumber);
+
+    void insertLog(KuaishouItemCollectSampleLog sampleLog);
+
+    void cleanLogs(Long id, Integer status);
 }
 

+ 34 - 1
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/KuaishouItemCollectSamplesServiceImpl.java

@@ -15,6 +15,7 @@ import com.kuaidi100.sdk.request.SubscribeReq;
 import com.ruixuan.common.utils.Check;
 import com.ruixuan.common.utils.DateUtils;
 import com.ruixuan.isc.entity.KuaishouItemCollectSampleExpress;
+import com.ruixuan.isc.entity.KuaishouItemCollectSampleLog;
 import com.ruixuan.isc.entity.KuaishouItemCollectSamples;
 import com.ruixuan.isc.mapper.KuaishouItemCollectSamplesMapper;
 import com.ruixuan.isc.service.IKuaishouItemCollectSamplesService;
@@ -192,6 +193,7 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
             sample.setPromoterNickName(sampleJson.getString("promoterNickName"));
             sample.setPromoterUrl(sampleJson.getString("promoterUrl"));
             adds.add(sample);
+
         }
         if (!Check.isNull(adds)) {
             kuaishouItemCollectSamplesMapper.batchAdd(adds);
@@ -241,6 +243,14 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
     public JSONObject getDetail(Long id) {
         JSONObject json = new JSONObject();
         KuaishouItemCollectSamples sample = kuaishouItemCollectSamplesMapper.selectKuaishouItemCollectSamplesById(id);
+        KuaishouItemCollectSampleLog log = new KuaishouItemCollectSampleLog();
+        log.setCollectSampleStatus(1);
+        log.setUserId(sample.getCollectSampleId());
+        log.setUserName(sample.getCollectSampleName());
+        log.setSampleId(sample.getId());
+        log.setCreateTime(sample.getCreateTime());
+        log.setUpdateTime(sample.getCreateTime());
+        kuaishouItemCollectSamplesMapper.insertLog(log);
         json.put("sample", sample);
         if (!Check.isNull(sample.getCourierNumber())) {
             KuaishouItemCollectSampleExpress express = kuaishouItemCollectSamplesMapper.getExpress(sample.getCourierNumber());
@@ -248,11 +258,34 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
                 json.put("express", express);
             }
         }
-
+        List<KuaishouItemCollectSampleLog> logs = kuaishouItemCollectSamplesMapper.getLogList(id);
+        if (!Check.isNull(logs)) {
+            json.put("logs", logs);
+        }
 
         return json;
     }
 
+    @Override
+    public Integer getStatusByCourierNumbe(String nu) {
+        return kuaishouItemCollectSamplesMapper.getStatusByCourierNumbe(nu);
+    }
+
+    @Override
+    public JSONObject courierNumberInfo(String courierNumber) {
+        return kuaishouItemCollectSamplesMapper.courierNumberInfo(courierNumber);
+    }
+
+    @Override
+    public void insertLog(KuaishouItemCollectSampleLog sampleLog) {
+        kuaishouItemCollectSamplesMapper.insertLog(sampleLog);
+    }
+
+    @Override
+    public void cleanLogs(Long id, Integer status) {
+        kuaishouItemCollectSamplesMapper.cleanLogs(id,status);
+    }
+
 
 }
 

+ 58 - 3
ruixuan-live/src/main/resources/mapper/isc/KuaishouItemCollectSamplesMapper.xml

@@ -64,8 +64,6 @@
                     #{item}
                 </foreach>
             </if>
-
-
         </where>
     </select>
 
@@ -119,13 +117,30 @@
         select count(1)  from kuaishou_item_collect_samples
         where item_id = #{itemId}
         and promoter_id = #{promoterId}
-
+        and collect_sample_status != 2
     </select>
     <select id="getExpress" resultType="com.ruixuan.isc.entity.KuaishouItemCollectSampleExpress"
             parameterType="java.lang.String">
         select *  from kuaishou_item_collect_sample_express where  courier_number = #{courierNumber}
 
     </select>
+    <select id="getStatusByCourierNumbe" resultType="java.lang.Integer" parameterType="java.lang.String">
+        select  collect_sample_status  from  kuaishou_item_collect_samples where  courierNumber = #{nu} order by update_time desc limit 1
+    </select>
+    <select id="courierNumberInfo" resultType="com.alibaba.fastjson.JSONObject"
+            parameterType="java.lang.String">
+         select
+           courier_number as 'courierNumber',
+           state as 'state',
+           express_data as 'expressData',
+           create_time as 'createTime',
+           update_time as 'updateTime'
+           from kuaishou_item_collect_sample_express where  courier_number = #{courierNumber}
+    </select>
+    <select id="getLogList" resultType="com.ruixuan.isc.entity.KuaishouItemCollectSampleLog"
+            parameterType="java.lang.Long">
+        select  *  from kuaishou_item_collect_sample_log where sample_id = #{sampleId} order by collect_sample_status asc
+    </select>
 
 
     <insert id="insertKuaishouItemCollectSamples" parameterType="com.ruixuan.isc.entity.KuaishouItemCollectSamples">
@@ -257,6 +272,43 @@
             #{state},
             #{expressData}
        )
+    </insert>
+    <insert id="insertLog" parameterType="com.ruixuan.isc.entity.KuaishouItemCollectSampleLog">
+        replace into kuaishou_item_collect_sample_log(
+            sample_id,
+            user_id,
+            user_name,
+            collect_sample_status,
+            create_time,
+            update_time
+        )
+        values
+       (
+            #{sampleId},
+            #{userId},
+            #{userName},
+            #{collectSampleStatus},
+            #{createTime},
+            #{updateTime}
+       )
+
+    </insert>
+    <insert id="batchAddLogs">
+        replace into kuaishou_item_collect_sample_log(
+        sample_id,
+        user_id,
+        user_name,
+        collect_sample_status
+        )
+        values
+        <foreach collection="adds" item="add" separator=",">
+            (
+            #{add.sampleId},
+            #{add.userId},
+            #{add.userName},
+            #{add.collectSampleStatus}
+            )
+        </foreach>
 
     </insert>
 
@@ -311,4 +363,7 @@
             #{id}
         </foreach>
     </delete>
+    <delete id="cleanLogs">
+        delete from kuaishou_item_collect_samples where  sample_id = #{sampleId} and collect_sample_status = #{status}
+    </delete>
 </mapper>