瀏覽代碼

械字号三类商品提交提示

huangzhiguo 2 年之前
父節點
當前提交
560ab328c3

+ 12 - 0
src/main/java/com/caimei365/order/controller/OrderSubmitApi.java

@@ -81,6 +81,18 @@ public class OrderSubmitApi {
      *
      *              }
      */
+    @PostMapping("/verify")
+    public ResponseJson<Map<String,Object>> verify(SubmitDto submitDto) {
+        if (null == submitDto.getClubId()){
+            return ResponseJson.error("机构Id不能为空!", null);
+        }
+        if (StringUtils.isEmpty(submitDto.getOrderInfo())){
+            return ResponseJson.error("订单商品数据不能为空!", null);
+        }
+        return submitService.verify(submitDto);
+    }
+
+
     @ApiOperation("提交订单(旧:/order/submit)(/seller/order/submit)")
     @PostMapping("/generate")
     public ResponseJson<Map<String, Object>> generateOrder(SubmitDto submitDto){

+ 14 - 0
src/main/java/com/caimei365/order/mapper/BaseMapper.java

@@ -33,6 +33,20 @@ public interface BaseMapper {
      * @param skuId skuId
      */
     Integer getShopIdByproductId(Integer skuId);
+
+    /**
+     * 获取机构一级分类
+     * @param clubId
+     * @return
+     */
+    String firstClubTypeById(Integer clubId);
+
+    /**
+     * 商品对应械字号类型
+     * @param skuIds
+     * @return
+     */
+    List<String> machineTypeByID(List<Integer> skuIds);
     /**
      * 获取机构用户Id
      * @param clubId 机构Id

+ 6 - 0
src/main/java/com/caimei365/order/service/SubmitService.java

@@ -13,6 +13,12 @@ import java.util.Map;
  * @date : 2021/7/6
  */
 public interface SubmitService {
+    /**
+     * 验证是否有购买资格
+     * @param submitDto
+     * @return
+     */
+    ResponseJson<Map<String,Object>> verify(SubmitDto submitDto);
     /**
      * 生成订单
      */

+ 51 - 0
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -71,6 +71,57 @@ public class SubmitServiceImpl implements SubmitService {
     private PayOrderMapper payOrderMapper;
 
 
+    /**
+     * 验证是否有购买资格
+     *
+     * @param submitDto
+     * @return
+     */
+    @Override
+    public ResponseJson<Map<String, Object>> verify(SubmitDto submitDto) {
+
+        Map<String, Object> map = new HashMap<>();
+        boolean bol = false;
+        // 机构一级分类
+        String firstClubType = baseMapper.firstClubTypeById(submitDto.getClubId());
+        if (!StringUtils.isNotBlank(firstClubType)) {
+            firstClubType = "0";
+        }
+        log.info("firstClubType======>"+firstClubType);
+        try {
+            ArrayList<Integer> list = new ArrayList<>();
+            JSONArray orderInfo = parseArray(submitDto.getOrderInfo());
+            /*Object productInfo = orderInfo.get("productInfo");
+            JSONArray jsonArray = parseArray(productInfo.toString());*/
+            for (Object infoObject : orderInfo) {
+                JSONObject productTemp = (JSONObject) infoObject;
+                JSONArray productArr = (JSONArray) productTemp.get("productInfo");
+                for (Object productObject : productArr) {
+                    JSONObject product = (JSONObject) productObject;
+                    list.add((Integer) product.get("skuId"));
+                }
+            }
+            log.info("list==========>"+list);
+            // 获取订单商品械字号类型
+            List<String> machineType = baseMapper.machineTypeByID(list);
+            log.info("machineType=====>"+machineType);
+            for (String str : machineType) {
+                if ("3".equals(str)) {
+                    bol = true;
+                }
+            }
+            if (!"1".equals(firstClubType) && bol) {
+                map.put("code", -1);
+            } else {
+                map.put("code", 1);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return  ResponseJson.error("商品验证失败",null);
+        }
+        return ResponseJson.success("验证成功", map);
+    }
+
     /**
      * 生成订单
      *

+ 11 - 0
src/main/resources/mapper/BaseMapper.xml

@@ -51,6 +51,17 @@
             orderId      = #{orderId}
         WHERE id = #{id}
     </update>
+    <select id="firstClubTypeById" resultType="java.lang.String">
+        select firstClubType from club where clubID = #{clubId}
+    </select>
+    <select id="machineTypeByID" resultType="java.lang.String">
+        SELECT p.machineType FROM product p LEFT JOIN cm_sku cs ON p.productID = cs.productId
+        WHERE
+        cs.skuID in
+        <foreach collection="skuIds" open="(" separator="," close=")" item="skuId">
+            #{skuId}
+        </foreach>
+    </select>
     <select id="getUserIdByClubId" resultType="java.lang.Integer">
         select userID
         from user