Commit 06c30034 by jscat

nyx javaapp: 功能优化

1. 新增order_query的查询类
2. 新增view_order_info的数据类, 用于表示view_order_info和view_order_detail
3. 新增两个接口 view_info_query_by_page和view_detail_query_by_page
parent e326fd23
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;
/**
* 活动发布-订单信息(order_info) 视图表
* Created by jscat on 2020/08/15.
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Rockwell_keyV_order_info{
private String activityId; // 活动的id, uuid format
private String memberId; // 商家的id, uuid format
private String orderId; // 订单的id, uuid format
private String userId; // 用户的id, uuid format
private String memberName; // 商家名称
private String title; // 发布标题,比如:此生必去系列
private Double totalPrice; // 实际付款金额,单位是元,保留两位小数
private String orderStatus; // 订单状态: 00-订单取消, 10-未付款, 20-可使用, 30-已完成
private String productImage; // 该条活动的image列表中的第一个图片地址
private String qrcodeUrl; // qrcode的二维码url
private String productDesc; // 类别说明
private String unitPrice; // 生成订单时的商品单价,单位是元,保留两位小数
private int quantity; // 商品数量
private Double itemPrice; // 该item的商品总价,单位是元,保留两位小数
@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.query;
package cn.com.fun.nyxkey.api.domain.query;
......@@ -108,7 +108,7 @@ public class Rockwell_keyT_activityQuery {
@Override
public String toString() {
return "Rockwell_keyT_matchQuery{" +
return "Rockwell_keyT_activityQuery{" +
"createDatetime='" + createDatetime + '\'' +
"activityId='" + activityId + '\'' +
"memberId='" + memberId + '\'' +
......
package cn.com.fun.nyxkey.api.repository;
package cn.com.fun.nyxkey.api.repository;
......@@ -37,12 +37,15 @@ public interface Rockwell_keyMapper {
List<Rockwell_keyV_activity_info> getV_activity_info_by_page(Rockwell_keyT_activityQuery rockwell_keyT_activityQuery);
List<Rockwell_keyV_activity_info> getV_activity_detail_by_id(Rockwell_keyT_activityQuery rockwell_keyT_activityQuery);
/* post api */
List<Rockwell_keyV_post_info> getV_post_info(Rockwell_keyT_postQuery rockwell_keyT_postQuery);
void addT_post(Rockwell_keyT_post rockwell_keyT_post);
void addT_postLike(Rockwell_keyT_post rockwell_keyT_post);
/* 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);
/* testing */
void test(Rockwell_keyT_matchQuery rockwell_keyT_matchQuery);
......
package cn.com.fun.nyxkey.api.service;
package cn.com.fun.nyxkey.api.service;
......@@ -57,6 +57,13 @@ public interface Rockwell_keyService {
int Rockwell_keyServiceAddT_post(String userId, String noteImage, String tag, String title, String content) throws UnsupportedEncodingException;
int Rockwell_keyServiceAddT_postLike(String postId);
/*
order api 订单api
*/
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);
// testing
void Rockwell_keyServiceTest(List<Rockwell_keyT_match> listRockwell_keyT_match);
......
package cn.com.fun.nyxkey.api.service.impl;
package cn.com.fun.nyxkey.api.service.impl;
......@@ -260,6 +260,14 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService {
{
LOGGER.debug("find Rockwell_keyServiceGetV_match_point_by_page");
//判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0
//如果所有的id 全为"0",默认值,则返回参数错误
/* todo and user_id!='' 防止刷数据 */
// if(userId.equals("0"))
// {
// return new JSONResult(ExceptionMsg.ParamError);
// }
List<Rockwell_keyV_match_point> listRockwell_keyV_match_point = new ArrayList<Rockwell_keyV_match_point>();
Rockwell_keyT_matchQuery rockwell_keyT_matchQuery = new Rockwell_keyT_matchQuery();
rockwell_keyT_matchQuery.setMemberId(memberId);
......@@ -406,6 +414,62 @@ public class Rockwell_keyServiceImpl implements Rockwell_keyService {
return 0;
}
public JSONResult Rockwell_keyServiceGetV_order_detail(String userId, String orderStatus, int pageNum, int pageCount)
{
LOGGER.debug("find Rockwell_keyServiceGetV_order_detail");
List<Rockwell_keyV_order_info> listRockwell_keyV_order_info = new ArrayList<>();
Rockwell_keyT_orderQuery rockwell_keyT_orderQuery = new Rockwell_keyT_orderQuery();
//判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0
//如果所有的id 全为"0",默认值,则返回参数错误
/* todo and user_id!='' 防止刷数据 */
// if(userId.equals("0"))
// {
// return new JSONResult(ExceptionMsg.ParamError);
// }
rockwell_keyT_orderQuery.setUserId(userId);
rockwell_keyT_orderQuery.setOrderStatus(orderStatus);
rockwell_keyT_orderQuery.setPagination(new Pagination(pageNum, pageCount));
listRockwell_keyV_order_info = rockwell_keyMapper.getV_order_detail_by_page(rockwell_keyT_orderQuery);
int totalCount = listRockwell_keyV_order_info.size();
JSONResult jsonResult = new JSONResult(totalCount, listRockwell_keyV_order_info);
return jsonResult;
}
public JSONResult Rockwell_keyServiceGetV_order_info(String memberId, String userId, String activityId, String orderStatus,
int pageNum, int pageCount)
{
LOGGER.debug("find Rockwell_keyServiceGetV_order_info");
List<Rockwell_keyV_order_info> listRockwell_keyV_order_info = new ArrayList<>();
Rockwell_keyT_orderQuery rockwell_keyT_orderQuery = new Rockwell_keyT_orderQuery();
//判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0
//如果所有的id 全为"0",默认值,则返回参数错误
if(activityId.equals("0") && memberId.equals("0") && userId.equals("0"))
{
return new JSONResult(ExceptionMsg.ParamError);
}
rockwell_keyT_orderQuery.setMemberId(memberId);
rockwell_keyT_orderQuery.setActivityId(activityId);
rockwell_keyT_orderQuery.setUserId(userId);
rockwell_keyT_orderQuery.setOrderStatus(orderStatus);
rockwell_keyT_orderQuery.setPagination(new Pagination(pageNum, pageCount));
listRockwell_keyV_order_info = rockwell_keyMapper.getV_order_info_by_page(rockwell_keyT_orderQuery);
int totalCount = listRockwell_keyV_order_info.size();
JSONResult jsonResult = new JSONResult(totalCount, listRockwell_keyV_order_info);
return jsonResult;
}
// testing
public void Rockwell_keyServiceTest(List<Rockwell_keyT_match> listRockwell_keyT_match)
......
package cn.com.fun.nyxkey.api.web.controller;
package cn.com.fun.nyxkey.api.web.controller;
......@@ -330,6 +330,58 @@ public class NyxApiController {
keyService.Rockwell_keyServiceAddT_postLike(postId);
}
// 订单表(order/order_item)的相关api 获取 view_order_detail 的数据 by page, not by orderId
// 5.1 order_item 查询
// 1. 按照 user_id
// 2. 按照 order_status
// 返回 Rockwell_keyV_order_info
@ApiOperation(value="获取订单子项的 order detail", notes="获取订单子项的 order detail")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "按用户id查找", required = false, dataType = "String"),
@ApiImplicitParam(name = "orderStatus", value = "按订单状态查找", required = false, dataType = "String"),
@ApiImplicitParam(name = "pageNum", value = "页码,从1开始", required = false, dataType = "String", defaultValue = "1"),
@ApiImplicitParam(name = "pageCount", value = "每页的数据个数,默认是4个", required = false, dataType = "String", defaultValue = "4")
})
@RequestMapping(value = "/nyx/order/detail/query", method = RequestMethod.GET)
public JSONResult RockwellQueryDetailOrder(
@RequestParam(value = "userId", required = false, defaultValue = "0") String userId,
@RequestParam(value = "orderStatus", required = false, defaultValue = "0") String orderStatus,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") int pageNum,
@RequestParam(value = "pageCount", required = false, defaultValue = "4") int pageCount
) {
return keyService.Rockwell_keyServiceGetV_order_detail(userId, orderStatus, pageNum, pageCount);
}
// 5.2 order表查询 获取 view_order_info 的数据 by page
// 2. 按照 member_id
// 3. 按照 user_id
// 4. 按照 activity_id
// 5. 按照 order_status
// 6. 按照 title
// 返回 Rockwell_keyV_order_info
@ApiOperation(value="获取订单的 order info by page", notes="获取订单的 order info by page")
@ApiImplicitParams({
@ApiImplicitParam(name = "memberId", value = "按商家id查找", required = false, dataType = "String"),
@ApiImplicitParam(name = "userId", value = "按用户id查找", required = false, dataType = "String"),
@ApiImplicitParam(name = "activityId", value = "按活动id查找", required = false, dataType = "String"),
@ApiImplicitParam(name = "orderStatus", value = "按订单状态查找", required = false, dataType = "String"),
@ApiImplicitParam(name = "pageNum", value = "页码,从1开始", required = false, dataType = "String", defaultValue = "1"),
@ApiImplicitParam(name = "pageCount", value = "每页的数据个数,默认是4个", required = false, dataType = "String", defaultValue = "4")
})
@RequestMapping(value = "/nyx/order/info/query", method = RequestMethod.GET)
public JSONResult RockwellQueryOrder(
@RequestParam(value = "memberId", required = false, defaultValue = "0") String memberId,
@RequestParam(value = "userId", required = false, defaultValue = "0") String userId,
@RequestParam(value = "activityId", required = false, defaultValue = "0") String activityId,
@RequestParam(value = "orderStatus", required = false, defaultValue = "0") String orderStatus,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") int pageNum,
@RequestParam(value = "pageCount", required = false, defaultValue = "4") int pageCount
) {
return keyService.Rockwell_keyServiceGetV_order_info(memberId, userId, activityId, orderStatus, pageNum, pageCount);
}
// 2.0 test
@ApiOperation(value="test", notes="test")
......
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
......@@ -14,6 +14,7 @@ limitations under the License.
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.com.fun.nyxkey.api.repository.Rockwell_keyMapper">
<!-- limit 4*(page-1), 4 -->
<sql id="pagination">
<![CDATA[
limit ${pagination.offset}, ${pagination.size}
......@@ -221,6 +222,7 @@ limitations under the License.
</select>
<!-- activity api 2-1 获取 v_activity_info 的值 by page update jscat 20200804 -->
<!-- 因为 activity_info 只需要显示 default_status="01"的商品 -->
<select id="getV_activity_info_by_page" parameterType="cn.com.fun.nyxkey.api.domain.query.Rockwell_keyT_activityQuery"
resultType="cn.com.fun.nyxkey.api.domain.Rockwell_keyV_activity_info">
select * from view_activity_info
......@@ -291,5 +293,52 @@ limitations under the License.
WHERE post_id=#{postId}
</select>
<!-- order api 5-1 获取 v_order_detail 的值 by page update jscat 20200815 -->
<select id="getV_order_detail_by_page" parameterType="cn.com.fun.nyxkey.api.domain.query.Rockwell_keyT_orderQuery"
resultType="cn.com.fun.nyxkey.api.domain.Rockwell_keyV_order_info">
select * from view_order_detail
where 1=1
AND order_id IN
(
SELECT * FROM
(
SELECT order_id FROM tbl_order
WHERE 1=1
<if test="userId != null and userId != '' ">
AND user_id=#{userId}
</if>
<if test="orderStatus != null and orderStatus != '' ">
AND order_status=#{orderStatus}
</if>
<if test="pagination != null ">
<include refid="pagination"/>
</if>
) AS ids
)
</select>
<!-- order api 5-2 获取 v_order_info 的值 by page update jscat 20200815 -->
<select id="getV_order_info_by_page" parameterType="cn.com.fun.nyxkey.api.domain.query.Rockwell_keyT_orderQuery"
resultType="cn.com.fun.nyxkey.api.domain.Rockwell_keyV_order_info">
select * from view_order_info
where 1=1
<if test="memberId != null and memberId != '' ">
AND member_id=#{memberId}
</if>
<if test="activityId != null and activityId != '' ">
AND activity_id=#{activityId}
</if>
<if test="userId != null and userId != '' ">
AND user_id=#{userId}
</if>
<if test="orderStatus != null and orderStatus != '' ">
AND order_status=#{orderStatus}
</if>
<if test="pagination != null ">
<include refid="pagination"/>
</if>
</select>
<!-- ending API interface -->
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论