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{
private String defaultStatus; // 默认状态: 00:普通 01:默认状态; 默认是第一个product
private String productDesc; // 类别说明
private Double unitPrice; // 价格
private int stock; // 库存数量
private int quantity; // 库存数量
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
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{
private String defaultStatus; // 默认标记; 00-非默认; 01-默认
private Double unitPrice; // 价格
private int stock; // 库存情况
private int quantity; // 库存情况
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{
private String defaultStatus; // 默认标记; 00-非默认; 01-默认
private Double unitPrice; // 价格
private int stock; // 库存情况
private int quantity; // 库存情况
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 {
/* 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_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 */
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 {
int Rockwell_keyServiceDelT_activityLike(String activityId);
int Rockwell_keyServiceAddT_activity(String userId, String memberId, String addressId, String noteImage, String tag, String title, String content,
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);
/* post api */
......@@ -70,6 +70,9 @@ public interface Rockwell_keyService {
JSONResult Rockwell_keyServiceGetV_order_info(String memberId, String userId, String activityId, 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
......
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 {
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
* 通过 activityId 来获取 view_activity_detail 的详细信息
*
......@@ -419,7 +462,7 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService {
// activity api - addT_activity
public int Rockwell_keyServiceAddT_activity(String userId, String memberId, String addressId, String noteImage, String tag, String title, String content,
String startDatetime, String endDatetime,
List<String> desc, List<Double> price, List<Integer> stock)
List<String> desc, List<Double> price, List<Integer> quantity)
throws UnsupportedEncodingException
{
LOGGER.debug("find Rockwell_keyServiceAddT_activity");
......@@ -454,7 +497,7 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService {
rockwell_keyT_product.setProductStatus("01");
rockwell_keyT_product.setProductDesc(URLDecoder.decode(desc.get(i), "UTF-8"));
rockwell_keyT_product.setUnitPrice(price.get(i));
rockwell_keyT_product.setStock(stock.get(i));
rockwell_keyT_product.setQuantity(quantity.get(i));
if(i == 0)
{
rockwell_keyT_product.setDefaultStatus("01");
......@@ -479,7 +522,6 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService {
rockwell_keyMapper.addT_product(rockwell_keyT_productQuery);
}
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;
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_product;
import cn.com.fun.nyxkey.api.service.*;
import cn.com.fun.nyxkey.api.web.common.ResponseHelper;
import cn.com.fun.nyxkey.api.web.common.ResponseWrapper;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -460,6 +462,38 @@ public class NyxApiController {
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
// 6.1 collect 查询
// 1. 按照 user_id
......@@ -547,7 +581,7 @@ public class NyxApiController {
}
// 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")
@ApiImplicitParams({
})
......@@ -556,7 +590,7 @@ public class NyxApiController {
public void RockwellQueryGet(
@RequestParam(value = "desc", required = false, defaultValue = "0") List<String> desc,
@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 {
@RequestParam(value = "endDatetime", required = false, defaultValue = "0") String endDatetime,
@RequestParam(value = "desc", required = false, defaultValue = "0") List<String> desc,
@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 {
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
+"&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,
startDatetime, endDatetime, desc, price, stock);
startDatetime, endDatetime, desc, price, quantity);
JSONObject result = new JSONObject();
result.put("Status","OK");
return result;
......
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
......@@ -329,7 +329,7 @@ limitations under the License.
<!-- match api2-7 新增多条 product 记录 update jscat 20200902 -->
<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
<foreach collection="listRockwell_keyT_product" index="index" item="item" open="" separator="," close="">
(
......@@ -339,7 +339,7 @@ limitations under the License.
#{item.defaultStatus},
#{item.productDesc},
#{item.unitPrice},
#{item.stock},
#{item.quantity},
#{item.startDatetime},
#{item.endDatetime},
#{item.createDatetime},
......@@ -448,6 +448,59 @@ limitations under the License.
</if>
</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 -->
<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">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论