Commit 0cae3a64 by jscat

nyx javaapp: 功能更新

1. 完成toOrder的操作
2. product表stock -> quantity
parent 658a3e40
package cn.com.fun.nyxkey.api.domain;
package cn.com.fun.nyxkey.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* 订单表
* Created by jscat on 2020/09/07.
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Rockwell_keyT_order{
private String orderId; // 订单的id, 具有顺序的表
private String activityId; // 活动的id, uuid format
private String userId; // 用户的id, uuid format
private String orderStatus; // 订单状态: 00-订单取消, 10-未付款, 20-可使用, 30-已完成
private Double totalPrice; // 实际付款金额,单位是元,保留两位小数
private int totalCount; // 实际购买数量
private String paymentType; // 支付类型,01-在线支付
private String qrcodeUrl; // qrcode的二维码url
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date paymentDatetime; // 支付时间
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date endDatetime; // 活动完成日期
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createDatetime; // 统计周期
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date updateDatetime; // 更新日期
}
package cn.com.fun.nyxkey.api.domain;
package cn.com.fun.nyxkey.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* 订单子项表
* Created by jscat on 2020/09/07.
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Rockwell_keyT_order_item{
private String itemId; // 子项的id, uuid format, iid_001
private String orderId; // 订单的id, uuid format, oid_001
private String userId; // 用户的id, uuid format, uid_001
private String productId; // 商品的id, uuid format, pid_001
private String productDesc; // 商品的名称
private String productImage; // 商品的图片地址
private Double unitPrice; // 生成订单时的商品单价,单位是元,保留两位小数
private int quantity; // 商品数量
private Double itemPrice; // 该item的商品总价,单位是元,保留两位小数
private List<Rockwell_keyT_product> listRockwell_keyT_product; //
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createDatetime; // 创建日期
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date updateDatetime; // 更新日期
}
package cn.com.fun.nyxkey.api.domain; package cn.com.fun.nyxkey.api.domain;
...@@ -21,7 +21,7 @@ public class Rockwell_keyT_product{ ...@@ -21,7 +21,7 @@ public class Rockwell_keyT_product{
private String defaultStatus; // 默认状态: 00:普通 01:默认状态; 默认是第一个product private String defaultStatus; // 默认状态: 00:普通 01:默认状态; 默认是第一个product
private String productDesc; // 类别说明 private String productDesc; // 类别说明
private Double unitPrice; // 价格 private Double unitPrice; // 价格
private int stock; // 库存数量 private int quantity; // 库存数量
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date startDatetime; // 开始时间 private Date startDatetime; // 开始时间
......
package cn.com.fun.nyxkey.api.domain; package cn.com.fun.nyxkey.api.domain;
...@@ -37,7 +37,7 @@ public class Rockwell_keyV_activity_info{ ...@@ -37,7 +37,7 @@ public class Rockwell_keyV_activity_info{
private String defaultStatus; // 默认标记; 00-非默认; 01-默认 private String defaultStatus; // 默认标记; 00-非默认; 01-默认
private Double unitPrice; // 价格 private Double unitPrice; // 价格
private int stock; // 库存情况 private int quantity; // 库存情况
private String noteImage; // 该条活动的image列表 private String noteImage; // 该条活动的image列表
......
package cn.com.fun.nyxkey.api.domain; package cn.com.fun.nyxkey.api.domain;
...@@ -42,7 +42,7 @@ public class Rockwell_keyV_collect{ ...@@ -42,7 +42,7 @@ public class Rockwell_keyV_collect{
private String defaultStatus; // 默认标记; 00-非默认; 01-默认 private String defaultStatus; // 默认标记; 00-非默认; 01-默认
private Double unitPrice; // 价格 private Double unitPrice; // 价格
private int stock; // 库存情况 private int quantity; // 库存情况
private String noteImage; // 该条活动的image列表 private String noteImage; // 该条活动的image列表
......
package cn.com.fun.nyxkey.api.repository; package cn.com.fun.nyxkey.api.repository;
...@@ -51,6 +51,9 @@ public interface Rockwell_keyMapper { ...@@ -51,6 +51,9 @@ public interface Rockwell_keyMapper {
/* order api */ /* order api */
List<Rockwell_keyV_order_info> getV_order_detail_by_page(Rockwell_keyT_orderQuery rockwell_keyT_orderQuery); List<Rockwell_keyV_order_info> getV_order_detail_by_page(Rockwell_keyT_orderQuery rockwell_keyT_orderQuery);
List<Rockwell_keyV_order_info> getV_order_info_by_page(Rockwell_keyT_orderQuery rockwell_keyT_orderQuery); List<Rockwell_keyV_order_info> getV_order_info_by_page(Rockwell_keyT_orderQuery rockwell_keyT_orderQuery);
String genT_order_id();
void addT_order(Rockwell_keyT_order rockwell_keyT_order);
void addT_order_item(Rockwell_keyT_order_item rockwell_keyT_order_item);
/* collect api */ /* collect api */
List<Rockwell_keyV_collect> getV_collect_by_page(Rockwell_keyT_collectQuery rockwell_keyT_collectQuery); List<Rockwell_keyV_collect> getV_collect_by_page(Rockwell_keyT_collectQuery rockwell_keyT_collectQuery);
......
package cn.com.fun.nyxkey.api.service; package cn.com.fun.nyxkey.api.service;
...@@ -53,7 +53,7 @@ public interface Rockwell_keyService { ...@@ -53,7 +53,7 @@ public interface Rockwell_keyService {
int Rockwell_keyServiceDelT_activityLike(String activityId); int Rockwell_keyServiceDelT_activityLike(String activityId);
int Rockwell_keyServiceAddT_activity(String userId, String memberId, String addressId, String noteImage, String tag, String title, String content, int Rockwell_keyServiceAddT_activity(String userId, String memberId, String addressId, String noteImage, String tag, String title, String content,
String startDatetime, String endDatetime, String startDatetime, String endDatetime,
List<String> desc, List<Double> price, List<Integer> stock) throws UnsupportedEncodingException; List<String> desc, List<Double> price, List<Integer> quantity) throws UnsupportedEncodingException;
JSONResult Rockwell_keyServiceGetT_product(String productId, String activityId, int pageNum, int pageCount); JSONResult Rockwell_keyServiceGetT_product(String productId, String activityId, int pageNum, int pageCount);
/* post api */ /* post api */
...@@ -70,6 +70,9 @@ public interface Rockwell_keyService { ...@@ -70,6 +70,9 @@ public interface Rockwell_keyService {
JSONResult Rockwell_keyServiceGetV_order_info(String memberId, String userId, String activityId, String orderStatus, JSONResult Rockwell_keyServiceGetV_order_info(String memberId, String userId, String activityId, String orderStatus,
int pageNum, int pageCount); int pageNum, int pageCount);
JSONResult Rockwell_keyServiceGetV_order_detail(String userId, String orderStatus, int pageNum, int pageCount); JSONResult Rockwell_keyServiceGetV_order_detail(String userId, String orderStatus, int pageNum, int pageCount);
String Rockwell_keyServiceGenT_order_id();
JSONResult Rockwell_keyServiceAddT_order(String orderId, String activityId, String userId, String productImage, Double totalPrice, int totalCount,
String qrcodeUrl, List<Rockwell_keyT_product> listRockwell_keyT_product);
/* /*
collect api 收藏api collect api 收藏api
......
package cn.com.fun.nyxkey.api.service.impl; package cn.com.fun.nyxkey.api.service.impl;
...@@ -370,6 +370,49 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService { ...@@ -370,6 +370,49 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService {
return jsonResult; return jsonResult;
} }
public String Rockwell_keyServiceGenT_order_id()
{
return rockwell_keyMapper.genT_order_id();
}
public JSONResult Rockwell_keyServiceAddT_order(String orderId, String activityId, String userId, String productImage, Double totalPrice, int totalCount,
String qrcodeUrl, List<Rockwell_keyT_product> listRockwell_keyT_product)
{
LOGGER.debug("find Rockwell_keyServiceAddT_order");
System.out.println("find Rockwell_keyServiceAddT_order");
Rockwell_keyT_order rockwell_keyT_order = new Rockwell_keyT_order();
rockwell_keyT_order.setOrderId(orderId);
rockwell_keyT_order.setActivityId(activityId);
rockwell_keyT_order.setUserId(userId);
rockwell_keyT_order.setOrderStatus("01");
rockwell_keyT_order.setPaymentType("01");
rockwell_keyT_order.setTotalPrice(totalPrice);
rockwell_keyT_order.setTotalCount(totalCount);
rockwell_keyT_order.setQrcodeUrl(qrcodeUrl);
rockwell_keyT_order.setCreateDatetime(new Date());
rockwell_keyT_order.setUpdateDatetime(new Date());
System.out.println(rockwell_keyT_order);
rockwell_keyMapper.addT_order(rockwell_keyT_order);
//同步更新tbl_order_item
Rockwell_keyT_order_item rockwell_keyT_order_item = new Rockwell_keyT_order_item();
rockwell_keyT_order_item.setOrderId(orderId);
rockwell_keyT_order_item.setUserId(userId);
rockwell_keyT_order_item.setProductImage(productImage);
rockwell_keyT_order_item.setListRockwell_keyT_product(listRockwell_keyT_product);
rockwell_keyT_order_item.setCreateDatetime(new Date());
rockwell_keyT_order_item.setUpdateDatetime(new Date());
rockwell_keyMapper.addT_order_item(rockwell_keyT_order_item);
List<Rockwell_keyT_order> listRockwell_keyT_order = new ArrayList<>();
listRockwell_keyT_order.add(rockwell_keyT_order);
int count = listRockwell_keyT_order.size();
JSONResult jsonResult = new JSONResult(count, listRockwell_keyT_order);
return jsonResult;
}
/* activity api /* activity api
* 通过 activityId 来获取 view_activity_detail 的详细信息 * 通过 activityId 来获取 view_activity_detail 的详细信息
* *
...@@ -419,7 +462,7 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService { ...@@ -419,7 +462,7 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService {
// activity api - addT_activity // activity api - addT_activity
public int Rockwell_keyServiceAddT_activity(String userId, String memberId, String addressId, String noteImage, String tag, String title, String content, public int Rockwell_keyServiceAddT_activity(String userId, String memberId, String addressId, String noteImage, String tag, String title, String content,
String startDatetime, String endDatetime, String startDatetime, String endDatetime,
List<String> desc, List<Double> price, List<Integer> stock) List<String> desc, List<Double> price, List<Integer> quantity)
throws UnsupportedEncodingException throws UnsupportedEncodingException
{ {
LOGGER.debug("find Rockwell_keyServiceAddT_activity"); LOGGER.debug("find Rockwell_keyServiceAddT_activity");
...@@ -454,7 +497,7 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService { ...@@ -454,7 +497,7 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService {
rockwell_keyT_product.setProductStatus("01"); rockwell_keyT_product.setProductStatus("01");
rockwell_keyT_product.setProductDesc(URLDecoder.decode(desc.get(i), "UTF-8")); rockwell_keyT_product.setProductDesc(URLDecoder.decode(desc.get(i), "UTF-8"));
rockwell_keyT_product.setUnitPrice(price.get(i)); rockwell_keyT_product.setUnitPrice(price.get(i));
rockwell_keyT_product.setStock(stock.get(i)); rockwell_keyT_product.setQuantity(quantity.get(i));
if(i == 0) if(i == 0)
{ {
rockwell_keyT_product.setDefaultStatus("01"); rockwell_keyT_product.setDefaultStatus("01");
...@@ -479,7 +522,6 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService { ...@@ -479,7 +522,6 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService {
rockwell_keyMapper.addT_product(rockwell_keyT_productQuery); rockwell_keyMapper.addT_product(rockwell_keyT_productQuery);
} }
return 0; return 0;
} }
......
package cn.com.fun.nyxkey.api.web.controller; package cn.com.fun.nyxkey.api.web.controller;
...@@ -2,10 +2,12 @@ package cn.com.fun.nyxkey.api.web.controller; ...@@ -2,10 +2,12 @@ package cn.com.fun.nyxkey.api.web.controller;
import cn.com.fun.nyxkey.api.common.JSONResult; import cn.com.fun.nyxkey.api.common.JSONResult;
import cn.com.fun.nyxkey.api.domain.Rockwell_keyT_match; import cn.com.fun.nyxkey.api.domain.Rockwell_keyT_match;
import cn.com.fun.nyxkey.api.domain.Rockwell_keyT_product;
import cn.com.fun.nyxkey.api.service.*; import cn.com.fun.nyxkey.api.service.*;
import cn.com.fun.nyxkey.api.web.common.ResponseHelper; import cn.com.fun.nyxkey.api.web.common.ResponseHelper;
import cn.com.fun.nyxkey.api.web.common.ResponseWrapper; import cn.com.fun.nyxkey.api.web.common.ResponseWrapper;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -460,6 +462,38 @@ public class NyxApiController { ...@@ -460,6 +462,38 @@ public class NyxApiController {
return keyService.Rockwell_keyServiceGetV_order_info(memberId, userId, activityId, orderStatus, pageNum, pageCount); return keyService.Rockwell_keyServiceGetV_order_info(memberId, userId, activityId, orderStatus, pageNum, pageCount);
} }
// 5.3 新增 order/order_item jscat
// tbl_order
// 1. activity_id, user_id, order_status ('10'), total_price, total_count, payment_type ('01'), qrcode_url,
// payment_datetime (null), end_datetime (null), create_datetime (now()), update_datetime (now())
// tbl_order_item (item_id是需要的
// 1. item_id, order_id, user_id, product_id, product_desc, product_image, unit_price, quantity, item_price,
// create_datetime (now()), update_datetime (now())
// 返回 void
// 传值 https://my.oschina.net/u/3358860/blog/3010617
@ApiOperation(value="为order/order_item添加数据,对应tbl_order/order_item", notes="为order/order_item添加数据,对应tbl_order/order_item")
@ApiImplicitParams({
})
@RequestMapping(value = "/nyx/add/order", method = RequestMethod.POST)
@ResponseBody
public JSONResult RockwellAddOrder(
String activityId,
String userId,
String productImage,
Double totalPrice,
int totalCount,
String orderItemString
) {
List<Rockwell_keyT_product> listRockwell_keyT_product = JSON.parseArray(orderItemString, Rockwell_keyT_product.class);
//生成orderId
String orderId = keyService.Rockwell_keyServiceGenT_order_id();
//生成qrcode, 上传oss,得到qrcode_url
String qrcodeUrl = ossService.Rockwell_ossServiceGetQrcodeUrl(orderId);
return keyService.Rockwell_keyServiceAddT_order(orderId, activityId, userId, productImage, totalPrice, totalCount,
qrcodeUrl, listRockwell_keyT_product);
}
// 收藏表(tbl_collect)的相关api 获取 view_collect 的数据 by page // 收藏表(tbl_collect)的相关api 获取 view_collect 的数据 by page
// 6.1 collect 查询 // 6.1 collect 查询
// 1. 按照 user_id // 1. 按照 user_id
...@@ -547,7 +581,7 @@ public class NyxApiController { ...@@ -547,7 +581,7 @@ public class NyxApiController {
} }
// 2.0 test // 2.0 test
// http://localhost:8085/api/nyx/match/get?desc=会员&price=199&stock=10&desc=普通&price=299&stock=20 // http://localhost:8085/api/nyx/match/get?desc=会员&price=199&quantity=10&desc=普通&price=299&quantity=20
@ApiOperation(value="test", notes="test") @ApiOperation(value="test", notes="test")
@ApiImplicitParams({ @ApiImplicitParams({
}) })
...@@ -556,7 +590,7 @@ public class NyxApiController { ...@@ -556,7 +590,7 @@ public class NyxApiController {
public void RockwellQueryGet( public void RockwellQueryGet(
@RequestParam(value = "desc", required = false, defaultValue = "0") List<String> desc, @RequestParam(value = "desc", required = false, defaultValue = "0") List<String> desc,
@RequestParam(value = "price", required = false, defaultValue = "0") List<String> price, @RequestParam(value = "price", required = false, defaultValue = "0") List<String> price,
@RequestParam(value = "stock", required = false, defaultValue = "0") List<String> stock @RequestParam(value = "quantity", required = false, defaultValue = "0") List<String> quantity
) { ) {
} }
......
package cn.com.fun.nyxkey.api.web.controller; package cn.com.fun.nyxkey.api.web.controller;
...@@ -106,15 +106,15 @@ public class OssApiController { ...@@ -106,15 +106,15 @@ public class OssApiController {
@RequestParam(value = "endDatetime", required = false, defaultValue = "0") String endDatetime, @RequestParam(value = "endDatetime", required = false, defaultValue = "0") String endDatetime,
@RequestParam(value = "desc", required = false, defaultValue = "0") List<String> desc, @RequestParam(value = "desc", required = false, defaultValue = "0") List<String> desc,
@RequestParam(value = "price", required = false, defaultValue = "0") List<Double> price, @RequestParam(value = "price", required = false, defaultValue = "0") List<Double> price,
@RequestParam(value = "stock", required = false, defaultValue = "0") List<Integer> stock @RequestParam(value = "quantity", required = false, defaultValue = "0") List<Integer> quantity
) throws UnsupportedEncodingException { ) throws UnsupportedEncodingException {
System.out.println("===activity_callback_\n"); System.out.println("===activity_callback_\n");
System.out.println("===filename: "+filename+"&tag="+tag+"&title="+title+"&content="+content+"&image="+image+"&userId="+userId+"&memberId="+memberId+"&addressId="+addressId System.out.println("===filename: "+filename+"&tag="+tag+"&title="+title+"&content="+content+"&image="+image+"&userId="+userId+"&memberId="+memberId+"&addressId="+addressId
+"&startDatetime="+startDatetime+"&endDatetime="+endDatetime); +"&startDatetime="+startDatetime+"&endDatetime="+endDatetime);
System.out.println("===filename: "+desc.toString() + price.toString() + stock.toString() ); System.out.println("===filename: "+desc.toString() + price.toString() + quantity.toString() );
keyService.Rockwell_keyServiceAddT_activity(userId, memberId, addressId, image, tag, title, content, keyService.Rockwell_keyServiceAddT_activity(userId, memberId, addressId, image, tag, title, content,
startDatetime, endDatetime, desc, price, stock); startDatetime, endDatetime, desc, price, quantity);
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
result.put("Status","OK"); result.put("Status","OK");
return result; return result;
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
...@@ -329,7 +329,7 @@ limitations under the License. ...@@ -329,7 +329,7 @@ limitations under the License.
<!-- match api2-7 新增多条 product 记录 update jscat 20200902 --> <!-- match api2-7 新增多条 product 记录 update jscat 20200902 -->
<insert id="addT_product" parameterType="cn.com.fun.nyxkey.api.domain.query.Rockwell_keyT_productQuery"> <insert id="addT_product" parameterType="cn.com.fun.nyxkey.api.domain.query.Rockwell_keyT_productQuery">
insert into tbl_product(product_id, activity_id, product_status, default_status, product_desc, unit_price, stock, start_datetime, end_datetime, create_datetime,update_datetime) insert into tbl_product(product_id, activity_id, product_status, default_status, product_desc, unit_price, quantity, start_datetime, end_datetime, create_datetime,update_datetime)
values values
<foreach collection="listRockwell_keyT_product" index="index" item="item" open="" separator="," close=""> <foreach collection="listRockwell_keyT_product" index="index" item="item" open="" separator="," close="">
( (
...@@ -339,7 +339,7 @@ limitations under the License. ...@@ -339,7 +339,7 @@ limitations under the License.
#{item.defaultStatus}, #{item.defaultStatus},
#{item.productDesc}, #{item.productDesc},
#{item.unitPrice}, #{item.unitPrice},
#{item.stock}, #{item.quantity},
#{item.startDatetime}, #{item.startDatetime},
#{item.endDatetime}, #{item.endDatetime},
#{item.createDatetime}, #{item.createDatetime},
...@@ -448,6 +448,59 @@ limitations under the License. ...@@ -448,6 +448,59 @@ limitations under the License.
</if> </if>
</select> </select>
<!-- order api 5-3 获取 order_id 的值 update jscat 20200907 -->
<select id="genT_order_id" resultType="string">
SELECT CONCAT('oid_',DATE_FORMAT(NOW(),'%Y%m%d%H%i%s'),
(
CASE
WHEN SUBSTR(MAX(order_id), 5, 8) = DATE_FORMAT(NOW(),'%Y%m%d')
THEN SUBSTR(CONCAT('0000' , (SUBSTR(SUBSTR(MAX(order_id), 5, 19), -5) + 1 ) ), -5)
ELSE '00001'
END
)) AS order_id
FROM
tbl_order
</select>
<!-- order api 5-4 新增order jscat 20200907 -->
<insert id="addT_order" parameterType="cn.com.fun.nyxkey.api.domain.Rockwell_keyT_order">
insert into tbl_order(order_id, activity_id, user_id, order_status, total_price, total_count, payment_type, qrcode_url, payment_datetime, end_datetime, create_datetime,update_datetime)
values
(
#{orderId},
#{activityId},
#{userId},
#{orderStatus},
#{totalPrice},
#{totalCount},
#{paymentType},
#{qrcodeUrl},
#{paymentDatetime},
#{endDatetime},
#{createDatetime},
#{updateDatetime}
)
</insert>
<!-- order api 5-4 新增order_item jscat 20200907 -->
<insert id="addT_order_item" parameterType="cn.com.fun.nyxkey.api.domain.Rockwell_keyT_order_item">
insert into tbl_order_item(order_id, user_id, product_id, product_desc, product_image, unit_price, quantity, create_datetime,update_datetime)
values
<foreach collection="listRockwell_keyT_product" index="index" item="item" open="" separator="," close="">
(
#{orderId},
#{userId},
#{item.productId},
#{item.productDesc},
#{productImage},
#{item.unitPrice},
#{item.quantity},
#{createDatetime},
#{updateDatetime}
)
</foreach>
</insert>
<!-- collect api 6-1 获取 v_collect 的值 by page; order by start_datetime asc jscat 20200826 --> <!-- collect api 6-1 获取 v_collect 的值 by page; order by start_datetime asc jscat 20200826 -->
<select id="getV_collect_by_page" parameterType="cn.com.fun.nyxkey.api.domain.query.Rockwell_keyT_collectQuery" <select id="getV_collect_by_page" parameterType="cn.com.fun.nyxkey.api.domain.query.Rockwell_keyT_collectQuery"
resultType="cn.com.fun.nyxkey.api.domain.Rockwell_keyV_collect"> resultType="cn.com.fun.nyxkey.api.domain.Rockwell_keyV_collect">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论