diff --git a/src/main/java/com/hxtec/polaris/commons/constant/Msg.java b/src/main/java/com/hxtec/polaris/commons/constant/Msg.java index 9c81cfeeca45ca64ebb79bf1cd41eca52a72052b..3b3f3ce58e1e9fff292a01ed45d2f4e084263e99 100644 --- a/src/main/java/com/hxtec/polaris/commons/constant/Msg.java +++ b/src/main/java/com/hxtec/polaris/commons/constant/Msg.java @@ -70,6 +70,11 @@ public final class Msg { public static final String HISTORY_TRUNK_FAIL = "清空全部浏览浏览记录失败"; public static final String HISTORY_TRUNK_NULL = "清空全部浏览记录成功,影响条数为0"; + /** + * 快递公司相关 + */ + public static final String COMPANY_CODE_NULL = "没有查询到相关的快递厂商"; + /** * 通用 */ diff --git a/src/main/java/com/hxtec/polaris/commons/utils/MyExpress.java b/src/main/java/com/hxtec/polaris/commons/utils/MyExpress.java index 9ec685e840eb0da27c723a36a341c52cad09f962..54bcecb3fe4819b8e09b72f3495deb731b4c633a 100644 --- a/src/main/java/com/hxtec/polaris/commons/utils/MyExpress.java +++ b/src/main/java/com/hxtec/polaris/commons/utils/MyExpress.java @@ -44,6 +44,50 @@ public class MyExpress { return list; } + /** + * 获取快递信息 + * @param numberCode + * @param company + * @param companyNumber + * @return + */ + public static List getExpressInfo(String numberCode,String company,String companyNumber){ + List list = getInfo(numberCode,company,companyNumber); + if (null != list){ + Collections.reverse(list); + } + return list; + } + + /** + * 查询快递接口 + */ + public static List getInfo(String numberCode, String type,String companyNumber){ + RestTemplate restTemplate = new RestTemplate(); + //封装cookies + HttpHeaders requestHeaders = new HttpHeaders(); + List tempList = new ArrayList<>(); + tempList.add(COOKIES_TOKEN); + tempList.add(COOKIES_BAIDUID); + tempList.add(COOKIES_BIDUPSID); + tempList.add(COOKIES_PSTM); + requestHeaders.put("Cookie",tempList); + HttpEntity requestEntity = new HttpEntity<>(null,requestHeaders); + String url = EXPRESS_URL + + "?appid="+APP_ID + + "&com="+companyNumber + + "&nu="+numberCode; + ResponseEntity result = restTemplate.exchange(url, HttpMethod.GET,requestEntity,String.class); + JSONObject jsonObject = JSONObject.parseObject(result.getBody()); + if(jsonObject.getInteger("error_code") == 0 && jsonObject.getInteger("status") == 0){ + JSONObject info = jsonObject.getJSONObject("data").getJSONObject("info"); + JSONArray context = info.getJSONArray("context"); + return context.toJavaList(ExpressDto.class); + }else { + return null; + } + } + /** * 查询快递接口 */ @@ -102,7 +146,7 @@ public class MyExpress { /** * 解析json文件,获取快递公司名称对应的信息 */ - private static String getCompanyInfo(String type){ + public static String getCompanyInfo(String type){ //名称必填 if (StringUtils.isBlank(type)){ return null; diff --git a/src/main/java/com/hxtec/polaris/controller/OrderManagerController.java b/src/main/java/com/hxtec/polaris/controller/OrderManagerController.java index a0bdee8efdfc25115dc28e38a086e564ccebb3b4..612c9eb62d495f26dc4e4797135a76612b1a2ccf 100644 --- a/src/main/java/com/hxtec/polaris/controller/OrderManagerController.java +++ b/src/main/java/com/hxtec/polaris/controller/OrderManagerController.java @@ -2,6 +2,7 @@ package com.hxtec.polaris.controller; import com.hxtec.polaris.commons.api.vo.Result; import com.hxtec.polaris.commons.dto.OmsOrderDeliveryParam; +import com.hxtec.polaris.entity.ShopLogisticCompany; import com.hxtec.polaris.service.OrderManagerService; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; @@ -63,4 +64,24 @@ public class OrderManagerController { return Result.ok(orderManagerService.getExpressInfo(company,code)); } + @GetMapping("logistic/get") + public Result getLogistic(){ + return Result.ok(orderManagerService.getLogistic()); + } + + @PostMapping("logistic/update") + public Result updateLogistic(ShopLogisticCompany shopLogisticCompany){ + return Result.ok(orderManagerService.updateLogistic(shopLogisticCompany)); + } + + @PostMapping("logistic/add") + public Result addLogistic(ShopLogisticCompany shopLogisticCompany){ + return Result.ok(orderManagerService.addLogistic(shopLogisticCompany)); + } + + @PostMapping("logistic/delete") + public Result deleteLogistic(ShopLogisticCompany shopLogisticCompany){ + return Result.ok(orderManagerService.deleteLogistic(shopLogisticCompany)); + } + } diff --git a/src/main/java/com/hxtec/polaris/entity/ShopLogisticCompany.java b/src/main/java/com/hxtec/polaris/entity/ShopLogisticCompany.java new file mode 100644 index 0000000000000000000000000000000000000000..f35d379a68e5e9bd67ba0380bdd74e327dbfc694 --- /dev/null +++ b/src/main/java/com/hxtec/polaris/entity/ShopLogisticCompany.java @@ -0,0 +1,62 @@ +package com.hxtec.polaris.entity; + +/** + * @Author yonyong + * @Description //快递厂家信息 + * @Date 2019/12/30 11:51 + * @Param + * @return + **/ +public class ShopLogisticCompany { + /** + * 主键 + */ + private Integer id; + + /** + * 名称 + */ + private String name; + + /** + * 编码 + */ + private String code; + + /** + * 描述 + */ + private String reaply; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getReaply() { + return reaply; + } + + public void setReaply(String reaply) { + this.reaply = reaply; + } +} \ No newline at end of file diff --git a/src/main/java/com/hxtec/polaris/mapper/ShopLogisticCompanyMapper.java b/src/main/java/com/hxtec/polaris/mapper/ShopLogisticCompanyMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..8ed70c51aa22cdec960374eda5bdc997e002d040 --- /dev/null +++ b/src/main/java/com/hxtec/polaris/mapper/ShopLogisticCompanyMapper.java @@ -0,0 +1,40 @@ +package com.hxtec.polaris.mapper; + +import com.hxtec.polaris.entity.ShopLogisticCompany; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author yonyong + * @Description //快递厂家mapper + * @Date 2019/12/30 11:52 + * @Param + * @return + **/ +public interface ShopLogisticCompanyMapper { + int delete(Integer id); + + int insert(ShopLogisticCompany shopLogisticCompany); + + int insertDynamic(ShopLogisticCompany shopLogisticCompany); + + int updateDynamic(ShopLogisticCompany shopLogisticCompany); + + int update(ShopLogisticCompany shopLogisticCompany); + + ShopLogisticCompany selectById(Integer id); + + /** + * 获取所有物流公司信息 + * @return + */ + List selectAll(); + + /** + * 根据快递公司名称获取公司code + * @param company + * @return + */ + ShopLogisticCompany selectByName(@Param("name") String company); +} \ No newline at end of file diff --git a/src/main/java/com/hxtec/polaris/service/OrderManagerService.java b/src/main/java/com/hxtec/polaris/service/OrderManagerService.java index e637d39dfb18e95111a14f48eefd550616cf4a7b..75fea85fd087ebbbd97223eff4dd7a474242e359 100644 --- a/src/main/java/com/hxtec/polaris/service/OrderManagerService.java +++ b/src/main/java/com/hxtec/polaris/service/OrderManagerService.java @@ -2,6 +2,7 @@ package com.hxtec.polaris.service; import com.hxtec.polaris.commons.dto.ExpressDto; import com.hxtec.polaris.commons.dto.OmsOrderDeliveryParam; +import com.hxtec.polaris.entity.ShopLogisticCompany; import com.hxtec.polaris.entity.ShopOrderHistory; import java.util.List; @@ -76,4 +77,31 @@ public interface OrderManagerService { * @param note */ void addOrderRecord(int orderId,String operator,int order_state,String note); + + /** + * 获取物流公司信息 + * @return + */ + List getLogistic(); + + /** + * 更新物流公司信息 + * @param shopLogisticCompany + * @return + */ + int updateLogistic(ShopLogisticCompany shopLogisticCompany); + + /** + * 添加物流公司信息 + * @param shopLogisticCompany + * @return + */ + int addLogistic(ShopLogisticCompany shopLogisticCompany); + + /** + * 删除物流公司信息 + * @param shopLogisticCompany + * @return + */ + int deleteLogistic(ShopLogisticCompany shopLogisticCompany); } diff --git a/src/main/java/com/hxtec/polaris/service/impl/OrderManagerServiceImpl.java b/src/main/java/com/hxtec/polaris/service/impl/OrderManagerServiceImpl.java index 1f9d9c158115ed350ed87b1b892e6d17d9c6942f..6b5b1dbc47026f7ca6ffa3e0ef90748425a1cdbf 100644 --- a/src/main/java/com/hxtec/polaris/service/impl/OrderManagerServiceImpl.java +++ b/src/main/java/com/hxtec/polaris/service/impl/OrderManagerServiceImpl.java @@ -10,8 +10,10 @@ import com.hxtec.polaris.commons.dto.OmsOrderDeliveryParam; import com.hxtec.polaris.commons.dto.Page; import com.hxtec.polaris.commons.exception.MyException; import com.hxtec.polaris.commons.utils.MyExpress; +import com.hxtec.polaris.entity.ShopLogisticCompany; import com.hxtec.polaris.entity.ShopOrder; import com.hxtec.polaris.entity.ShopOrderHistory; +import com.hxtec.polaris.mapper.ShopLogisticCompanyMapper; import com.hxtec.polaris.mapper.ShopOrderHistoryMapper; import com.hxtec.polaris.mapper.ShopOrderMapper; import com.hxtec.polaris.service.OrderManagerService; @@ -42,6 +44,9 @@ public class OrderManagerServiceImpl implements OrderManagerService { @Resource ShopOrderHistoryMapper shopOrderHistoryMapper; + @Resource + ShopLogisticCompanyMapper shopLogisticCompanyMapper; + @Override public Object list(int pageNum, int pageSize, String orderSn, String receiverKeyword, String status, String updateTime) { try { @@ -100,7 +105,12 @@ public class OrderManagerServiceImpl implements OrderManagerService { @Override public List getExpressInfo(String company, String code) { - return MyExpress.getExpressInfo(code,company); + try{ + ShopLogisticCompany shopLogisticCompany = shopLogisticCompanyMapper.selectByName(company); + return MyExpress.getExpressInfo(code,company,shopLogisticCompany.getCode()); + }catch (Exception e){ + throw new MyException(Result.error(Code.FAIL_4501, Msg.COMMON_FAIL)); + } } @Override @@ -116,6 +126,52 @@ public class OrderManagerServiceImpl implements OrderManagerService { shopOrderHistoryMapper.insertDynamic(shopOrderHistory); } + @Override + public List getLogistic() { + try{ + return shopLogisticCompanyMapper.selectAll(); + }catch (Exception e){ + throw new MyException(Result.error(Code.FAIL_4501, Msg.COMMON_FAIL)); + } + } + + @Override + public int updateLogistic(ShopLogisticCompany shopLogisticCompany) { + //校验快递公司是否合法 + String code = MyExpress.getCompanyInfo(shopLogisticCompany.getName()); + if (StringUtils.isBlank(code)){ + throw new MyException(Result.error(Code.FAIL_4501, Msg.COMPANY_CODE_NULL)); + } + try{ + return shopLogisticCompanyMapper.updateDynamic(shopLogisticCompany); + }catch (Exception e){ + throw new MyException(Result.error(Code.FAIL_4501, Msg.COMMON_FAIL)); + } + } + + @Override + public int addLogistic(ShopLogisticCompany shopLogisticCompany) { + //校验快递公司是否合法 + String code = MyExpress.getCompanyInfo(shopLogisticCompany.getName()); + if (StringUtils.isBlank(code)){ + throw new MyException(Result.error(Code.FAIL_4501, Msg.COMPANY_CODE_NULL)); + } + try{ + return shopLogisticCompanyMapper.insertDynamic(shopLogisticCompany); + }catch (Exception e){ + throw new MyException(Result.error(Code.FAIL_4501, Msg.COMMON_FAIL)); + } + } + + @Override + public int deleteLogistic(ShopLogisticCompany shopLogisticCompany) { + try{ + return shopLogisticCompanyMapper.delete(shopLogisticCompany.getId()); + }catch (Exception e){ + throw new MyException(Result.error(Code.FAIL_4501, Msg.COMMON_FAIL)); + } + } + /** * 执行修改收货人信息 * @param id diff --git a/src/main/resources/mapper/ShopLogisticCompanyMapper.xml b/src/main/resources/mapper/ShopLogisticCompanyMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..831cb274234b90fb58d6790ff8aac34d16e0b964 --- /dev/null +++ b/src/main/resources/mapper/ShopLogisticCompanyMapper.xml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + id, name, code, reaply + + + + + delete from shop_logistic_company + where id = #{id,jdbcType=INTEGER} + + + + + insert into shop_logistic_company (id, name, code, + reaply) + values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, + #{reaply,jdbcType=VARCHAR}) + + + + + insert into shop_logistic_company + + + id, + + + name, + + + code, + + + reaply, + + + + + #{id,jdbcType=INTEGER}, + + + #{name,jdbcType=VARCHAR}, + + + #{code,jdbcType=VARCHAR}, + + + #{reaply,jdbcType=VARCHAR}, + + + + + + + update shop_logistic_company + + + name = #{name,jdbcType=VARCHAR}, + + + code = #{code,jdbcType=VARCHAR}, + + + reaply = #{reaply,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + + + update shop_logistic_company + set name = #{name,jdbcType=VARCHAR}, + code = #{code,jdbcType=VARCHAR}, + reaply = #{reaply,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + + + + + + + + + + + + 1=1 + + and id = #{id,jdbcType=INTEGER} + + + and name = #{name,jdbcType=VARCHAR} + + + and code = #{code,jdbcType=VARCHAR} + + + and reaply = #{reaply,jdbcType=VARCHAR} + + + + + \ No newline at end of file