zhang song 6 rokov pred
rodič
commit
df841a52d3

+ 6 - 0
pine-admin/pom.xml

@@ -294,6 +294,12 @@
             <artifactId>java-sdk</artifactId>
             <version>4.1.3</version>
         </dependency>
+
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>aliyun-java-sdk-core</artifactId>
+            <version>4.1.0</version>
+        </dependency>
     </dependencies>
     <build>
 

+ 12 - 5
pine-admin/src/main/java/com/pine/admin/modules/business/controller/OrderController.java

@@ -11,11 +11,7 @@ import com.pine.common.utils.DateTimeTool;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.*;
 import com.pine.admin.modules.business.entity.Order;
 import com.pine.admin.modules.business.service.OrderService;
 
@@ -37,6 +33,17 @@ public class OrderController extends BaseController {
     @Autowired
     private OrderService orderService;
 
+    /**
+     * <p>根据Id。</p>
+     */
+    @ApiOperation(value = "核销虚拟订单", notes = "核销虚拟订单")
+    @PostMapping(value = "/checkWriteOffVirtual")
+    public Result checkWriteOffVirtualRequest(Long orderId, String writeOffCode) {
+        String s = orderService.checkWriteOffVirtualRequest(orderId, writeOffCode);
+        return Result.success(true, s);
+    }
+
+
     /**
      * <p>根据Id。</p>
      */

+ 5 - 0
pine-admin/src/main/java/com/pine/admin/modules/business/service/OrderService.java

@@ -17,5 +17,10 @@ public interface OrderService extends BaseService<Order> {
      * @param order
      */
     void FullOrderInfo(Order order);
+
+    /**
+     * 核销代码
+     */
+    String checkWriteOffVirtualRequest(Long orderId,String writeOffCode);
 }
 

+ 1 - 0
pine-admin/src/main/java/com/pine/admin/modules/business/service/impl/CarOrderServiceImpl.java

@@ -401,6 +401,7 @@ public class CarOrderServiceImpl implements CarOrderService {
 
             String refundinfo = PostUtil.httpPost(Constant.validatebacking, data, "application/json");
             log.info(refundinfo);
+
             Map maps = (Map) JSON.parse(refundinfo);
             if (!maps.get("code").toString().equals("1")) {
                 throw new ApiException(maps.get("msg").toString());

+ 29 - 0
pine-admin/src/main/java/com/pine/admin/modules/business/service/impl/OrderServiceImpl.java

@@ -1,5 +1,7 @@
 package com.pine.admin.modules.business.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.pine.admin.modules.business.dao.CustomerDao;
 import com.pine.admin.modules.business.entity.Customer;
 import com.pine.admin.modules.business.service.LogisticsTemplateService;
@@ -7,6 +9,9 @@ import com.pine.admin.modules.business.service.OrderAttrService;
 import com.pine.admin.modules.business.service.OrderSkuService;
 import com.pine.admin.shiro.ShiroUtils;
 import com.pine.common.exception.ApiException;
+import com.pine.common.utils.Constant;
+import com.pine.common.utils.PostUtil;
+import com.pine.common.utils.RSAUtils;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -213,4 +218,28 @@ public class OrderServiceImpl implements OrderService {
         //设置物流模板信息
         order.setLogisticsTemplate(logisticsTemplateService.queryLogisticsTemplateWithCompany(order.getFreightTemplateId()));
     }
+
+    @Override
+    public String checkWriteOffVirtualRequest(Long orderId, String writeOffCode) {
+        Map<String,Object> map = new HashMap<>();
+        map.put("orderId",orderId);
+        map.put("writeOffCode","4935");
+        map.put("dealerName",ShiroUtils.getShiroUserInfo().getName());
+        String resKey = RSAUtils.encrypt(RSAUtils.publicKey, JSONObject.toJSONString(map));
+
+        Map<String, String> data = new HashMap<>();
+
+        data.put("data", resKey);
+
+        System.out.println(JSONObject.toJSONString(data));
+
+        String refundinfo = PostUtil.httpPost(Constant.dealerWriteOffVerification, data, "application/json");
+        log.info(refundinfo);
+
+        Map maps = (Map) JSON.parse(refundinfo);
+        if (!maps.get("code").toString().equals("1")) {
+            throw new ApiException(maps.get("msg").toString());
+        }
+        return maps.get("code").toString();
+    }
 }

+ 5 - 4
pine-admin/src/main/java/com/pine/admin/modules/system/controller/SysUserLoginController.java

@@ -42,12 +42,12 @@ import java.util.Map;
 public class SysUserLoginController {
 
 
-
     @Autowired
     private SysService sysService;
+
     @GetMapping("/getIp")
     public Result getIp(HttpServletRequest request) {
-        return Result.success(true,IpUtil.getIpAddr(request));
+        return Result.success(true, IpUtil.getIpAddr(request));
     }
 
     @PostMapping("/secretLogin")
@@ -55,8 +55,9 @@ public class SysUserLoginController {
         try {
 
             String casualBacking = request.getParameter("casualBacking");
+            String ip = request.getParameter("ip");
 
-            String responseString = sysService.decryptUser(IpUtil.getIpAddr(request),casualBacking);
+            String responseString = sysService.decryptUser(ip, casualBacking);
 
             DealerOpenIdToken dealerOpenIdToken;
 
@@ -111,7 +112,7 @@ public class SysUserLoginController {
         } catch (AuthenticationException e) {
             return Result.error("账户验证失败");
         } catch (Exception e) {
-           log.info(e.getMessage());
+            log.info(e.getMessage());
             throw new ApiException(e.getMessage());
         }
     }

+ 16 - 13
pine-admin/src/main/java/com/pine/admin/modules/system/service/impl/SysServiceImpl.java

@@ -99,27 +99,30 @@ public class SysServiceImpl implements SysService {
     public String decryptUser(String ip, String casualBacking) {
 
         String responseString = RSAUtils.changeSpecialToString(casualBacking);
-
-//        ip = "127.0.0.1";
         if (StringUtils.isEmpty(responseString)) {
             log.error("offlineAudit fail due to rsa decrypt fail");
             throw new ApiException("秘钥解析失败");
         }
-        String redisKey = ip + "+" + responseString;
-        log.info("免密登录key:{}"+redisKey);
-        //获取登录信息
-        Object o = redisService.get(redisKey);
+//        String redisKey = RSAUtils.encrypt(RSAUtils.publicKey, ip + ":" + responseString);
+        String redisKey = ip + ":" + responseString;
+
+        log.info("免密登录key:" + redisKey);
 
-        if (ObjectUtils.isEmpty(o)) {
+        Map<String, String> map = new HashMap<>();
+        map.put("key", redisKey);
+        String dealerInfo = PostUtil.formUpload(Constant.LOGIN_REDIS_API, map, null, "");
+        log.info("获取经销商信息:" + dealerInfo);
+        if (StringUtils.isEmpty(dealerInfo)) {
             throw new ApiException("用户未登录");
         }
+        Map maps = (Map) JSON.parse(dealerInfo);
 
-        String dealerInfo = String.valueOf(o);
+        if (maps.get("code").equals(-1)) {
+            throw new ApiException(maps.get("msg").toString());
+        }
 
-        //删除密钥
-        redisService.remove(redisKey);
+        ShiroUserInfo userInfo = JSONObject.parseObject(maps.get("data").toString(), ShiroUserInfo.class);
 
-        ShiroUserInfo userInfo = JSONObject.parseObject(dealerInfo, ShiroUserInfo.class);
 
         if (!userInfo.getAccount().equals(responseString)) {
             throw new ApiException("非法操作");
@@ -135,7 +138,7 @@ public class SysServiceImpl implements SysService {
 
         userInfo.getCreateTime();
 
-        return dealerInfo;
+        return maps.get("data").toString();
     }
 
     @Override
@@ -155,7 +158,7 @@ public class SysServiceImpl implements SysService {
             }
 
             if (null == maps.get("data")) {
-                String dd = "{\"erp\":\"8888\",\"dealerId\":8888,\"name\":\"超级管理员\",\"roleType\":\"超级管理员\"}";
+                String dd = "{\"erp\":\"8888\",\"dealerId\":8888,\"name\":\"商城管理员\",\"roleType\":\"商城管理员\"}";
                 dealerOpenIdToken = new DealerOpenIdToken(dd);
             } else {
                 dealerOpenIdToken = new DealerOpenIdToken(maps.get("data").toString());

+ 2 - 0
pine-common/src/main/java/com/pine/common/utils/Constant.java

@@ -98,8 +98,10 @@ public class Constant {
     public static final Integer USER_DEALER = 2;
 
     public static final String validatebacking= "http://shop.jetour.com.cn/admin/validatebacking.htm";
+    public static final String dealerWriteOffVerification= "http://shop.jetour.com.cn/admin/dealerWriteOffVerification.htm";
     public static final String offlineaudit= "http://shop.jetour.com.cn/admin/offlineaudit.htm";
     public static final String LOGIN_URL= "https://dealer.jetour.com.cn/api/auth/sys-user/getShopRoleByAccountAndPassword";
+    public static final String LOGIN_REDIS_API= "http://47.100.17.208:8280/api/auth/sys-user/getShopLoginByRedisKey";
 
     /**
      * 菜单类型

+ 18 - 4
pine-common/src/main/java/com/pine/common/utils/RSAUtils.java

@@ -25,10 +25,20 @@ public class RSAUtils {
     private final static int MAX_DECRYPT_BLOCK = 128;           //RSA最大解密密文大小
     private final static String KEY_ALGORITHM = "RSA";          //加密算法RSA
     private final static int MAX_ENCRYPT_BLOCK = 117;           //RSA最大加密明文大小
-    public final static String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCAayOirLNs1AGo23bWAbDVoTQke9Kw+z+GhB/FKHtcvKUxAoxk72FZfUXLTab4IyzJno2HPZqpyz75H7rCWSxjDQ3jjIdXaNl62CZdNn6yuU7LNQtaPdluIRZxg5/HNR1jyyBQr5PljT0PRDH0RSVAyO3o/F5RfWx7beDqt+n3TQIDAQAB";
-    public final static String privateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIBrI6Kss2zUAajbdtYBsNWhNCR70rD7P4aEH8Uoe1y8pTECjGTvYVl9RctNpvgjLMmejYc9mqnLPvkfusJZLGMNDeOMh1do2XrYJl02frK5Tss1C1o92W4hFnGDn8c1HWPLIFCvk+WNPQ9EMfRFJUDI7ej8XlF9bHtt4Oq36fdNAgMBAAECgYAqxANFDGBgUKYQ1q1XjY6XRiz4LWg32iQIpv1xig6zDnuwu5mHj5SK2cYhc0W0gvpKVovpSuGzw+S/0ApA6LN391dYWtB/ndRMHH9EzQBqQYeaEibt6/i2KeTS7fY2a1rgK/kFNvFihh6JRPUd4iltQQbFIZqHWXDaQYEkGFZjPQJBAPDp/1f9L93V8gItFlhVb9LehboPNYDg2VlrALoe15/umu+AYuG4bmOSyKV39RiTDsVp3BzH/Az4Gsb92w+ac4cCQQCIdcSgiVQNour9+qtOSFSHziYMO8CsbL0NcxrkrfwsevNtOQu6GPVqPHtKy9bnI7hxMBxmKmvd49kfhZ2XshuLAkB7soorMZMMQjfaqi/Y9zVNfngHSpvcKpcu9GQRLJjmQ2tGIhOjdkEn20wuueMc1RU2g95C4OQn/JQzLFD4OAOtAkBTO7IRUXJJVwQKomj2uLuGkkE22QNuqGyv1XOj5FOaNexgxJjYi/y1Lert9mNAXNNVhsjrsBhXIXD//xneuy59AkEAwhX9aQIuUnaRKOrc7RvcCZhjp0DFfrUz70n9PEAbTKFx7jDsPcRx2Lj6tok3eCw1uRCE99JsxR/fiiMaYcnqLg==";
-
+    public final static String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCHhQ6Px0l+cMR1tRsky0HDlvJD94AbE9Z0UhIZFgtdJ20GRQoV2DO3jQbGMBrM6giEcUCbYcDsnTVUovBrDQit1QtZZ3eKtoqrW7bMT2eX5qQOrZtO2kRkrnWwsxkKHKhn41atEMvSqrVqLgOUDgBhmxREWN93KUYE2adAg62/jQIDAQAB";
+    public final static String privateKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIeFDo/HSX5wxHW1GyTLQcOW8kP3gBsT1nRSEhkWC10nbQZFChXYM7eNBsYwGszqCIRxQJthwOydNVSi8GsNCK3VC1lnd4q2iqtbtsxPZ5fmpA6tm07aRGSudbCzGQocqGfjVq0Qy9KqtWouA5QOAGGbFERY33cpRgTZp0CDrb+NAgMBAAECgYBJtT/nSZAamkDweHFsALUjKW1ZNDtT/uUsXRsE0+2YXAI7X7+NhAsU8TpW/wEEpOG/D04BdRiWWScRgpHa17r47joc3U+d40PRsqa34E0uJzqXJTzKZxTakDmI+KReIj+vMbvFo3cV3G5XNHElJEtWNNh4E/O99efd6scReQRKzQJBAMRh5UVwYrRh1FkvZIb+MtRW3ofMexfK/8LWF8xhPfi79NNl64O3HC+x4WPRGQnmdqx/iZFGf87iMvQlRtrQWYcCQQCwqSTn7gollTrZiA4fm22WGVigVQgH22TtUVHp6y23gah6feoONPUU69J8NpdyNhE5htrLMJWqvhzI+y7TrZNLAkAlZX8DeiNRtk95rEy4aC/Fv8Uglw/ZuA58S8i8YsgqVaCJoR74NiZn7re9ClR6TijLMH5B6+rquqh5VZ/oi0SBAkAGSp/T2rhlykDESoImQgTPGav8WcrlbLzVbtX5/LQuGuIDKsTRKLWpvxRJ9C/Ek4Rdhh34qoxJ/mdMCRYL19ytAkA6nDuDvgokt9nx8ldh+mqUCfS0Mn89aTC/C0vzUYUSq/RcAL2EOu1UBMxD6Pzmz6y+HJXEN4AayOgFXyLZw6Rb";
     public static void main(String[] args) throws ParseException {
+
+        Map<String,String> map = new HashMap<>();
+        map.put("orderId","4935");
+        map.put("writeOffCode","737176");
+        map.put("dealerName","商城管理员");
+        String maptoString = RSAUtils.encrypt(RSAUtils.publicKey, JSONObject.toJSONString(map));
+
+
+
+        String s1 = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIeFDo/HSX5wxHW1GyTLQcOW8kP3gBsT1nRSEhkWC10nbQZFChXYM7eNBsYwGszqCIRxQJthwOydNVSi8GsNCK3VC1lnd4q2iqtbtsxPZ5fmpA6tm07aRGSudbCzGQocqGfjVq0Qy9KqtWouA5QOAGGbFERY33cpRgTZp0CDrb+NAgMBAAECgYBJtT/nSZAamkDweHFsALUjKW1ZNDtT/uUsXRsE0+2YXAI7X7+NhAsU8TpW/wEEpOG/D04BdRiWWScRgpHa17r47joc3U+d40PRsqa34E0uJzqXJTzKZxTakDmI+KReIj+vMbvFo3cV3G5XNHElJEtWNNh4E/O99efd6scReQRKzQJBAMRh5UVwYrRh1FkvZIb+MtRW3ofMexfK/8LWF8xhPfi79NNl64O3HC+x4WPRGQnmdqx/iZFGf87iMvQlRtrQWYcCQQCwqSTn7gollTrZiA4fm22WGVigVQgH22TtUVHp6y23gah6feoONPUU69J8NpdyNhE5htrLMJWqvhzI+y7TrZNLAkAlZX8DeiNRtk95rEy4aC/Fv8Uglw/ZuA58S8i8YsgqVaCJoR74NiZn7re9ClR6TijLMH5B6+rquqh5VZ/oi0SBAkAGSp/T2rhlykDESoImQgTPGav8WcrlbLzVbtX5/LQuGuIDKsTRKLWpvxRJ9C/Ek4Rdhh34qoxJ/mdMCRYL19ytAkA6nDuDvgokt9nx8ldh+mqUCfS0Mn89aTC/C0vzUYUSq/RcAL2EOu1UBMxD6Pzmz6y+HJXEN4AayOgFXyLZw6Rb";
+
         String aa = "123456";
         aa = aa.replace("1", "5");
         System.out.println(aa);
@@ -41,7 +51,11 @@ public class RSAUtils {
         //   防止URL 传参 + 号丢失
         System.out.println(encrypt.replace("+", "%2B"));
 
-        String responseString = RSAUtils.decrypt(RSAUtils.privateKey, encrypt);
+        String aaaa =
+    "O1kIS1c61PFpkyYo2eMNlh18Gk1oFTlVlc9Bx/u0qFCONWy8679FrVxE0xseEK+mf0pfKUgeNnNJbZk0CVuVyhd8yH65C2GfZ5olHoeu/Eb/V2cnQFc5W7SYdXOvj2t4S4aEIJUhz9HUf3e5+nbjPrr2zYvDnAD0ymGdYOeS5rE="
+                ;
+
+        String responseString = RSAUtils.decrypt(RSAUtils.privateKey, aaaa);
 
         System.out.println(responseString);
     }

+ 0 - 6
pom.xml

@@ -150,13 +150,7 @@
                 <version>2.6.2</version>
             </dependency>
 
-            <dependency>
-                <groupId>postgresql</groupId>
-                <artifactId>postgresql</artifactId>
-                <version>9.1-901-1.jdbc4</version>
-            </dependency>
 
-            <!-- POIExcel-->
             <dependency>
                 <groupId>org.apache.poi</groupId>
                 <artifactId>poi</artifactId>