| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378 | 
							- package com.ruixuan.isc.controller;
 
- import java.util.Date;
 
- import java.util.HashMap;
 
- import java.util.List;
 
- import java.util.Map;
 
- import javax.servlet.http.HttpServletRequest;
 
- import com.alibaba.fastjson.JSONArray;
 
- 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.core.IBaseClient;
 
- import com.kuaidi100.sdk.request.SubscribeParam;
 
- import com.kuaidi100.sdk.request.SubscribeParameters;
 
- import com.kuaidi100.sdk.request.SubscribeReq;
 
- import com.kuaidi100.sdk.response.SubscribeResp;
 
- import com.ruixuan.common.annotation.Log;
 
- import com.ruixuan.common.core.controller.BaseController;
 
- import com.ruixuan.common.core.domain.AjaxResult;
 
- import com.ruixuan.common.core.domain.entity.SysUser;
 
- import com.ruixuan.common.core.page.TableDataInfo;
 
- 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;
 
- import com.ruixuan.system.service.ISysRoleService;
 
- import com.ruixuan.system.service.ISysUserService;
 
- import lombok.extern.slf4j.Slf4j;
 
- import org.springframework.security.access.prepost.PreAuthorize;
 
- import org.springframework.beans.factory.annotation.Autowired;
 
- import org.springframework.web.bind.annotation.GetMapping;
 
- import org.springframework.web.bind.annotation.PostMapping;
 
- import org.springframework.web.bind.annotation.PutMapping;
 
- import org.springframework.web.bind.annotation.DeleteMapping;
 
- import org.springframework.web.bind.annotation.PathVariable;
 
- import org.springframework.web.bind.annotation.RequestBody;
 
- import org.springframework.web.bind.annotation.RequestMapping;
 
- import org.springframework.web.bind.annotation.RestController;
 
- /**
 
-  * 【商品领样】Controller
 
-  *
 
-  * @author ruoyi
 
-  * @date 2023-02-08
 
-  */
 
- @RestController
 
- @Slf4j
 
- @RequestMapping("/itemCollectSamples")
 
- public class KuaishouItemCollectSamplesController extends BaseController {
 
-     @Autowired
 
-     private IKuaishouItemCollectSamplesService kuaishouItemCollectSamplesService;
 
-     @Autowired
 
-     private ISysRoleService sysRoleService;
 
-     @Autowired
 
-     private ISysDeptService sysDeptService;
 
-     @Autowired
 
-     private ISysUserService sysUserService;
 
-     /**
 
-      * 查询【请填写功能名称】列表
 
-      */
 
-     @GetMapping("/list")
 
-     public TableDataInfo list(Long itemId, Long promoterId, Long userId, Integer collectSampleStatus) {
 
-         TableDataInfo tableDataInfo = new TableDataInfo();
 
-         try {
 
-             Map<String, Object> requestMap = new HashMap<>();
 
-             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);
 
-                 }
 
-             }
 
-             if (!Check.isNull(itemId)) {
 
-                 requestMap.put("itemId", itemId);
 
-             }
 
-             if (!Check.isNull(promoterId)) {
 
-                 requestMap.put("promoterId", promoterId);
 
-             }
 
-             if (!Check.isNull(collectSampleStatus)) {
 
-                 requestMap.put("collectSampleStatus", collectSampleStatus);
 
-             }
 
-             startPage();
 
-             List<KuaishouItemCollectSamples> list = kuaishouItemCollectSamplesService.selectKuaishouItemCollectSamplesList(requestMap);
 
-             return getDataTable(list);
 
-         } catch (Exception e) {
 
-             e.printStackTrace();
 
-             tableDataInfo.setCode(-1);
 
-             tableDataInfo.setMsg(e.getMessage());
 
-         }
 
-         return tableDataInfo;
 
-     }
 
-     /**
 
-      * 领样预览
 
-      */
 
-     @PostMapping("/preview")
 
-     public JSONObject preview(@RequestBody JSONObject requestJson) {
 
-         JSONObject returnJson = new JSONObject();
 
-         try {
 
-             Long userId = requestJson.getLong("userId");
 
-             if (Check.isNull(userId)) {
 
-                 throw new Exception("请传入当前登录人ID");
 
-             }
 
-             SysUser sysUser = sysUserService.selectUserById(userId);
 
-             if (Check.isNull(sysUser)) {
 
-                 throw new Exception("未获取到登录人信息");
 
-             }
 
-             JSONArray itemIds = requestJson.getJSONArray("itemIds");
 
-             if (Check.isNull(itemIds)) {
 
-                 throw new Exception("请传入需要申请的商品列表");
 
-             }
 
-             JSONArray promoterIds = requestJson.getJSONArray("promoterIds");
 
-             if (Check.isNull(promoterIds)) {
 
-                 throw new Exception("请传入需要申请的达人列表");
 
-             }
 
-             JSONObject previewJson = kuaishouItemCollectSamplesService.preview(userId, sysUser.getNickName(), itemIds, promoterIds);
 
-             returnJson.put("code", 0);
 
-             returnJson.put("message", "success");
 
-             returnJson.put("preview", previewJson);
 
-         } catch (Exception e) {
 
-             e.printStackTrace();
 
-             returnJson.put("code", -1);
 
-             returnJson.put("message", e.getMessage());
 
-         }
 
-         return returnJson;
 
-     }
 
-     /**
 
-      * 新增【请填写功能名称】
 
-      */
 
-     @PostMapping("/add")
 
-     public JSONObject add(@RequestBody JSONObject requestJson) {
 
-         JSONObject returnJson = new JSONObject();
 
-         try {
 
-             if (Check.isNull(requestJson)) {
 
-                 throw new Exception("入参不能为空");
 
-             }
 
-             JSONArray temCollectSamples = requestJson.getJSONArray("temCollectSamples");
 
-             if (Check.isNull(temCollectSamples)) {
 
-                 throw new Exception("认领信息不能为空");
 
-             }
 
-             kuaishouItemCollectSamplesService.batchAdd(temCollectSamples);
 
-             returnJson.put("code", 0);
 
-             returnJson.put("message", "领样信息增加成功");
 
-         } catch (Exception e) {
 
-             e.printStackTrace();
 
-             returnJson.put("code", -1);
 
-             returnJson.put("message", e.getMessage());
 
-         }
 
-         return returnJson;
 
-     }
 
-     @GetMapping("/getCompany")
 
-     public List<JSONObject> getCompany() {
 
-         return CompanyEnum.companyList();
 
-     }
 
-     /**
 
-      * 修改【请填写功能名称】
 
-      */
 
-     @PutMapping("/edit")
 
-     public JSONObject edit(@RequestBody KuaishouItemCollectSamples kuaishouItemCollectSamples) {
 
-         JSONObject returnJson = new JSONObject();
 
-         try {
 
-             Long id = kuaishouItemCollectSamples.getId();
 
-             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)) {
 
-                         kuaishouItemCollectSamples.setCollectSampleDesc("领样审核拒绝");
 
-                     }
 
-                 }
 
-                 if (collectSampleStatus == 3) {
 
-                     kuaishouItemCollectSamples.setCollectSampleDesc("待录入订单号");
 
-                 }
 
-                 if (collectSampleStatus == 5) { // 招商审核作业拒绝
 
-                     String collectSampleDesc = kuaishouItemCollectSamples.getCollectSampleDesc();
 
-                     if (Check.isNull(collectSampleDesc)) {
 
-                         kuaishouItemCollectSamples.setCollectSampleDesc("招商审核作业拒绝,请重新提交");
 
-                     }
 
-                     kuaishouItemCollectSamplesService.cleanLogs(kuaishouItemCollectSamples.getId(), 6);
 
-                 }
 
-                 if (collectSampleStatus == 7) { // 作业完成
 
-                     kuaishouItemCollectSamples.setCollectSampleDesc("作业已完成");
 
-                 }
 
-             }
 
-             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)) { // 作业上传成功
 
-                 sampleLog.setCollectSampleStatus(6);
 
-                 kuaishouItemCollectSamples.setCollectSampleStatus(6);
 
-                 kuaishouItemCollectSamples.setCollectSampleDesc("作业上传成功,待招商审核");
 
-             }
 
-             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) {
 
-             e.printStackTrace();
 
-             returnJson.put("code", -1);
 
-             returnJson.put("message", e.getMessage());
 
-         }
 
-         return returnJson;
 
-     }
 
-     @GetMapping("/detail")
 
-     public JSONObject detail(Long id) {
 
-         JSONObject returnJson = new JSONObject();
 
-         try {
 
-             if (Check.isNull(id)) {
 
-                 throw new Exception("id不能为空");
 
-             }
 
-             returnJson = kuaishouItemCollectSamplesService.getDetail(id);
 
-             returnJson.put("code", 0);
 
-             returnJson.put("message", "查询成功");
 
-         } catch (Exception e) {
 
-             e.printStackTrace();
 
-             returnJson.put("code", -1);
 
-             returnJson.put("message", e.getMessage());
 
-         }
 
-         return returnJson;
 
-     }
 
-     @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) {
 
-         JSONObject returnJson = new JSONObject();
 
-         try {
 
-             SubscribeParameters subscribeParameters = new SubscribeParameters();
 
-             subscribeParameters.setCallbackurl("http://ruixuan.api.tjyourong.com.cn/itemCollectSamples/callback");
 
-             subscribeParameters.setPhone(phone);
 
-             SubscribeParam subscribeParam = new SubscribeParam();
 
-             subscribeParam.setParameters(subscribeParameters);
 
-             subscribeParam.setCompany(code);
 
-             subscribeParam.setNumber(courierNumber);
 
-             subscribeParam.setKey("BPEQUJxB9244");
 
-             SubscribeReq subscribeReq = new SubscribeReq();
 
-             subscribeReq.setSchema(ApiInfoConstant.SUBSCRIBE_SCHEMA);
 
-             subscribeReq.setParam(new Gson().toJson(subscribeParam));
 
-             IBaseClient subscribe = new Subscribe();
 
-             JSONObject jsonObject = JSONObject.parseObject(subscribe.execute(subscribeReq).getBody());
 
-             System.err.println(jsonObject);
 
-             System.out.println(subscribe.execute(subscribeReq));
 
-             returnJson.put("code", 0);
 
-             returnJson.put("message", "调用成功");
 
-         } catch (Exception e) {
 
-             e.printStackTrace();
 
-             returnJson.put("code", -1);
 
-             returnJson.put("message", e.getMessage());
 
-         }
 
-         return returnJson;
 
-     }
 
-     @PostMapping("/callback")
 
-     public SubscribeResp callback(HttpServletRequest request) {
 
-         SubscribeResp subscribeResp = new SubscribeResp();
 
-         try {
 
-             String param = request.getParameter("param");
 
-             log.info("快递回调信息:{}", param);
 
-             JSONObject paramJson = JSONObject.parseObject(param);
 
-             if (Check.isNull(paramJson)) {
 
-                 throw new Exception("回调信息为空");
 
-             }
 
-             JSONObject lastResult = paramJson.getJSONObject("lastResult");
 
-             if (!Check.isNull(lastResult)) {
 
-                 String state = lastResult.getString("state");
 
-                 String nu = lastResult.getString("nu");
 
-                 String com = lastResult.getString("com");
 
-                 if ("3".equals(state)) {
 
-                     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();
 
-                 express.setCourierNumber(nu);
 
-                 express.setCom(com);
 
-                 express.setState(state);
 
-                 if (!Check.isNull(data)) {
 
-                     express.setExpressData(data.toJSONString());
 
-                 }
 
-                 kuaishouItemCollectSamplesService.replaceExpress(express);
 
-             }
 
-             subscribeResp.setResult(Boolean.TRUE);
 
-             subscribeResp.setReturnCode("200");
 
-             subscribeResp.setMessage("回调成功");
 
-         } catch (Exception e) {
 
-             e.printStackTrace();
 
-             subscribeResp.setResult(Boolean.FALSE);
 
-             subscribeResp.setReturnCode("-1");
 
-             subscribeResp.setMessage(e.getMessage());
 
-         }
 
-         return subscribeResp;
 
-     }
 
-     /**
 
-      * 删除【请填写功能名称】
 
-      */
 
-     @PreAuthorize("@ss.hasPermi('system:samples:remove')")
 
-     @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
 
-     @DeleteMapping("/{ids}")
 
-     public AjaxResult remove(@PathVariable Long[] ids) {
 
-         return toAjax(kuaishouItemCollectSamplesService.deleteKuaishouItemCollectSamplesByIds(ids));
 
-     }
 
- }
 
 
  |