Merge branch 'master' of https://gitee.com/zhijiantianya/onemall
commit
fe2305df17
|
@ -115,6 +115,11 @@ export default [
|
|||
name: 'product-category-list',
|
||||
component: './Product/ProductCategoryList',
|
||||
},
|
||||
{
|
||||
path: '/product/product-brand-list',
|
||||
name: 'product-brand-list',
|
||||
component: './Product/ProductBrandList',
|
||||
},
|
||||
],
|
||||
},
|
||||
// promotion
|
||||
|
|
|
@ -50,6 +50,7 @@ export default {
|
|||
'menu.product.product-spu-add': '商品添加',
|
||||
'menu.product.product-spu-update': '商品编辑',
|
||||
'menu.product.product-category-list': '商品分类',
|
||||
'menu.product.product-brand-list': '商品品牌',
|
||||
// 订单
|
||||
'menu.order': '订单管理',
|
||||
'menu.order.order-list': '订单管理',
|
||||
|
|
|
@ -0,0 +1,130 @@
|
|||
import { message } from 'antd';
|
||||
import { productBrandPage} from '../../services/product';
|
||||
import {routerRedux} from "dva/router";
|
||||
import PaginationHelper from '../../../helpers/PaginationHelper';
|
||||
|
||||
const SEARCH_PARAMS_DEFAULT = {
|
||||
name: '',
|
||||
status: 1,
|
||||
cid: undefined,
|
||||
};
|
||||
|
||||
export default {
|
||||
namespace: 'productBrandList',
|
||||
|
||||
state: {
|
||||
// 分页列表相关
|
||||
list: [],
|
||||
listLoading: false,
|
||||
pagination: PaginationHelper.defaultPaginationConfig,
|
||||
searchParams: SEARCH_PARAMS_DEFAULT,
|
||||
|
||||
// 添加 or 修改表单相关
|
||||
// modalVisible: false,
|
||||
// modalType: undefined, // 'add' or 'update' 表单
|
||||
formVals: {}, // 当前表单值
|
||||
// modalLoading: false,
|
||||
|
||||
|
||||
sortModalVisible: false, // 修改排序弹窗
|
||||
sortModalLoading: false, // 修改排序的加载
|
||||
},
|
||||
|
||||
effects: {
|
||||
// *updateStatus({ payload }, { call, put }) {
|
||||
// const { callback, body } = payload;
|
||||
// const response = yield call(productCategoryUpdateStatus, body);
|
||||
// if (callback) {
|
||||
// callback(response);
|
||||
// }
|
||||
// yield put({
|
||||
// type: 'tree',
|
||||
// payload: {},
|
||||
// });
|
||||
// },
|
||||
// *delete({ payload }, { call, put }) {
|
||||
// const response = yield call(productCategoryDelete, payload);
|
||||
// message.info('删除成功!');
|
||||
// yield put({
|
||||
// type: 'tree',
|
||||
// payload: {},
|
||||
// });
|
||||
// },
|
||||
*redirectToAdd({ payload }, { call, put }) {
|
||||
// const { callback, body } = payload;
|
||||
yield put(routerRedux.replace('/product/product-spu-add'));
|
||||
},
|
||||
*redirectToUpdate({ payload }, { call, put }) {
|
||||
// const { callback, body } = payload;
|
||||
yield put(routerRedux.replace('/product/product-spu-update?id=' + payload));
|
||||
},
|
||||
*page({ payload }, { call, put }) {
|
||||
// const { queryParams } = payload;
|
||||
// const response = yield call(productSpuPage, payload);
|
||||
// message.info('查询成功!');
|
||||
// yield put({
|
||||
// type: 'treeSuccess',
|
||||
// payload: {
|
||||
// list: response.data,
|
||||
// },
|
||||
// });
|
||||
|
||||
// 显示加载中
|
||||
yield put({
|
||||
type: 'changeListLoading',
|
||||
payload: true,
|
||||
});
|
||||
|
||||
// 请求
|
||||
const response = yield call(productBrandPage, payload);
|
||||
// 响应
|
||||
yield put({
|
||||
type: 'add',
|
||||
payload: {
|
||||
list: response.data.brands,
|
||||
pagination: PaginationHelper.formatPagination(response.data, payload),
|
||||
searchParams: {
|
||||
name: payload.name,
|
||||
status: payload.status,
|
||||
cid: payload.cid,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
// 隐藏加载中
|
||||
yield put({
|
||||
type: 'changeListLoading',
|
||||
payload: false,
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
reducers: {
|
||||
treeSuccess(state, { payload }) {
|
||||
return {
|
||||
...state,
|
||||
...payload,
|
||||
};
|
||||
},
|
||||
// 修改加载中的状态
|
||||
changeSortModalLoading(state, { payload }) {
|
||||
return {
|
||||
...state,
|
||||
sortModalLoading: payload,
|
||||
};
|
||||
},
|
||||
changeListLoading(state, { payload }) {
|
||||
return {
|
||||
...state,
|
||||
listLoading: payload,
|
||||
};
|
||||
},
|
||||
// 设置所有属性
|
||||
add(state, { payload }) {
|
||||
return {
|
||||
...state,
|
||||
...payload,
|
||||
};
|
||||
}
|
||||
},
|
||||
};
|
|
@ -0,0 +1,357 @@
|
|||
/* eslint-disable */
|
||||
|
||||
import React, { PureComponent, Fragment } from 'react';
|
||||
import { connect } from 'dva';
|
||||
import moment from 'moment';
|
||||
import {
|
||||
Card,
|
||||
Form,
|
||||
Input,
|
||||
Row,
|
||||
Col,
|
||||
Button,
|
||||
Modal,
|
||||
message,
|
||||
Table,
|
||||
Divider,
|
||||
Tree,
|
||||
Tabs,
|
||||
TreeSelect,
|
||||
Spin,
|
||||
InputNumber
|
||||
} from 'antd';
|
||||
import PageHeaderWrapper from '@/components/PageHeaderWrapper';
|
||||
|
||||
import styles from './ProductSpuList.less';
|
||||
import PaginationHelper from "../../../helpers/PaginationHelper";
|
||||
import PicturesWall from "../../components/Image/PicturesWall";
|
||||
|
||||
const FormItem = Form.Item;
|
||||
|
||||
const status = ['未知', '开启', '禁用'];
|
||||
// 列表
|
||||
function List({ dataSource, loading, pagination, searchParams, dispatch,
|
||||
categoryTree,handleModalVisible}) {
|
||||
|
||||
|
||||
function onPageChange(page) { // 翻页
|
||||
dispatch({
|
||||
type: 'productBrandList/page',
|
||||
payload: {
|
||||
pageNo: page.current,
|
||||
pageSize: page.pageSize,
|
||||
...searchParams
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const columns = [
|
||||
{
|
||||
title: '品牌名称',
|
||||
dataIndex: 'name',
|
||||
},
|
||||
{
|
||||
title: '品牌描述',
|
||||
dataIndex: 'description'
|
||||
},
|
||||
{
|
||||
title: '品牌图片',
|
||||
dataIndex: 'picUrl',
|
||||
render(val) {return <img width={120} src={val} />;},
|
||||
},
|
||||
{
|
||||
title: '状态',
|
||||
dataIndex: 'status',
|
||||
render(val) {return <span>{status[val]}</span>;},
|
||||
},
|
||||
{
|
||||
title: '创建时间',
|
||||
dataIndex: 'createTime',
|
||||
render: val => <span>{moment(val).format('YYYY-MM-DD')}</span>,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
width: 200,
|
||||
render: (text, record) => {
|
||||
const statusText = record.status === 1 ? '禁用' : '开启';
|
||||
return (
|
||||
<Fragment>
|
||||
<a onClick={() => handleModalVisible(true, 'update', record)}>编辑</a>
|
||||
<Divider type="vertical"/>
|
||||
<a className={styles.tableDelete} onClick={() => handleStatus(record)}>{statusText}</a>
|
||||
<Divider type="vertical"/>
|
||||
<a className={styles.tableDelete} onClick={() => handleDelete(record)}>删除</a>
|
||||
</Fragment>
|
||||
);
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
return (
|
||||
<div>
|
||||
|
||||
<Table
|
||||
columns={columns}
|
||||
dataSource={dataSource}
|
||||
rowKey="id"
|
||||
pagination={pagination}
|
||||
onChange={onPageChange}
|
||||
loading={loading} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
// 新建 form 表单
|
||||
const AddOrUpdateForm = Form.create()(props => {
|
||||
const { dispatch, loading, modalVisible, form, handleModalVisible, modalType, categoryTree, formVals } = props;
|
||||
let picturesWall = null;
|
||||
|
||||
const okHandle = () => {
|
||||
form.validateFields((err, fields) => {
|
||||
if (err) return;
|
||||
if (modalType === 'add') {
|
||||
dispatch({
|
||||
type: 'productBrandList/add',
|
||||
payload: {
|
||||
body: {
|
||||
...fields,
|
||||
picUrl: picturesWall ? picturesWall.getUrl() : undefined,
|
||||
},
|
||||
callback: () => {
|
||||
// 清空表单
|
||||
form.resetFields();
|
||||
// 提示
|
||||
message.success('新建成功');
|
||||
// 关闭弹窗
|
||||
handleModalVisible();
|
||||
},
|
||||
},
|
||||
});
|
||||
} else {
|
||||
dispatch({
|
||||
type: 'productCategoryList/update',
|
||||
payload: {
|
||||
body: {
|
||||
...formVals,
|
||||
...fields,
|
||||
picUrl: picturesWall ? picturesWall.getUrl() : undefined,
|
||||
},
|
||||
callback: () => {
|
||||
// 清空表单
|
||||
form.resetFields();
|
||||
// 提示
|
||||
message.success('编辑成功');
|
||||
// 关闭弹窗
|
||||
handleModalVisible();
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
const title = modalType === 'add' ? '新建品牌' : '编辑品牌';
|
||||
const okText = modalType === 'add' ? '新建' : '编辑';
|
||||
return (
|
||||
<Modal
|
||||
destroyOnClose
|
||||
title={title}
|
||||
visible={modalVisible}
|
||||
onOk={okHandle}
|
||||
okText={okText}
|
||||
onCancel={() => handleModalVisible()}
|
||||
>
|
||||
<Spin spinning={loading}>
|
||||
<FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 15 }} label="品牌名称">
|
||||
{form.getFieldDecorator('name', {
|
||||
rules: [{ required: true, message: '请输入品牌名称!', min: 2 }],
|
||||
initialValue: formVals.name,
|
||||
})(<Input placeholder="请输入" />)}
|
||||
</FormItem>
|
||||
|
||||
<FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 15 }} label="描述">
|
||||
{form.getFieldDecorator('description', {
|
||||
rules: [{ required: true, message: '请输入描述!' }],
|
||||
initialValue: formVals.description,
|
||||
})(<Input.TextArea placeholder="请输入" />)}
|
||||
</FormItem>
|
||||
</Spin>
|
||||
</Modal>
|
||||
);
|
||||
});
|
||||
|
||||
// 搜索表单
|
||||
const SearchForm = Form.create()(props => {
|
||||
const {
|
||||
form,
|
||||
form: { getFieldDecorator },
|
||||
dispatch,
|
||||
searchParams,
|
||||
categoryTree,
|
||||
} = props;
|
||||
|
||||
function search() {
|
||||
dispatch({
|
||||
type: 'productBrandList/page',
|
||||
payload: {
|
||||
...PaginationHelper.defaultPayload,
|
||||
...searchParams,
|
||||
...form.getFieldsValue(),
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 提交搜索
|
||||
function handleSubmit(e) {
|
||||
// 阻止默认事件
|
||||
e.preventDefault();
|
||||
// 提交搜索
|
||||
search();
|
||||
}
|
||||
|
||||
// 重置搜索
|
||||
function handleReset() {
|
||||
// 重置表单
|
||||
form.resetFields();
|
||||
// 执行搜索
|
||||
search();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<Form onSubmit={handleSubmit} layout="inline">
|
||||
<Row gutter={{ md: 8, lg: 24, xl: 48 }}>
|
||||
|
||||
<Col md={8} sm={24}>
|
||||
<FormItem label="品牌名称">
|
||||
{getFieldDecorator('name')(<Input placeholder="请输入" />)}
|
||||
</FormItem>
|
||||
</Col>
|
||||
|
||||
<Col md={8} sm={24}>
|
||||
<FormItem label="品牌描述">
|
||||
{getFieldDecorator('description')(<Input placeholder="请输入" />)}
|
||||
</FormItem>
|
||||
</Col>
|
||||
|
||||
<Col md={8} sm={24}>
|
||||
<span className={styles.submitButtons}>
|
||||
<Button type="primary" htmlType="submit">
|
||||
查询
|
||||
</Button>
|
||||
<Button style={{ marginLeft: 8 }} onClick={handleReset}>
|
||||
重置
|
||||
</Button>
|
||||
</span>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
// productSpuList
|
||||
@connect(({ productBrandList}) => ({
|
||||
...productBrandList
|
||||
}))
|
||||
|
||||
@Form.create()
|
||||
class ProductBrandList extends PureComponent {
|
||||
state = {
|
||||
modalVisible: false,
|
||||
modalType: 'add', //add update
|
||||
initValues: {},
|
||||
roleAssignVisible: false,
|
||||
roleAssignRecord: {},
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
const { dispatch } = this.props;
|
||||
// 查询初始数据
|
||||
dispatch({
|
||||
type: 'productBrandList/page',
|
||||
payload: {
|
||||
...PaginationHelper.defaultPayload,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
handleModalVisible = (modalVisible, modalType, record) => {
|
||||
const { dispatch } = this.props;
|
||||
dispatch({
|
||||
type: 'productBrandList/add',
|
||||
payload: {
|
||||
modalVisible,
|
||||
modalType,
|
||||
formVals: record || {}
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
render() {
|
||||
const { dispatch,
|
||||
list, listLoading, searchParams, pagination,
|
||||
categoryTree, modalType,formVals,
|
||||
modalVisible,modalLoading} = this.props;
|
||||
|
||||
// 列表属性
|
||||
const listProps = {
|
||||
dataSource: list,
|
||||
pagination,
|
||||
searchParams,
|
||||
dispatch,
|
||||
categoryTree,
|
||||
loading: listLoading,
|
||||
handleModalVisible: this.handleModalVisible, // Function
|
||||
};
|
||||
|
||||
// 搜索表单属性
|
||||
const searchFormProps = {
|
||||
dispatch,
|
||||
categoryTree,
|
||||
searchParams,
|
||||
};
|
||||
|
||||
// 添加 or 编辑表单属性
|
||||
const addOrUpdateFormProps = {
|
||||
modalVisible,
|
||||
modalType,
|
||||
formVals,
|
||||
dispatch,
|
||||
loading: modalLoading,
|
||||
categoryTree: list,
|
||||
handleModalVisible: this.handleModalVisible, // Function
|
||||
};
|
||||
|
||||
|
||||
return (
|
||||
<PageHeaderWrapper>
|
||||
<Card bordered={false}>
|
||||
<div className={styles.tableList}>
|
||||
<div className={styles.tableListOperator}>
|
||||
<Button icon="plus" type="primary" onClick={() => this.handleModalVisible(true, 'add', {})} >
|
||||
新建品牌
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<SearchForm {...searchFormProps} />
|
||||
<List {...listProps} />
|
||||
</Card>
|
||||
|
||||
<AddOrUpdateForm {...addOrUpdateFormProps} />
|
||||
</PageHeaderWrapper>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default ProductBrandList;
|
|
@ -92,8 +92,36 @@ export async function productAttrTree(params) {
|
|||
}
|
||||
|
||||
export async function productAttrValueAdd(params) {
|
||||
return request(`/product-api/admins//attr_value/add?${stringify(params)}`, {
|
||||
return request(`/product-api/admins/attr_value/add?${stringify(params)}`, {
|
||||
method: 'POST',
|
||||
body: {},
|
||||
});
|
||||
}
|
||||
|
||||
// product brand 2019-05-31
|
||||
|
||||
export async function productBrandAdd(params) {
|
||||
return request(`/product-api/admins/brand/add?${stringify(params)}`, {
|
||||
method: 'POST',
|
||||
body: {},
|
||||
});
|
||||
}
|
||||
|
||||
export async function productBrandUpdate(params) {
|
||||
return request(`/product-api/admins/brand/update?${stringify(params)}`, {
|
||||
method: 'POST',
|
||||
body: {},
|
||||
});
|
||||
}
|
||||
|
||||
export async function productBrandGet(params) {
|
||||
return request(`/product-api/admins/brand/get?${stringify(params)}`, {
|
||||
method: 'GET'
|
||||
});
|
||||
}
|
||||
|
||||
export async function productBrandPage(params) {
|
||||
return request(`/product-api/admins/brand/page?${stringify(params)}`, {
|
||||
method: 'GET'
|
||||
});
|
||||
}
|
||||
|
|
|
@ -88,6 +88,12 @@
|
|||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.8.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
package cn.iocoder.common.framework.util;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
|
||||
public class DateUtilTest {
|
||||
|
||||
@Test
|
||||
public void testAddDate() {
|
||||
Assert.assertNull(DateUtil.addDate(0, 0));
|
||||
Assert.assertEquals(new Date(1_778_410_800_000L), DateUtil.addDate(
|
||||
new Date(1_515_585_600_000L), 2, 100));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormat() {
|
||||
Assert.assertEquals("", DateUtil.format(null, null));
|
||||
Assert.assertEquals("2018-01-10:12:00:00", DateUtil.format(
|
||||
new Date(1_515_585_600_000L), "yyyy-MM-dd:HH:mm:ss"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetDayBegin() {
|
||||
Assert.assertNull(DateUtil.getDayBegin(null));
|
||||
Assert.assertEquals(new Date(1_515_542_400_000L),
|
||||
DateUtil.getDayBegin(new Date(1_515_585_600_000L)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetDayEnd() {
|
||||
Assert.assertNull(DateUtil.getDayEnd(null));
|
||||
Assert.assertEquals(new Date(1_515_628_799_999L), DateUtil.getDayEnd(
|
||||
new Date(1_515_585_600_000L)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsBetween() {
|
||||
Assert.assertTrue(DateUtil.isBetween(DateUtil.getDayBegin(),
|
||||
DateUtil.getDayEnd()));
|
||||
Assert.assertFalse(DateUtil.isBetween(
|
||||
DateUtil.getDayBegin(new Date(0L)),
|
||||
DateUtil.getDayEnd(new Date(100_000L))));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetCalender() {
|
||||
final GregorianCalendar calendar = new GregorianCalendar();
|
||||
DateUtil.setCalender(calendar, 2, 30, 50, 0);
|
||||
|
||||
Assert.assertEquals(2, calendar.getTime().getHours());
|
||||
Assert.assertEquals(30, calendar.getTime().getMinutes());
|
||||
Assert.assertEquals(50, calendar.getTime().getSeconds());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
swagger:
|
||||
enable: true
|
||||
title: 订单子系统
|
||||
description: 订单子系统
|
||||
version: 1.0.0
|
||||
base-package: cn.iocoder.mall.pay.application.controller
|
|
@ -0,0 +1,28 @@
|
|||
spring:
|
||||
application:
|
||||
name: order-application
|
||||
cloud:
|
||||
sentinel:
|
||||
transport:
|
||||
port: 8719
|
||||
dashboard: localhost:12088
|
||||
metric:
|
||||
charset: UTF-8
|
||||
eager: false
|
||||
|
||||
# server
|
||||
server:
|
||||
port: 18088
|
||||
servlet:
|
||||
context-path: /order-api/
|
||||
|
||||
swagger:
|
||||
enable: false
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health,info,env,metrics,prometheus
|
||||
metrics:
|
||||
enabled: true
|
|
@ -0,0 +1,270 @@
|
|||
package cn.iocoder.mall.order.application.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.bo.CalcOrderPriceBO;
|
||||
import cn.iocoder.mall.order.api.bo.CalcOrderPriceBO.Item;
|
||||
import cn.iocoder.mall.order.api.bo.CalcOrderPriceBO.ItemGroup;
|
||||
import cn.iocoder.mall.order.api.bo.CalcSkuPriceBO;
|
||||
import cn.iocoder.mall.order.application.vo.UsersCalcSkuPriceVO;
|
||||
import cn.iocoder.mall.order.application.vo.UsersCartDetailVO;
|
||||
import cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO;
|
||||
import cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO.Fee;
|
||||
import cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO.Sku;
|
||||
import cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO.Spu;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrAndValuePairBO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:47:18+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class CartConvertImpl implements CartConvert {
|
||||
|
||||
@Override
|
||||
public UsersOrderConfirmCreateVO convert(CalcOrderPriceBO calcOrderPriceBO) {
|
||||
if ( calcOrderPriceBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsersOrderConfirmCreateVO usersOrderConfirmCreateVO = new UsersOrderConfirmCreateVO();
|
||||
|
||||
usersOrderConfirmCreateVO.setItemGroups( itemGroupListToItemGroupList( calcOrderPriceBO.getItemGroups() ) );
|
||||
usersOrderConfirmCreateVO.setFee( feeToFee( calcOrderPriceBO.getFee() ) );
|
||||
usersOrderConfirmCreateVO.setCouponCardDiscountTotal( calcOrderPriceBO.getCouponCardDiscountTotal() );
|
||||
|
||||
return usersOrderConfirmCreateVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UsersCartDetailVO convert2(CalcOrderPriceBO calcOrderPriceBO) {
|
||||
if ( calcOrderPriceBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsersCartDetailVO usersCartDetailVO = new UsersCartDetailVO();
|
||||
|
||||
usersCartDetailVO.setItemGroups( itemGroupListToItemGroupList1( calcOrderPriceBO.getItemGroups() ) );
|
||||
usersCartDetailVO.setFee( feeToFee1( calcOrderPriceBO.getFee() ) );
|
||||
|
||||
return usersCartDetailVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UsersCalcSkuPriceVO convert2(CalcSkuPriceBO calcSkuPriceBO) {
|
||||
if ( calcSkuPriceBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsersCalcSkuPriceVO usersCalcSkuPriceVO = new UsersCalcSkuPriceVO();
|
||||
|
||||
usersCalcSkuPriceVO.setFullPrivilege( calcSkuPriceBO.getFullPrivilege() );
|
||||
usersCalcSkuPriceVO.setTimeLimitedDiscount( calcSkuPriceBO.getTimeLimitedDiscount() );
|
||||
usersCalcSkuPriceVO.setOriginalPrice( calcSkuPriceBO.getOriginalPrice() );
|
||||
usersCalcSkuPriceVO.setBuyPrice( calcSkuPriceBO.getBuyPrice() );
|
||||
|
||||
return usersCalcSkuPriceVO;
|
||||
}
|
||||
|
||||
protected Spu spuToSpu(cn.iocoder.mall.product.api.bo.ProductSkuDetailBO.Spu spu) {
|
||||
if ( spu == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Spu spu1 = new Spu();
|
||||
|
||||
spu1.setId( spu.getId() );
|
||||
spu1.setName( spu.getName() );
|
||||
spu1.setCid( spu.getCid() );
|
||||
List<String> list = spu.getPicUrls();
|
||||
if ( list != null ) {
|
||||
spu1.setPicUrls( new ArrayList<String>( list ) );
|
||||
}
|
||||
|
||||
return spu1;
|
||||
}
|
||||
|
||||
protected Sku itemToSku(Item item) {
|
||||
if ( item == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Sku sku = new Sku();
|
||||
|
||||
sku.setId( item.getId() );
|
||||
sku.setSpu( spuToSpu( item.getSpu() ) );
|
||||
sku.setPicURL( item.getPicURL() );
|
||||
List<ProductAttrAndValuePairBO> list = item.getAttrs();
|
||||
if ( list != null ) {
|
||||
sku.setAttrs( new ArrayList<ProductAttrAndValuePairBO>( list ) );
|
||||
}
|
||||
sku.setPrice( item.getPrice() );
|
||||
sku.setQuantity( item.getQuantity() );
|
||||
sku.setBuyQuantity( item.getBuyQuantity() );
|
||||
sku.setOriginPrice( item.getOriginPrice() );
|
||||
sku.setBuyPrice( item.getBuyPrice() );
|
||||
sku.setPresentPrice( item.getPresentPrice() );
|
||||
sku.setBuyTotal( item.getBuyTotal() );
|
||||
sku.setDiscountTotal( item.getDiscountTotal() );
|
||||
sku.setPresentTotal( item.getPresentTotal() );
|
||||
|
||||
return sku;
|
||||
}
|
||||
|
||||
protected List<Sku> itemListToSkuList(List<Item> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<Sku> list1 = new ArrayList<Sku>( list.size() );
|
||||
for ( Item item : list ) {
|
||||
list1.add( itemToSku( item ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
protected cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO.ItemGroup itemGroupToItemGroup(ItemGroup itemGroup) {
|
||||
if ( itemGroup == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO.ItemGroup itemGroup1 = new cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO.ItemGroup();
|
||||
|
||||
itemGroup1.setActivity( itemGroup.getActivity() );
|
||||
itemGroup1.setItems( itemListToSkuList( itemGroup.getItems() ) );
|
||||
|
||||
return itemGroup1;
|
||||
}
|
||||
|
||||
protected List<cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO.ItemGroup> itemGroupListToItemGroupList(List<ItemGroup> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO.ItemGroup> list1 = new ArrayList<cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO.ItemGroup>( list.size() );
|
||||
for ( ItemGroup itemGroup : list ) {
|
||||
list1.add( itemGroupToItemGroup( itemGroup ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
protected Fee feeToFee(cn.iocoder.mall.order.api.bo.CalcOrderPriceBO.Fee fee) {
|
||||
if ( fee == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Fee fee1 = new Fee();
|
||||
|
||||
fee1.setBuyTotal( fee.getBuyTotal() );
|
||||
fee1.setDiscountTotal( fee.getDiscountTotal() );
|
||||
fee1.setPostageTotal( fee.getPostageTotal() );
|
||||
fee1.setPresentTotal( fee.getPresentTotal() );
|
||||
|
||||
return fee1;
|
||||
}
|
||||
|
||||
protected cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Spu spuToSpu1(cn.iocoder.mall.product.api.bo.ProductSkuDetailBO.Spu spu) {
|
||||
if ( spu == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Spu spu1 = new cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Spu();
|
||||
|
||||
spu1.setId( spu.getId() );
|
||||
spu1.setName( spu.getName() );
|
||||
spu1.setCid( spu.getCid() );
|
||||
List<String> list = spu.getPicUrls();
|
||||
if ( list != null ) {
|
||||
spu1.setPicUrls( new ArrayList<String>( list ) );
|
||||
}
|
||||
|
||||
return spu1;
|
||||
}
|
||||
|
||||
protected cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Sku itemToSku1(Item item) {
|
||||
if ( item == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Sku sku = new cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Sku();
|
||||
|
||||
sku.setId( item.getId() );
|
||||
sku.setSpu( spuToSpu1( item.getSpu() ) );
|
||||
sku.setPicURL( item.getPicURL() );
|
||||
List<ProductAttrAndValuePairBO> list = item.getAttrs();
|
||||
if ( list != null ) {
|
||||
sku.setAttrs( new ArrayList<ProductAttrAndValuePairBO>( list ) );
|
||||
}
|
||||
sku.setPrice( item.getPrice() );
|
||||
sku.setQuantity( item.getQuantity() );
|
||||
sku.setBuyQuantity( item.getBuyQuantity() );
|
||||
sku.setSelected( item.getSelected() );
|
||||
sku.setActivity( item.getActivity() );
|
||||
sku.setOriginPrice( item.getOriginPrice() );
|
||||
sku.setBuyPrice( item.getBuyPrice() );
|
||||
sku.setPresentPrice( item.getPresentPrice() );
|
||||
sku.setBuyTotal( item.getBuyTotal() );
|
||||
sku.setDiscountTotal( item.getDiscountTotal() );
|
||||
sku.setPresentTotal( item.getPresentTotal() );
|
||||
|
||||
return sku;
|
||||
}
|
||||
|
||||
protected List<cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Sku> itemListToSkuList1(List<Item> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Sku> list1 = new ArrayList<cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Sku>( list.size() );
|
||||
for ( Item item : list ) {
|
||||
list1.add( itemToSku1( item ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
protected cn.iocoder.mall.order.application.vo.UsersCartDetailVO.ItemGroup itemGroupToItemGroup1(ItemGroup itemGroup) {
|
||||
if ( itemGroup == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
cn.iocoder.mall.order.application.vo.UsersCartDetailVO.ItemGroup itemGroup1 = new cn.iocoder.mall.order.application.vo.UsersCartDetailVO.ItemGroup();
|
||||
|
||||
itemGroup1.setActivity( itemGroup.getActivity() );
|
||||
itemGroup1.setActivityDiscountTotal( itemGroup.getActivityDiscountTotal() );
|
||||
itemGroup1.setItems( itemListToSkuList1( itemGroup.getItems() ) );
|
||||
|
||||
return itemGroup1;
|
||||
}
|
||||
|
||||
protected List<cn.iocoder.mall.order.application.vo.UsersCartDetailVO.ItemGroup> itemGroupListToItemGroupList1(List<ItemGroup> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<cn.iocoder.mall.order.application.vo.UsersCartDetailVO.ItemGroup> list1 = new ArrayList<cn.iocoder.mall.order.application.vo.UsersCartDetailVO.ItemGroup>( list.size() );
|
||||
for ( ItemGroup itemGroup : list ) {
|
||||
list1.add( itemGroupToItemGroup1( itemGroup ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
protected cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Fee feeToFee1(cn.iocoder.mall.order.api.bo.CalcOrderPriceBO.Fee fee) {
|
||||
if ( fee == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Fee fee1 = new cn.iocoder.mall.order.application.vo.UsersCartDetailVO.Fee();
|
||||
|
||||
fee1.setBuyTotal( fee.getBuyTotal() );
|
||||
fee1.setDiscountTotal( fee.getDiscountTotal() );
|
||||
fee1.setPostageTotal( fee.getPostageTotal() );
|
||||
fee1.setPresentTotal( fee.getPresentTotal() );
|
||||
|
||||
return fee1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,149 @@
|
|||
package cn.iocoder.mall.order.application.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.bo.CartItemBO;
|
||||
import cn.iocoder.mall.order.api.dto.OrderCreateDTO;
|
||||
import cn.iocoder.mall.order.api.dto.OrderCreateDTO.OrderItem;
|
||||
import cn.iocoder.mall.order.api.dto.OrderItemUpdateDTO;
|
||||
import cn.iocoder.mall.order.api.dto.OrderLogisticsUpdateDTO;
|
||||
import cn.iocoder.mall.order.api.dto.OrderQueryDTO;
|
||||
import cn.iocoder.mall.order.application.po.admin.OrderItemUpdatePO;
|
||||
import cn.iocoder.mall.order.application.po.admin.OrderLogisticsPO;
|
||||
import cn.iocoder.mall.order.application.po.admin.OrderPageQueryPO;
|
||||
import cn.iocoder.mall.order.application.po.user.OrderCreatePO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:47:18+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class OrderConvertAPPImpl implements OrderConvertAPP {
|
||||
|
||||
@Override
|
||||
public OrderQueryDTO convert(OrderPageQueryPO orderPageQueryVO) {
|
||||
if ( orderPageQueryVO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderQueryDTO orderQueryDTO = new OrderQueryDTO();
|
||||
|
||||
orderQueryDTO.setId( orderPageQueryVO.getId() );
|
||||
orderQueryDTO.setOrderNo( orderPageQueryVO.getOrderNo() );
|
||||
orderQueryDTO.setUserId( orderPageQueryVO.getUserId() );
|
||||
orderQueryDTO.setStartPaymentTime( orderPageQueryVO.getStartPaymentTime() );
|
||||
orderQueryDTO.setEndPaymentTime( orderPageQueryVO.getEndPaymentTime() );
|
||||
orderQueryDTO.setStartCreateTime( orderPageQueryVO.getStartCreateTime() );
|
||||
orderQueryDTO.setEndCreateTime( orderPageQueryVO.getEndCreateTime() );
|
||||
orderQueryDTO.setDeleted( orderPageQueryVO.getDeleted() );
|
||||
orderQueryDTO.setStatus( orderPageQueryVO.getStatus() );
|
||||
orderQueryDTO.setPageNo( orderPageQueryVO.getPageNo() );
|
||||
orderQueryDTO.setPageSize( orderPageQueryVO.getPageSize() );
|
||||
|
||||
return orderQueryDTO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderLogisticsUpdateDTO convert(OrderLogisticsPO orderLogisticsVO) {
|
||||
if ( orderLogisticsVO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderLogisticsUpdateDTO orderLogisticsUpdateDTO = new OrderLogisticsUpdateDTO();
|
||||
|
||||
orderLogisticsUpdateDTO.setId( orderLogisticsVO.getId() );
|
||||
orderLogisticsUpdateDTO.setAreaNo( orderLogisticsVO.getAreaNo() );
|
||||
orderLogisticsUpdateDTO.setName( orderLogisticsVO.getName() );
|
||||
orderLogisticsUpdateDTO.setMobile( orderLogisticsVO.getMobile() );
|
||||
orderLogisticsUpdateDTO.setAddress( orderLogisticsVO.getAddress() );
|
||||
orderLogisticsUpdateDTO.setLogisticsNo( orderLogisticsVO.getLogisticsNo() );
|
||||
|
||||
return orderLogisticsUpdateDTO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderItemUpdateDTO convert(OrderItemUpdatePO orderItemUpdateVO) {
|
||||
if ( orderItemUpdateVO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderItemUpdateDTO orderItemUpdateDTO = new OrderItemUpdateDTO();
|
||||
|
||||
orderItemUpdateDTO.setId( orderItemUpdateVO.getId() );
|
||||
orderItemUpdateDTO.setSkuId( orderItemUpdateVO.getSkuId() );
|
||||
orderItemUpdateDTO.setQuantity( orderItemUpdateVO.getQuantity() );
|
||||
orderItemUpdateDTO.setPrice( orderItemUpdateVO.getPrice() );
|
||||
|
||||
return orderItemUpdateDTO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderCreateDTO convert(OrderCreatePO orderCreatePO) {
|
||||
if ( orderCreatePO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderCreateDTO orderCreateDTO = new OrderCreateDTO();
|
||||
|
||||
orderCreateDTO.setUserAddressId( orderCreatePO.getUserAddressId() );
|
||||
orderCreateDTO.setCouponCardId( orderCreatePO.getCouponCardId() );
|
||||
orderCreateDTO.setRemark( orderCreatePO.getRemark() );
|
||||
orderCreateDTO.setOrderItems( orderItemListToOrderItemList( orderCreatePO.getOrderItems() ) );
|
||||
|
||||
return orderCreateDTO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderItem> convert(List<CartItemBO> cartItems) {
|
||||
if ( cartItems == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<OrderItem> list = new ArrayList<OrderItem>( cartItems.size() );
|
||||
for ( CartItemBO cartItemBO : cartItems ) {
|
||||
list.add( cartItemBOToOrderItem( cartItemBO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
protected OrderItem orderItemToOrderItem(cn.iocoder.mall.order.application.po.user.OrderCreatePO.OrderItem orderItem) {
|
||||
if ( orderItem == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderItem orderItem1 = new OrderItem();
|
||||
|
||||
orderItem1.setSkuId( orderItem.getSkuId() );
|
||||
orderItem1.setQuantity( orderItem.getQuantity() );
|
||||
|
||||
return orderItem1;
|
||||
}
|
||||
|
||||
protected List<OrderItem> orderItemListToOrderItemList(List<cn.iocoder.mall.order.application.po.user.OrderCreatePO.OrderItem> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<OrderItem> list1 = new ArrayList<OrderItem>( list.size() );
|
||||
for ( cn.iocoder.mall.order.application.po.user.OrderCreatePO.OrderItem orderItem : list ) {
|
||||
list1.add( orderItemToOrderItem( orderItem ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
protected OrderItem cartItemBOToOrderItem(CartItemBO cartItemBO) {
|
||||
if ( cartItemBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderItem orderItem = new OrderItem();
|
||||
|
||||
orderItem.setSkuId( cartItemBO.getSkuId() );
|
||||
orderItem.setQuantity( cartItemBO.getQuantity() );
|
||||
|
||||
return orderItem;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
package cn.iocoder.mall.order.application.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.dto.OrderDeliveryDTO;
|
||||
import cn.iocoder.mall.order.application.po.admin.OrderDeliverPO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:47:18+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class OrderDeliveryConvertImpl implements OrderDeliveryConvert {
|
||||
|
||||
@Override
|
||||
public OrderDeliveryDTO convert(OrderDeliverPO orderDeliverPO) {
|
||||
if ( orderDeliverPO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderDeliveryDTO orderDeliveryDTO = new OrderDeliveryDTO();
|
||||
|
||||
orderDeliveryDTO.setOrderId( orderDeliverPO.getOrderId() );
|
||||
orderDeliveryDTO.setLogistics( orderDeliverPO.getLogistics() );
|
||||
orderDeliveryDTO.setLogisticsNo( orderDeliverPO.getLogisticsNo() );
|
||||
List<Integer> list = orderDeliverPO.getOrderItemIds();
|
||||
if ( list != null ) {
|
||||
orderDeliveryDTO.setOrderItemIds( new ArrayList<Integer>( list ) );
|
||||
}
|
||||
|
||||
return orderDeliveryDTO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package cn.iocoder.mall.order.application.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.dto.OrderReturnApplyDTO;
|
||||
import cn.iocoder.mall.order.api.dto.OrderReturnQueryDTO;
|
||||
import cn.iocoder.mall.order.application.po.admin.OrderReturnQueryPO;
|
||||
import cn.iocoder.mall.order.application.po.user.OrderReturnApplyPO;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:47:18+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class OrderReturnConvertImpl implements OrderReturnConvert {
|
||||
|
||||
@Override
|
||||
public OrderReturnApplyDTO convert(OrderReturnApplyPO orderReturnApplyPO) {
|
||||
if ( orderReturnApplyPO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderReturnApplyDTO orderReturnApplyDTO = new OrderReturnApplyDTO();
|
||||
|
||||
orderReturnApplyDTO.setOrderId( orderReturnApplyPO.getOrderId() );
|
||||
orderReturnApplyDTO.setReason( orderReturnApplyPO.getReason() );
|
||||
orderReturnApplyDTO.setDescribe( orderReturnApplyPO.getDescribe() );
|
||||
orderReturnApplyDTO.setReturnType( orderReturnApplyPO.getReturnType() );
|
||||
|
||||
return orderReturnApplyDTO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderReturnQueryDTO convert(OrderReturnQueryPO orderReturnQueryPO) {
|
||||
if ( orderReturnQueryPO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderReturnQueryDTO orderReturnQueryDTO = new OrderReturnQueryDTO();
|
||||
|
||||
orderReturnQueryDTO.setOrderId( orderReturnQueryPO.getOrderId() );
|
||||
orderReturnQueryDTO.setOrderNo( orderReturnQueryPO.getOrderNo() );
|
||||
orderReturnQueryDTO.setServiceNumber( orderReturnQueryPO.getServiceNumber() );
|
||||
orderReturnQueryDTO.setStartCreateTime( orderReturnQueryPO.getStartCreateTime() );
|
||||
orderReturnQueryDTO.setEndCreateTime( orderReturnQueryPO.getEndCreateTime() );
|
||||
orderReturnQueryDTO.setStatus( orderReturnQueryPO.getStatus() );
|
||||
orderReturnQueryDTO.setIndex( orderReturnQueryPO.getIndex() );
|
||||
orderReturnQueryDTO.setPageSize( orderReturnQueryPO.getPageSize() );
|
||||
|
||||
return orderReturnQueryDTO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
spring:
|
||||
# datasource
|
||||
datasource:
|
||||
url: jdbc:mysql://192.168.88.14:3306/mall_order?useSSL=false&useUnicode=true&characterEncoding=UTF-8
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
username: root
|
||||
password: ${MALL_MYSQL_PASSWORD}
|
|
@ -0,0 +1,76 @@
|
|||
spring:
|
||||
# datasource
|
||||
datasource:
|
||||
url: jdbc:mysql://180.167.213.26:13306/mall_order?useSSL=false&useUnicode=true&characterEncoding=UTF-8
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
username: root
|
||||
password: ${MALL_MYSQL_PASSWORD}
|
||||
|
||||
# mybatis
|
||||
#mybatis:
|
||||
# config-location: classpath:mybatis-config.xml
|
||||
# mapper-locations: classpath:mapper/*.xml
|
||||
# type-aliases-package: cn.iocoder.mall.order.biz.dataobject
|
||||
#
|
||||
# mybatis-plus
|
||||
mybatis-plus:
|
||||
configuration:
|
||||
map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。
|
||||
global-config:
|
||||
db-config:
|
||||
id-type: auto
|
||||
mapper-locations: classpath*:mapper/*.xml
|
||||
type-aliases-package: cn.iocoder.mall.order.biz.dataobject
|
||||
|
||||
# dubbo
|
||||
dubbo:
|
||||
application:
|
||||
name: order-service
|
||||
registry:
|
||||
address: zookeeper://127.0.0.1:2181
|
||||
protocol:
|
||||
port: -1
|
||||
name: dubbo
|
||||
scan:
|
||||
base-packages: cn.iocoder.mall.order.biz.service
|
||||
provider:
|
||||
filter: -exception
|
||||
CartService:
|
||||
version: 1.0.0
|
||||
OrderService:
|
||||
version: 1.0.0
|
||||
OrderReturnService:
|
||||
version: 1.0.0
|
||||
OrderLogisticsService:
|
||||
version: 1.0.0
|
||||
<<<<<<< Updated upstream
|
||||
OrderCommentService:
|
||||
version: 1.0.0
|
||||
=======
|
||||
>>>>>>> Stashed changes
|
||||
consumer:
|
||||
timeout: 120000 # 设置长一点,方便调试代码
|
||||
ProductSpuService:
|
||||
version: 1.0.0
|
||||
PromotionActivityService:
|
||||
version: 1.0.0
|
||||
CouponService:
|
||||
version: 1.0.0
|
||||
PayRefundService:
|
||||
version: 1.0.0
|
||||
UserAddressService:
|
||||
version: 1.0.0
|
||||
PayTransactionService:
|
||||
version: 1.0.0
|
||||
DataDictService:
|
||||
version: 1.0.0
|
||||
|
||||
# logging
|
||||
logging:
|
||||
level:
|
||||
# dao 开启 debug 模式 mybatis 输入 sql
|
||||
cn.iocoder.mall.order.biz.dao: debug
|
||||
|
||||
# seata
|
||||
seata:
|
||||
tx-service-group: my_test_tx_group
|
|
@ -0,0 +1,69 @@
|
|||
transport {
|
||||
# tcp udt unix-domain-socket
|
||||
type = "TCP"
|
||||
#NIO NATIVE
|
||||
server = "NIO"
|
||||
#enable heartbeat
|
||||
heartbeat = true
|
||||
#thread factory for netty
|
||||
thread-factory {
|
||||
boss-thread-prefix = "NettyBoss"
|
||||
worker-thread-prefix = "NettyServerNIOWorker"
|
||||
server-executor-thread-prefix = "NettyServerBizHandler"
|
||||
share-boss-worker = false
|
||||
client-selector-thread-prefix = "NettyClientSelector"
|
||||
client-selector-thread-size = 1
|
||||
client-worker-thread-prefix = "NettyClientWorkerThread"
|
||||
# netty boss thread size,will not be used for UDT
|
||||
boss-thread-size = 1
|
||||
#auto default pin or 8
|
||||
worker-thread-size = 8
|
||||
}
|
||||
}
|
||||
|
||||
service {
|
||||
#vgroup->rgroup
|
||||
vgroup_mapping.my_test_tx_group = "default"
|
||||
#only support single node
|
||||
default.grouplist = "180.167.213.26:8091"
|
||||
#degrade current not support
|
||||
enableDegrade = false
|
||||
#disable
|
||||
disable = false
|
||||
}
|
||||
|
||||
client {
|
||||
async.commit.buffer.limit = 10000
|
||||
lock {
|
||||
retry.internal = 10
|
||||
retry.times = 30
|
||||
}
|
||||
}
|
||||
## transaction log store
|
||||
store {
|
||||
## store mode: file、db
|
||||
mode = "file"
|
||||
|
||||
## file store
|
||||
file {
|
||||
dir = "file_store/data"
|
||||
|
||||
# branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions
|
||||
max-branch-session-size = 16384
|
||||
# globe session size , if exceeded throws exceptions
|
||||
max-global-session-size = 512
|
||||
# file buffer size , if exceeded allocate new buffer
|
||||
file-write-buffer-cache-size = 16384
|
||||
# when recover batch read size
|
||||
session.reload.read_size = 100
|
||||
}
|
||||
|
||||
## database store
|
||||
db {
|
||||
driver_class = ""
|
||||
url = ""
|
||||
user = ""
|
||||
password = ""
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,129 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.order.biz.dao.CartMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, status, delete_time, selected, user_id,
|
||||
spu_id, sku_id, quantity, order_id, order_create_time,
|
||||
create_time
|
||||
</sql>
|
||||
|
||||
<select id="selectById" parameterType="Integer" resultType="CartItemDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM cart_item
|
||||
WHERE id = #{id}
|
||||
-- AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectByIds" resultType="CartItemDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM cart_item
|
||||
WHERE id IN
|
||||
<foreach item="id" collection="ids" separator="," open="(" close=")" index="">
|
||||
#{id}
|
||||
</foreach>
|
||||
-- AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectByUserIdAndSkuIdAndStatus" resultType="CartItemDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM cart_item
|
||||
WHERE user_id = #{userId}
|
||||
AND sku_id = #{skuId}
|
||||
AND status = #{status}
|
||||
-- AND deleted = 0
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="selectByUserIdAndStatusAndSelected" resultType="CartItemDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM cart_item
|
||||
WHERE user_id = #{userId}
|
||||
AND status = #{status}
|
||||
<if test="selected != null">
|
||||
AND selected = #{selected}
|
||||
</if>
|
||||
-- AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectQuantitySumByUserIdAndStatus" resultType="Integer">
|
||||
SELECT
|
||||
SUM(quantity)
|
||||
FROM cart_item
|
||||
WHERE user_id = #{userId}
|
||||
AND status = #{status}
|
||||
-- AND deleted = 0
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="CartItemDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO cart_item (
|
||||
status, delete_time, selected, user_id,
|
||||
spu_id, sku_id, quantity, order_id, order_create_time,
|
||||
create_time
|
||||
) VALUES (
|
||||
#{status}, #{deleteTime}, #{selected}, #{userId},
|
||||
#{spuId}, #{skuId}, #{quantity}, #{orderId}, #{orderCreateTime},
|
||||
#{createTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="CartItemDO">
|
||||
UPDATE cart_item
|
||||
<set>
|
||||
<if test="status != null">
|
||||
status = #{status},
|
||||
</if>
|
||||
<if test="deleteTime != null">
|
||||
delete_time = #{deleteTime},
|
||||
</if>
|
||||
<if test="selected != null">
|
||||
selected = #{selected},
|
||||
</if>
|
||||
<if test="quantity != null">
|
||||
quantity = #{quantity},
|
||||
</if>
|
||||
<if test="orderId != null">
|
||||
order_id = #{orderId},
|
||||
</if>
|
||||
<if test="orderCreateTime != null">
|
||||
order_create_time = #{orderCreateTime},
|
||||
</if>
|
||||
<if test="price != null">
|
||||
price = #{price},
|
||||
</if>
|
||||
<if test="quantity != null">
|
||||
quantity = #{quantity},
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateQuantity" parameterType="CartItemDO">
|
||||
UPDATE cart_item
|
||||
SET quantity = quantity + #{quantityIncr}
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateListByUserIdAndSkuId">
|
||||
UPDATE cart_item
|
||||
<set>
|
||||
<if test="selected != null">
|
||||
selected = #{selected},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status},
|
||||
</if>
|
||||
</set>
|
||||
WHERE user_id = #{userId}
|
||||
AND sku_id IN
|
||||
<foreach item="skuId" collection="skuIds" separator="," open="(" close=")" index="">
|
||||
#{skuId}
|
||||
</foreach>
|
||||
-- AND deleted = 0
|
||||
</update>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.order.biz.dao.OrderCancelMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, order_id, order_no, reason, other_reason,
|
||||
create_time, update_time
|
||||
</sql>
|
||||
|
||||
<!--
|
||||
插入数据
|
||||
-->
|
||||
<insert id="insert" parameterType="OrderCancelDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO `order_cancel` (
|
||||
order_id, order_no, reason, other_reason,
|
||||
create_time, update_time
|
||||
) VALUES (
|
||||
#{orderId}, #{orderNo}, #{reason}, #{otherReason},
|
||||
#{createTime}, #{updateTime}
|
||||
)
|
||||
</insert>
|
||||
</mapper>
|
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.order.biz.dao.OrderCommentMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id,order_id,order_no,product_spu_id,product_spu_name,product_sku_id,product_sku_attrs,product_sku_price,product_sku_pic_url,
|
||||
user_id,user_avatar,user_nick_name,star,product_description_star,logistics_star,merchant_star,replay_count,like_count,comment_content,
|
||||
comment_pics,create_time,update_time
|
||||
</sql>
|
||||
|
||||
<!--插入-->
|
||||
<insert id="insert" parameterType="OrderCommentDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO order_comment(order_id,order_no,product_spu_id,product_spu_name,product_sku_id,
|
||||
product_sku_attrs,product_sku_price,product_sku_pic_url,user_id,user_avatar,user_nick_name,star,
|
||||
product_description_star,logistics_star,merchant_star,comment_content,comment_pics,create_time,update_time)
|
||||
VALUES (#{orderId},#{orderNo},#{productSpuId},#{productSpuName},#{productSkuId},#{productSkuAttrs},
|
||||
#{productSkuPrice},#{productSkuPicUrl},#{userId},#{userAvatar},#{userNickName},#{star},
|
||||
#{productDescriptionStar},#{logisticsStar},#{merchantStar},#{commentContent},#{commentPics},#{createTime}, #{updateTime});
|
||||
</insert>
|
||||
|
||||
<!--根据 sku id 获取评论总数-->
|
||||
<select id="selectCommentTotalCountByProductSkuId" parameterType="Integer" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
COUNT (*)
|
||||
FROM order_comment
|
||||
WHERE
|
||||
product_sku_id = #{productSkuId}
|
||||
</select>
|
||||
|
||||
<!--分页获取评论分页-->
|
||||
<select id="selectCommentPage" resultType="cn.iocoder.mall.order.biz.dataobject.OrderCommentDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM order_comment
|
||||
WHERE
|
||||
product_sku_id = #{productSkuId}
|
||||
ORDER BY create_time DESC
|
||||
LIMIT ${pageNo * pageSize}, ${pageSize}
|
||||
</select>
|
||||
|
||||
<!--根据评论 id 获取用户详情-->
|
||||
<select id="selectCommentInfoByCommentId" parameterType="Integer" resultType="cn.iocoder.mall.order.biz.dataobject.OrderCommentDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM order_comment
|
||||
WHERE
|
||||
id = #{id}
|
||||
ORDER BY create_time DESC
|
||||
LIMIT ${pageNo * pageSize}, ${pageSize}
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,67 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.order.biz.dao.OrderCommentReplayMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id,comment_id,reply_type,parent_id,parent_user_id,parent_user_nick_name,parent_user_avatar,reply_content,
|
||||
reply_user_id,reply_user_nick_name,reply_user_avatar,user_type,reply_like_count,create_time,update_time
|
||||
</sql>
|
||||
|
||||
<!--插入-->
|
||||
<insert id="insert" parameterType="OrderCommentReplyDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
<<<<<<< Updated upstream
|
||||
INSERT INTO order_comment_replay(comment_id,reply_type,parent_id,parent_user_id,parent_user_nick_name,parent_user_avatar,reply_content,reply_user_id
|
||||
=======
|
||||
INSERT INTO `order_comment_replay`(comment_id,reply_type,parent_id,parent_user_id,parent_user_nick_name,parent_user_avatar,reply_content,reply_user_id
|
||||
>>>>>>> Stashed changes
|
||||
reply_user_nick_name,reply_user_avatar,user_type,create_time,update_time)
|
||||
VALUES (#{commentId},#{replyType},#{parentId},#{parentUserId},#{parentUserNickName},#{parentUserAvatar},#{replyContent},#{replyUserId},
|
||||
#{replyUserNickName},#{replyUserAvatar},#{userType},#{createTime},#{updateTime})
|
||||
</insert>
|
||||
|
||||
<!--根据评论 id 和用户类型获取商家回复列表-->
|
||||
<select id="selectCommentMerchantReplyByCommentId" resultType="cn.iocoder.mall.order.biz.dataobject.OrderCommentReplyDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM order_comment_replay
|
||||
WHERE
|
||||
comment_id = #{commentId}
|
||||
AND
|
||||
user_type = #{userType}
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<!--根据评论 id 和用户类型获取评论总数-->
|
||||
<select id="selectCommentReplyTotalCountByCommentId" parameterType="Integer" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
COUNT (*)
|
||||
FROM order_comment_replay
|
||||
WHERE
|
||||
comment_id = #{commentId}
|
||||
AND
|
||||
user_type = #{userType}
|
||||
</select>
|
||||
|
||||
<!--分页用户回复-->
|
||||
<select id="selectCommentReplyPage" resultType="cn.iocoder.mall.order.biz.dataobject.OrderCommentReplyDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM order_comment_replay
|
||||
WHERE
|
||||
comment_id = #{commentId}
|
||||
AND
|
||||
user_type = #{userType}
|
||||
ORDER BY create_time DESC
|
||||
LIMIT ${pageNo * pageSize}, ${pageSize}
|
||||
</select>
|
||||
|
||||
<<<<<<< Updated upstream
|
||||
|
||||
<!--根据评论 id 查询商家最新的评论列表-->
|
||||
<select id="selectCommentNewMerchantReplyByCommentIds" resultType="cn.iocoder.mall.order.biz.dataobject.OrderCommentReplyDO">
|
||||
|
||||
</select>
|
||||
|
||||
=======
|
||||
>>>>>>> Stashed changes
|
||||
</mapper>
|
|
@ -0,0 +1,172 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.order.biz.dao.OrderItemMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, order_id, order_no, sku_id, sku_name, sku_image, order_logistics_id,
|
||||
quantity, origin_price, buy_price, present_price, buy_total, discount_total, present_total,
|
||||
payment_time, delivery_time, receiver_time, closing_time,
|
||||
has_return_exchange, delivery_type, status,
|
||||
create_time, update_time, deleted
|
||||
</sql>
|
||||
|
||||
<!--
|
||||
插入数据
|
||||
-->
|
||||
<insert id="insert" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO `order_item` (
|
||||
order_id, order_no, sku_id, sku_name, sku_image, order_logistics_id,
|
||||
quantity, origin_price, buy_price, present_price, buy_total, discount_total, present_total,
|
||||
payment_time, delivery_time, receiver_time, closing_time,
|
||||
has_return_exchange, delivery_type, status,
|
||||
create_time, update_time, deleted
|
||||
) VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.orderId}, #{item.orderNo}, #{item.skuId}, #{item.skuName}, #{item.skuImage}, #{item.orderLogisticsId},
|
||||
#{item.quantity}, #{item.originPrice}, #{item.buyPrice}, #{item.presentPrice}, #{item.buyTotal}, #{item.discountTotal}, #{item.presentTotal},
|
||||
#{item.paymentTime}, #{item.deliveryTime}, #{item.receiverTime}, #{item.closingTime},
|
||||
#{item.hasReturnExchange}, #{item.deliveryType}, #{item.status},
|
||||
#{item.createTime}, #{item.updateTime}, #{item.deleted})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!--
|
||||
更新 - 可更新的字段
|
||||
-->
|
||||
<sql id="updateFieldSql" >
|
||||
<set>
|
||||
<if test="orderItemDO.orderId != null">
|
||||
, order_id = #{orderItemDO.orderId}
|
||||
</if>
|
||||
<if test="orderItemDO.orderNo != null">
|
||||
, order_no = #{orderItemDO.orderNo}
|
||||
</if>
|
||||
<if test="orderItemDO.orderLogisticsId != null">
|
||||
, order_logistics_id = #{orderItemDO.orderLogisticsId}
|
||||
</if>
|
||||
<if test="orderItemDO.skuId != null">
|
||||
, sku_id = #{orderItemDO.skuId}
|
||||
</if>
|
||||
<if test="orderItemDO.skuName != null">
|
||||
, sku_name = #{orderItemDO.skuName}
|
||||
</if>
|
||||
<if test="orderItemDO.skuImage != null">
|
||||
, sku_image = #{orderItemDO.skuImage}
|
||||
</if>
|
||||
<if test="orderItemDO.quantity != null">
|
||||
, quantity = #{orderItemDO.quantity}
|
||||
</if>
|
||||
<!-- TODO 芋艿 需要改 -->
|
||||
<!-- <if test="orderItemDO.price != null">-->
|
||||
<!-- , price = #{orderItemDO.price}-->
|
||||
<!-- </if>-->
|
||||
<!-- <if test="orderItemDO.payAmount != null">-->
|
||||
<!-- , pay_amount = #{orderItemDO.payAmount}-->
|
||||
<!-- </if>-->
|
||||
|
||||
<if test="orderItemDO.paymentTime != null">
|
||||
, payment_time = #{orderItemDO.paymentTime}
|
||||
</if>
|
||||
<if test="orderItemDO.deliveryTime != null">
|
||||
, delivery_time = #{orderItemDO.deliveryTime}
|
||||
</if>
|
||||
<if test="orderItemDO.receiverTime != null">
|
||||
, receiver_time = #{orderItemDO.receiverTime}
|
||||
</if>
|
||||
<if test="orderItemDO.closingTime != null">
|
||||
, closing_time = #{orderItemDO.closingTime}
|
||||
</if>
|
||||
|
||||
<if test="orderItemDO.hasReturnExchange != null">
|
||||
, has_return_exchange = #{orderItemDO.hasReturnExchange}
|
||||
</if>
|
||||
<if test="orderItemDO.status != null">
|
||||
, status = #{orderItemDO.status}
|
||||
</if>
|
||||
<if test="orderItemDO.deliveryType != null">
|
||||
, delivery_type = #{orderItemDO.deliveryType}
|
||||
</if>
|
||||
<if test="orderItemDO.deleted != null">
|
||||
, `deleted` = #{orderItemDO.deleted}
|
||||
</if>
|
||||
<if test="orderItemDO.createTime != null">
|
||||
, create_time = #{orderItemDO.createTime}
|
||||
</if>
|
||||
<if test="orderItemDO.updateTime != null">
|
||||
, update_time = #{orderItemDO.updateTime}
|
||||
</if>
|
||||
</set>
|
||||
</sql>
|
||||
|
||||
<!--
|
||||
更新 - 根据 id 更新
|
||||
-->
|
||||
<update id="updateById" parameterType="OrderDO">
|
||||
UPDATE `order_item`
|
||||
<include refid="updateFieldSql" />
|
||||
WHERE id = #{orderItemDO.id}
|
||||
</update>
|
||||
|
||||
<!--
|
||||
更新 - 根据 ids 更新
|
||||
-->
|
||||
<update id="updateByIds">
|
||||
UPDATE `order_item`
|
||||
<include refid="updateFieldSql" />
|
||||
WHERE id IN
|
||||
<foreach collection="ids" item="id" separator="," open="(" close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<!--
|
||||
更新 - 根据 orderId
|
||||
-->
|
||||
<update id="updateByOrderId">
|
||||
UPDATE `order_item`
|
||||
<include refid="updateFieldSql" />
|
||||
WHERE order_id = #{orderId}
|
||||
</update>
|
||||
|
||||
<!--
|
||||
获取 - 根据 ids 查询
|
||||
-->
|
||||
<select id="selectByIds" resultType="cn.iocoder.mall.order.biz.dataobject.OrderItemDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM order_item
|
||||
WHERE `id` IN
|
||||
<foreach collection="ids" item="id" separator="," open="(" close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<!--
|
||||
查询 - 根据 orderId 下的 item
|
||||
-->
|
||||
<select id="selectByDeletedAndOrderId" resultType="cn.iocoder.mall.order.biz.dataobject.OrderItemDO">
|
||||
SELECT * FROM `order_item`
|
||||
WHERE 1=1
|
||||
<if test="deleted != null">
|
||||
AND deleted = #{deleted}
|
||||
</if>
|
||||
<if test="orderId != null">
|
||||
AND order_id = #{orderId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!--
|
||||
查询 - 根据 orderIds 和 status
|
||||
-->
|
||||
<select id="selectByDeletedAndOrderIds" resultType="cn.iocoder.mall.order.biz.dataobject.OrderItemDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM `order_item`
|
||||
WHERE `deleted` = #{deleted}
|
||||
AND `order_id`
|
||||
IN
|
||||
<foreach collection="orderIds" item="orderId" open="(" close=")" separator=",">
|
||||
#{orderId}
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
|
@ -0,0 +1,76 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.order.biz.dao.OrderLogisticsDetailMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id,
|
||||
order_logistics_id,
|
||||
logistics_time,
|
||||
logistics_information,
|
||||
create_time,
|
||||
update_time
|
||||
</sql>
|
||||
|
||||
<!--
|
||||
插入
|
||||
-->
|
||||
<insert id="insert" parameterType="CartItemDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO cart_item (order_logistics_id, logistics_time, logistics_information,
|
||||
create_time, update_time)
|
||||
VALUES (#{orderLogisticsId}, #{logisticsTime}, #{logisticsInformation},
|
||||
#{createTime}, #{updateTime})
|
||||
</insert>
|
||||
|
||||
<!--
|
||||
查询 - 根据 物流id
|
||||
-->
|
||||
<select id="selectByOrderLogisticsId"
|
||||
resultType="cn.iocoder.mall.order.biz.dataobject.OrderLogisticsDetailDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM order_logistics_detail
|
||||
WHERE order_logistics_id = #{orderLogisticsId}
|
||||
</select>
|
||||
|
||||
<!--
|
||||
查询 - 根据 物流ids
|
||||
-->
|
||||
<select id="selectByOrderLogisticsIds"
|
||||
resultType="cn.iocoder.mall.order.biz.dataobject.OrderLogisticsDetailDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM order_logistics_detail
|
||||
WHERE order_logistics_id IN
|
||||
<foreach collection="orderLogisticsIds" item="orderLogisticsId" separator="," open="(" close=")">
|
||||
#{orderLogisticsId}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<!--
|
||||
查询 - 最新的物流信息
|
||||
-->
|
||||
<select id="selectLast" resultType="cn.iocoder.mall.order.biz.dataobject.OrderLogisticsDetailDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM order_logistics_detail
|
||||
WHERE order_logistics_id IN
|
||||
<foreach collection="orderLogisticsIds" item="orderLogisticsId" separator="," open="(" close=")">
|
||||
#{orderLogisticsId}
|
||||
</foreach>
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 0, 1
|
||||
</select>
|
||||
|
||||
<!--
|
||||
查询 - 根据 last 根据物理id
|
||||
-->
|
||||
<select id="selectLastByLogisticsId"
|
||||
resultType="cn.iocoder.mall.order.biz.dataobject.OrderLogisticsDetailDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM order_logistics_detail
|
||||
WHERE order_logistics_id = #{orderLogisticsId}
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
</mapper>
|
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.order.biz.dao.OrderLogisticsMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, area_no, `name`, mobile, address, logistics, logistics_no, create_time, update_time
|
||||
</sql>
|
||||
|
||||
<!--
|
||||
插入数据
|
||||
-->
|
||||
<insert id="insert" parameterType="OrderLogisticsDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO `order_logistics` (
|
||||
area_no, `name`, mobile, address, logistics, logistics_no, create_time, update_time
|
||||
) VALUES (
|
||||
#{areaNo}, #{name}, #{mobile}, #{address},
|
||||
#{logistics}, #{logisticsNo}, #{createTime}, #{updateTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!--
|
||||
可更新字段
|
||||
-->
|
||||
<sql id="updateFieldSql" >
|
||||
<set>
|
||||
<if test="areaNo != null">
|
||||
, area_no = #{areaNo}
|
||||
</if>
|
||||
<if test="name != null">
|
||||
, `name` = #{name}
|
||||
</if>
|
||||
<if test="mobile != null">
|
||||
, mobile = #{mobile}
|
||||
</if>
|
||||
<if test="address != null">
|
||||
, address = #{address}
|
||||
</if>
|
||||
<if test="logistics != null">
|
||||
, logistics = #{logistics}
|
||||
</if>
|
||||
<if test="logisticsNo != null">
|
||||
, logistics_no = #{logisticsNo}
|
||||
</if>
|
||||
</set>
|
||||
</sql>
|
||||
|
||||
<!--
|
||||
更新 - 根据id
|
||||
-->
|
||||
<update id="updateById">
|
||||
UPDATE `order_logistics`
|
||||
<include refid="updateFieldSql" />
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<!--
|
||||
查询 - 根据 ids
|
||||
-->
|
||||
<select id="selectByIds" resultType="cn.iocoder.mall.order.biz.dataobject.OrderLogisticsDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM `order_logistics`
|
||||
WHERE `id`
|
||||
IN
|
||||
<foreach collection="ids" item="id" separator="," open="(" close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<!--
|
||||
查询 - 根据 ids
|
||||
-->
|
||||
<select id="selectById" resultType="cn.iocoder.mall.order.biz.dataobject.OrderLogisticsDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM `order_logistics`
|
||||
WHERE `id` = #{id}
|
||||
LIMIT 1
|
||||
</select>
|
||||
</mapper>
|
|
@ -0,0 +1,141 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.order.biz.dao.OrderMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, user_id, order_no, buy_price, discount_price, logistics_price, present_price, pay_amount,
|
||||
payment_time, delivery_time, receiver_time, closing_time,
|
||||
has_return_exchange,
|
||||
status, remark, create_time, update_time, `deleted`
|
||||
</sql>
|
||||
|
||||
<sql id="updateFieldSql" >
|
||||
<set>
|
||||
<if test="orderNo != null">
|
||||
, order_no = #{orderNo}
|
||||
</if>
|
||||
<if test="buyPrice != null">
|
||||
, buy_price = #{buyPrice}
|
||||
</if>
|
||||
<if test="discountPrice != null">
|
||||
, discount_price = #{discountPrice}
|
||||
</if>
|
||||
<if test="logisticsPrice != null">
|
||||
, logistics_price = #{logisticsPrice}
|
||||
</if>
|
||||
<if test="logisticsPrice != null">
|
||||
, logistics_price = #{logisticsPrice}
|
||||
</if>
|
||||
<if test="presentPrice != null">
|
||||
, present_price = #{presentPrice}
|
||||
</if>
|
||||
<if test="payAmount != null">
|
||||
, pay_amount = #{payAmount}
|
||||
</if>
|
||||
<if test="deliveryTime != null">
|
||||
, delivery_time = #{deliveryTime}
|
||||
</if>
|
||||
<if test="paymentTime != null">
|
||||
, payment_time = #{paymentTime}
|
||||
</if>
|
||||
<if test="receiverTime != null">
|
||||
, receiver_time = #{receiverTime}
|
||||
</if>
|
||||
<if test="closingTime != null">
|
||||
, closing_time = #{closingTime}
|
||||
</if>
|
||||
<if test="hasReturnExchange != null">
|
||||
, has_return_exchange = #{hasReturnExchange}
|
||||
</if>
|
||||
|
||||
<if test="status != null">
|
||||
, status = #{status}
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
, remark = #{remark}
|
||||
</if>
|
||||
<if test="deleted != null">
|
||||
, `deleted` = #{deleted}
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
, create_time = #{createTime}
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
, update_time = #{updateTime}
|
||||
</if>
|
||||
</set>
|
||||
</sql>
|
||||
|
||||
<update id="updateById" parameterType="OrderDO">
|
||||
UPDATE `orders`
|
||||
<include refid="updateFieldSql" />
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateByIdAndStatus">
|
||||
UPDATE `orders`
|
||||
<set>
|
||||
<if test="updateObj.payAmount != null">
|
||||
, pay_amount = #{updateObj.payAmount}
|
||||
</if>
|
||||
<if test="updateObj.paymentTime != null">
|
||||
, payment_time = #{updateObj.paymentTime}
|
||||
</if>
|
||||
<if test="updateObj.status != null">
|
||||
, status = #{updateObj.status}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
AND status = #{status}
|
||||
</update>
|
||||
|
||||
<select id="selectById" resultType="cn.iocoder.mall.order.biz.dataobject.OrderDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM `orders`
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
|
||||
<sql id="selectWhere">
|
||||
<if test="status != null">
|
||||
AND `status` = #{status}
|
||||
</if>
|
||||
<if test="userId != null">
|
||||
AND `user_id` = #{userId}
|
||||
</if>
|
||||
<if test="id != null">
|
||||
AND `id` = #{id}
|
||||
</if>
|
||||
<if test="orderNo != null">
|
||||
AND `order_no` = #{orderNo}
|
||||
</if>
|
||||
<if test="hasReturnExchange != null">
|
||||
AND `has_return_exchange` = #{hasReturnExchange}
|
||||
</if>
|
||||
<if test="startCreateTime != null and endCreateTime != null">
|
||||
AND `create_time` >= #{startCreateTime}
|
||||
AND `create_time` <= #{endCreateTime}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<select id="selectPageCount" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM `orders`
|
||||
<where>
|
||||
<include refid="selectWhere" />
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectPage" resultType="cn.iocoder.mall.order.biz.dataobject.OrderDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM `orders`
|
||||
<where>
|
||||
<include refid="selectWhere" />
|
||||
</where>
|
||||
LIMIT ${pageNo * pageSize}, ${pageSize}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.order.biz.dao.OrderRecipientMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, order_id, `area_no`, `name`, mobile, address, `type`,
|
||||
create_time, update_time
|
||||
</sql>
|
||||
|
||||
<!--
|
||||
插入数据
|
||||
-->
|
||||
<insert id="insert" parameterType="OrderRecipientDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO `order_recipient` (
|
||||
order_id, `area_no`, `name`, mobile, address,
|
||||
`type`, create_time, update_time
|
||||
) VALUES (
|
||||
#{orderId}, #{areaNo}, #{name}, #{mobile}, #{address},
|
||||
#{type}, #{createTime,jdbcType=TIMESTAMP} , #{updateTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!--
|
||||
查询 - 根据 orderId
|
||||
-->
|
||||
<select id="selectByOrderId" resultType="cn.iocoder.mall.order.biz.dataobject.OrderRecipientDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM `order_recipient`
|
||||
WHERE order_id = #{orderId}
|
||||
</select>
|
||||
|
||||
<!--
|
||||
查询 - 根据 orderIds
|
||||
-->
|
||||
<select id="selectByOrderIds" resultType="cn.iocoder.mall.order.biz.dataobject.OrderRecipientDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM `order_recipient`
|
||||
WHERE order_id IN
|
||||
<foreach collection="orderIds" item="orderId" separator="," open="(" close=")">
|
||||
#{orderId}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,165 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.order.biz.dao.OrderReturnMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id,
|
||||
service_number,
|
||||
order_id,
|
||||
order_no,
|
||||
order_logistics_id,
|
||||
refund_price,
|
||||
reason,
|
||||
`describe`,
|
||||
approval_time,
|
||||
refuse_time,
|
||||
logistics_time,
|
||||
receiver_time,
|
||||
closing_time,
|
||||
service_type,
|
||||
status,
|
||||
create_time,
|
||||
update_time
|
||||
</sql>
|
||||
|
||||
<!--
|
||||
插入数据
|
||||
-->
|
||||
<insert id="insert" parameterType="OrderReturnDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO `order_return` (
|
||||
service_number, order_id, order_no, order_logistics_id,
|
||||
refund_price, reason, `describe`,
|
||||
approval_time, refuse_time, logistics_time, receiver_time, closing_time,
|
||||
service_type, status,
|
||||
create_time, update_time)
|
||||
VALUES (
|
||||
#{serviceNumber}, #{orderId}, #{orderNo}, #{orderLogisticsId},
|
||||
${refundPrice}, #{reason}, #{describe},
|
||||
#{approvalTime}, #{refuse_time}, #{logisticsTime}, #{receiverTime}, #{closingTime},
|
||||
#{serviceType}, #{status}, #{createTime}, #{updateTime})
|
||||
</insert>
|
||||
|
||||
<!--
|
||||
更新 - 可更新的字段
|
||||
-->
|
||||
<sql id="updateFieldSql">
|
||||
<set>
|
||||
<if test="orderLogisticsId != null">
|
||||
, order_logistics_id = #{orderLogisticsId}
|
||||
</if>
|
||||
<if test="refundPrice != null">
|
||||
, refund_price = #{refundPrice}
|
||||
</if>
|
||||
<if test="reason != null">
|
||||
, reason = #{reason}
|
||||
</if>
|
||||
<if test="describe != null">
|
||||
, `describe` = #{describe}
|
||||
</if>
|
||||
<if test="approvalTime != null">
|
||||
, approval_time = #{approvalTime}
|
||||
</if>
|
||||
<if test="refuseTime != null">
|
||||
, refuse_time = #{refuseTime}
|
||||
</if>
|
||||
<if test="logisticsTime != null">
|
||||
, logistics_time = #{logisticsTime}
|
||||
</if>
|
||||
<if test="receiverTime != null">
|
||||
, receiver_time = #{receiverTime}
|
||||
</if>
|
||||
<if test="closingTime != null">
|
||||
, closing_time = #{closingTime}
|
||||
</if>
|
||||
<if test="serviceType != null">
|
||||
, service_type = #{serviceType}
|
||||
</if>
|
||||
<if test="status != null">
|
||||
, status = #{status}
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
, create_time = #{createTime}
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
, update_time = #{updateTime}
|
||||
</if>
|
||||
</set>
|
||||
</sql>
|
||||
|
||||
<!--
|
||||
更新 - 根据 id 更新
|
||||
-->
|
||||
<update id="updateById" parameterType="OrderReturnDO">
|
||||
UPDATE `order_return`
|
||||
<include refid="updateFieldSql"/>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<!--
|
||||
查询 - 根据id 查询
|
||||
-->
|
||||
<select id="selectByOrderId" resultType="cn.iocoder.mall.order.biz.dataobject.OrderReturnDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM `order_return`
|
||||
WHERE order_id = #{orderId}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!--
|
||||
列表查询 - where
|
||||
-->
|
||||
<sql id="selectListWhere">
|
||||
<if test="status != null">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="serviceNumber != null">
|
||||
AND service_number = #{serviceNumber}
|
||||
</if>
|
||||
<if test="orderId != null">
|
||||
AND order_id = #{orderId}
|
||||
</if>
|
||||
<if test="orderId != null">
|
||||
AND order_no = #{orderNo}
|
||||
</if>
|
||||
<if test="startCreateTime != null and endCreateTime != null">
|
||||
AND create_time >= #{startCreateTime}
|
||||
AND create_time <= #{endCreateTime}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!--
|
||||
列表查询 - count
|
||||
-->
|
||||
<select id="selectListCount" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM `order_return`
|
||||
WHERE 1 = 1
|
||||
<include refid="selectListWhere" />
|
||||
</select>
|
||||
|
||||
|
||||
<!--
|
||||
列表查询 - queryDTO
|
||||
-->
|
||||
<select id="selectList" resultType="cn.iocoder.mall.order.biz.dataobject.OrderReturnDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM `order_return`
|
||||
WHERE 1 = 1
|
||||
<include refid="selectListWhere" />
|
||||
<bind name="limitIndex" value="pageSize * (index - 1)"/>
|
||||
LIMIT #{limitIndex}, #{pageSize}
|
||||
</select>
|
||||
|
||||
<!--
|
||||
查询 - 根据 id 查询
|
||||
-->
|
||||
<select id="selectById" resultType="cn.iocoder.mall.order.biz.dataobject.OrderReturnDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM `order_return`
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
</mapper>
|
|
@ -0,0 +1,14 @@
|
|||
registry {
|
||||
type = "file"
|
||||
|
||||
file {
|
||||
name = "file.conf"
|
||||
}
|
||||
|
||||
zk {
|
||||
cluster = "default"
|
||||
serverAddr = "192.168.88.10:2181"
|
||||
session.timeout = 6000
|
||||
connect.timeout = 2000
|
||||
}
|
||||
}
|
|
@ -0,0 +1,121 @@
|
|||
DROP TABLE `order`;
|
||||
DROP TABLE `order_item`;
|
||||
DROP TABLE `order_exchange`;
|
||||
DROP TABLE `order_return`;
|
||||
DROP TABLE `order_logistics`;
|
||||
DROP TABLE `order_logistics_detail`;
|
||||
|
||||
CREATE TABLE `order` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT 'Id,自增长',
|
||||
`order_logistics_id` int NOT NULL COMMENT '物流id',
|
||||
`order_no` varchar(50) NOT NULL COMMENT '订单单号',
|
||||
`price` int(10) NULL COMMENT '金额(分)',
|
||||
`payment_time` datetime NULL COMMENT '付款时间',
|
||||
`delivery_time` datetime NULL COMMENT '发货时间',
|
||||
`receiver_time` datetime NULL COMMENT '收货时间',
|
||||
`closing_time` datetime NULL COMMENT '成交时间',
|
||||
`has_return_exchange` smallint NULL COMMENT '是否退换货',
|
||||
`remark` varchar(255) NULL COMMENT '备注',
|
||||
`status` smallint(2) NULL COMMENT '状态(如果有多个商品分开发货需要全部商品发完才会改变状态) 0、待付款 1、待发货 2、待收货 3、已完成 4、已关闭',
|
||||
`create_time` datetime NULL COMMENT '订单创建时间',
|
||||
`update_time` datetime NULL COMMENT '更新时间',
|
||||
`deleted` smallint NULL COMMENT '删除状态',
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
CREATE TABLE `order_item` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT 'id自增长',
|
||||
`order_id` int NOT NULL COMMENT '订单编号',
|
||||
`order_no` varchar(50) NOT NULL COMMENT '订单号',
|
||||
`sku_id` int NOT NULL COMMENT '商品编号',
|
||||
`quantity` int(3) NOT NULL COMMENT '商品数量',
|
||||
`price` int(255) NOT NULL COMMENT '金额',
|
||||
`payment_time` datetime NULL COMMENT '付款时间',
|
||||
`delivery_time` datetime NULL COMMENT '发货时间',
|
||||
`receiver_time` datetime NULL COMMENT '收货时间',
|
||||
`closing_time` datetime NULL,
|
||||
`has_return_exchange` int NULL COMMENT '是否退换货',
|
||||
`create_time` datetime NULL COMMENT '创建时间',
|
||||
`update_time` datetime NULL COMMENT '更新时间',
|
||||
`status` smallint(2) NOT NULL COMMENT '状态:0、代发货 1、已发货 2、已收货 20、换货中 21、换货成功 40、退货中 41、已退货',
|
||||
`delete` smallint(2) NOT NULL COMMENT '删除状态',
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
|
||||
CREATE TABLE `order_exchange` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`order_id` int(11) NOT NULL,
|
||||
`order_no` varchar(50) NOT NULL,
|
||||
`sku_id` int(11) NOT NULL,
|
||||
`exchange_sku_id` int(11) NOT NULL COMMENT '换货商品id',
|
||||
`exchange_order_logistics_id` int(11) NOT NULL COMMENT '换货物流id',
|
||||
`receiver_order_logistics_id` int(11) NOT NULL COMMENT '收件地址',
|
||||
`order_reason_id` int(11) NULL COMMENT '换货原因',
|
||||
`reason` varchar(255) NULL COMMENT '换货原因 (其他的时候)',
|
||||
`payment_time` datetime NULL COMMENT '付款时间',
|
||||
`delivery_time` datetime NULL COMMENT '发货时间',
|
||||
`receiver_time` datetime NULL COMMENT '收货时间',
|
||||
`closing_time` datetime NULL COMMENT '成交时间',
|
||||
`create_time` datetime NULL COMMENT '创建时间',
|
||||
`update_time` datetime NULL COMMENT '更新时间',
|
||||
`delete` smallint(2) NULL COMMENT '删除状态',
|
||||
`order_type` int(2) NULL COMMENT '订单类型 0、为 Order 订单 1、为 OrderItem 订单',
|
||||
`status` int(2) NULL COMMENT '状态 申请换货、申请成功、申请失败、换货中、换货成功',
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE `order_return` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT 'id自增长',
|
||||
`order_id` int NOT NULL COMMENT '订单编号',
|
||||
`order_no` varchar(50) NOT NULL COMMENT '订单号',
|
||||
`sku_id` int NOT NULL COMMENT '商品编号',
|
||||
`order_item_id` int(11) NOT NULL COMMENT '订单item id',
|
||||
`order_logistics_id` int(11) NOT NULL COMMENT '物流 id',
|
||||
|
||||
`order_reason_id` int(11) NULL COMMENT '退货原因',
|
||||
`reason` varchar(255) NULL COMMENT '换货原因 (其他的时候)',
|
||||
`create_time` datetime NULL COMMENT '创建时间',
|
||||
`approval_time` datetime NULL COMMENT '同意时间',
|
||||
`logistics_time` datetime NULL COMMENT '物流时间(填写物流单号时间)',
|
||||
`receiver_time` datetime NULL COMMENT '收货时间',
|
||||
`closing_time` datetime NULL COMMENT '成交时间',
|
||||
`order_type` int(2) NULL COMMENT '订单类型 0、为 Order 订单 1、为 OrderItem 订单',
|
||||
|
||||
`update_time` datetime NULL COMMENT '更新时间',
|
||||
`delete` smallint(2) NULL COMMENT '删除状态',
|
||||
`status` int(2) NULL COMMENT '状态 申请换货、申请成功、申请失败、退货中、退货成功',
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE `order_logistics` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT 'id自增长',
|
||||
`area_no` int NOT NULL COMMENT '订单编号',
|
||||
`name` VARCHAR(20) NOT NULL COMMENT '名称',
|
||||
`mobile` VARCHAR(20) NOT NULL COMMENT '手机号',
|
||||
`address` VARCHAR(255) NOT NULL COMMENT '详细地址',
|
||||
`logistics_no` VARCHAR(20) NOT NULL COMMENT '物流单号',
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE `order_logistics_detail` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT 'id自增长',
|
||||
`order_logistics_id` int NOT NULL COMMENT '物流编号',
|
||||
`logistics_time` datetime NOT NULL COMMENT '物流时间',
|
||||
`logistics_information` VARCHAR(20) NOT NULL COMMENT '物流信息',
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
package cn.iocoder.mall.order.biz.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.bo.CalcOrderPriceBO.Item;
|
||||
import cn.iocoder.mall.order.api.bo.CartItemBO;
|
||||
import cn.iocoder.mall.order.biz.dataobject.CartItemDO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrAndValuePairBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductSkuDetailBO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:07+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class CartConvertImpl implements CartConvert {
|
||||
|
||||
@Override
|
||||
public Item convert(ProductSkuDetailBO sku) {
|
||||
if ( sku == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Item item = new Item();
|
||||
|
||||
item.setId( sku.getId() );
|
||||
item.setSpu( sku.getSpu() );
|
||||
item.setPicURL( sku.getPicURL() );
|
||||
List<ProductAttrAndValuePairBO> list = sku.getAttrs();
|
||||
if ( list != null ) {
|
||||
item.setAttrs( new ArrayList<ProductAttrAndValuePairBO>( list ) );
|
||||
}
|
||||
item.setPrice( sku.getPrice() );
|
||||
item.setQuantity( sku.getQuantity() );
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CartItemBO> convert(List<CartItemDO> items) {
|
||||
if ( items == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<CartItemBO> list = new ArrayList<CartItemBO>( items.size() );
|
||||
for ( CartItemDO cartItemDO : items ) {
|
||||
list.add( cartItemDOToCartItemBO( cartItemDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
protected CartItemBO cartItemDOToCartItemBO(CartItemDO cartItemDO) {
|
||||
if ( cartItemDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
CartItemBO cartItemBO = new CartItemBO();
|
||||
|
||||
cartItemBO.setId( cartItemDO.getId() );
|
||||
cartItemBO.setStatus( cartItemDO.getStatus() );
|
||||
cartItemBO.setSelected( cartItemDO.getSelected() );
|
||||
cartItemBO.setUserId( cartItemDO.getUserId() );
|
||||
cartItemBO.setSpuId( cartItemDO.getSpuId() );
|
||||
cartItemBO.setSkuId( cartItemDO.getSkuId() );
|
||||
cartItemBO.setQuantity( cartItemDO.getQuantity() );
|
||||
cartItemBO.setOrderId( cartItemDO.getOrderId() );
|
||||
cartItemBO.setOrderCreateTime( cartItemDO.getOrderCreateTime() );
|
||||
cartItemBO.setCreateTime( cartItemDO.getCreateTime() );
|
||||
|
||||
return cartItemBO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,92 @@
|
|||
package cn.iocoder.mall.order.biz.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.bo.OrderCommentCreateBO;
|
||||
import cn.iocoder.mall.order.api.bo.OrderCommentPageBO.OrderCommentItem;
|
||||
import cn.iocoder.mall.order.api.dto.OrderCommentCreateDTO;
|
||||
import cn.iocoder.mall.order.biz.dataobject.OrderCommentDO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-31T18:14:19+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class OrderCommentConvertImpl implements OrderCommentConvert {
|
||||
|
||||
@Override
|
||||
public OrderCommentDO convert(OrderCommentCreateDTO orderCommentCreateDTO) {
|
||||
if ( orderCommentCreateDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderCommentDO orderCommentDO = new OrderCommentDO();
|
||||
|
||||
orderCommentDO.setOrderId( orderCommentCreateDTO.getOrderId() );
|
||||
orderCommentDO.setOrderNo( orderCommentCreateDTO.getOrderNo() );
|
||||
orderCommentDO.setProductSpuId( orderCommentCreateDTO.getProductSpuId() );
|
||||
orderCommentDO.setProductSpuName( orderCommentCreateDTO.getProductSpuName() );
|
||||
orderCommentDO.setProductSkuId( orderCommentCreateDTO.getProductSkuId() );
|
||||
orderCommentDO.setProductSkuAttrs( orderCommentCreateDTO.getProductSkuAttrs() );
|
||||
orderCommentDO.setProductSkuPrice( orderCommentCreateDTO.getProductSkuPrice() );
|
||||
orderCommentDO.setProductSkuPicUrl( orderCommentCreateDTO.getProductSkuPicUrl() );
|
||||
orderCommentDO.setUserId( orderCommentCreateDTO.getUserId() );
|
||||
orderCommentDO.setUserAvatar( orderCommentCreateDTO.getUserAvatar() );
|
||||
orderCommentDO.setUserNickName( orderCommentCreateDTO.getUserNickName() );
|
||||
orderCommentDO.setStar( orderCommentCreateDTO.getStar() );
|
||||
orderCommentDO.setProductDescriptionStar( orderCommentCreateDTO.getProductDescriptionStar() );
|
||||
orderCommentDO.setLogisticsStar( orderCommentCreateDTO.getLogisticsStar() );
|
||||
orderCommentDO.setMerchantStar( orderCommentCreateDTO.getMerchantStar() );
|
||||
orderCommentDO.setCommentContent( orderCommentCreateDTO.getCommentContent() );
|
||||
orderCommentDO.setCommentPics( orderCommentCreateDTO.getCommentPics() );
|
||||
|
||||
return orderCommentDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderCommentCreateBO convert(OrderCommentDO orderCommentDO) {
|
||||
if ( orderCommentDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderCommentCreateBO orderCommentCreateBO = new OrderCommentCreateBO();
|
||||
|
||||
orderCommentCreateBO.setId( orderCommentDO.getId() );
|
||||
|
||||
return orderCommentCreateBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderCommentItem> convert(List<OrderCommentDO> orderCommentDOList) {
|
||||
if ( orderCommentDOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<OrderCommentItem> list = new ArrayList<OrderCommentItem>( orderCommentDOList.size() );
|
||||
for ( OrderCommentDO orderCommentDO : orderCommentDOList ) {
|
||||
list.add( orderCommentDOToOrderCommentItem( orderCommentDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
protected OrderCommentItem orderCommentDOToOrderCommentItem(OrderCommentDO orderCommentDO) {
|
||||
if ( orderCommentDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderCommentItem orderCommentItem = new OrderCommentItem();
|
||||
|
||||
orderCommentItem.setId( orderCommentDO.getId() );
|
||||
orderCommentItem.setUserAvatar( orderCommentDO.getUserAvatar() );
|
||||
orderCommentItem.setUserNickName( orderCommentDO.getUserNickName() );
|
||||
orderCommentItem.setStar( orderCommentDO.getStar() );
|
||||
orderCommentItem.setCommentContent( orderCommentDO.getCommentContent() );
|
||||
orderCommentItem.setCommentPics( orderCommentDO.getCommentPics() );
|
||||
orderCommentItem.setReplayCount( orderCommentDO.getReplayCount() );
|
||||
orderCommentItem.setCreateTime( orderCommentDO.getCreateTime() );
|
||||
|
||||
return orderCommentItem;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
package cn.iocoder.mall.order.biz.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.bo.OrderBO;
|
||||
import cn.iocoder.mall.order.api.bo.OrderInfoBO;
|
||||
import cn.iocoder.mall.order.biz.dataobject.OrderDO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:07+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class OrderConvertImpl implements OrderConvert {
|
||||
|
||||
@Override
|
||||
public List<OrderBO> convertPageBO(List<OrderDO> orderDOList) {
|
||||
if ( orderDOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<OrderBO> list = new ArrayList<OrderBO>( orderDOList.size() );
|
||||
for ( OrderDO orderDO : orderDOList ) {
|
||||
list.add( orderDOToOrderBO( orderDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderInfoBO convert(OrderDO orderDO) {
|
||||
if ( orderDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderInfoBO orderInfoBO = new OrderInfoBO();
|
||||
|
||||
orderInfoBO.setId( orderDO.getId() );
|
||||
orderInfoBO.setOrderNo( orderDO.getOrderNo() );
|
||||
orderInfoBO.setBuyPrice( orderDO.getBuyPrice() );
|
||||
orderInfoBO.setDiscountPrice( orderDO.getDiscountPrice() );
|
||||
orderInfoBO.setLogisticsPrice( orderDO.getLogisticsPrice() );
|
||||
orderInfoBO.setPresentPrice( orderDO.getPresentPrice() );
|
||||
orderInfoBO.setPayAmount( orderDO.getPayAmount() );
|
||||
orderInfoBO.setPaymentTime( orderDO.getPaymentTime() );
|
||||
orderInfoBO.setDeliveryTime( orderDO.getDeliveryTime() );
|
||||
orderInfoBO.setReceiverTime( orderDO.getReceiverTime() );
|
||||
orderInfoBO.setClosingTime( orderDO.getClosingTime() );
|
||||
orderInfoBO.setHasReturnExchange( orderDO.getHasReturnExchange() );
|
||||
orderInfoBO.setStatus( orderDO.getStatus() );
|
||||
orderInfoBO.setRemark( orderDO.getRemark() );
|
||||
|
||||
return orderInfoBO;
|
||||
}
|
||||
|
||||
protected OrderBO orderDOToOrderBO(OrderDO orderDO) {
|
||||
if ( orderDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderBO orderBO = new OrderBO();
|
||||
|
||||
orderBO.setId( orderDO.getId() );
|
||||
orderBO.setUserId( orderDO.getUserId() );
|
||||
orderBO.setOrderNo( orderDO.getOrderNo() );
|
||||
orderBO.setBuyPrice( orderDO.getBuyPrice() );
|
||||
orderBO.setDiscountPrice( orderDO.getDiscountPrice() );
|
||||
orderBO.setLogisticsPrice( orderDO.getLogisticsPrice() );
|
||||
orderBO.setPresentPrice( orderDO.getPresentPrice() );
|
||||
orderBO.setPayAmount( orderDO.getPayAmount() );
|
||||
orderBO.setPaymentTime( orderDO.getPaymentTime() );
|
||||
orderBO.setDeliveryTime( orderDO.getDeliveryTime() );
|
||||
orderBO.setReceiverTime( orderDO.getReceiverTime() );
|
||||
orderBO.setClosingTime( orderDO.getClosingTime() );
|
||||
orderBO.setHasReturnExchange( orderDO.getHasReturnExchange() );
|
||||
orderBO.setStatus( orderDO.getStatus() );
|
||||
orderBO.setRemark( orderDO.getRemark() );
|
||||
|
||||
return orderBO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,156 @@
|
|||
package cn.iocoder.mall.order.biz.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.bo.OrderItemBO;
|
||||
import cn.iocoder.mall.order.api.dto.OrderCreateDTO.OrderItem;
|
||||
import cn.iocoder.mall.order.api.dto.OrderItemUpdateDTO;
|
||||
import cn.iocoder.mall.order.biz.dataobject.OrderItemDO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:07+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class OrderItemConvertImpl implements OrderItemConvert {
|
||||
|
||||
@Override
|
||||
public OrderItemDO convert(OrderItemUpdateDTO orderItemUpdateDTO) {
|
||||
if ( orderItemUpdateDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderItemDO orderItemDO = new OrderItemDO();
|
||||
|
||||
orderItemDO.setId( orderItemUpdateDTO.getId() );
|
||||
orderItemDO.setSkuId( orderItemUpdateDTO.getSkuId() );
|
||||
orderItemDO.setQuantity( orderItemUpdateDTO.getQuantity() );
|
||||
|
||||
return orderItemDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderItemBO> convertOrderItemBO(List<OrderItemDO> orderItemDOList) {
|
||||
if ( orderItemDOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<OrderItemBO> list = new ArrayList<OrderItemBO>( orderItemDOList.size() );
|
||||
for ( OrderItemDO orderItemDO : orderItemDOList ) {
|
||||
list.add( orderItemDOToOrderItemBO( orderItemDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderItemDO> convert(List<OrderItem> orderCreateItemDTOList) {
|
||||
if ( orderCreateItemDTOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<OrderItemDO> list = new ArrayList<OrderItemDO>( orderCreateItemDTOList.size() );
|
||||
for ( OrderItem orderItem : orderCreateItemDTOList ) {
|
||||
list.add( orderItemToOrderItemDO( orderItem ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderItemBO> convertOrderItemDO(List<OrderItemDO> orderItemDOList) {
|
||||
if ( orderItemDOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<OrderItemBO> list = new ArrayList<OrderItemBO>( orderItemDOList.size() );
|
||||
for ( OrderItemDO orderItemDO : orderItemDOList ) {
|
||||
list.add( orderItemDOToOrderItemBO( orderItemDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<cn.iocoder.mall.order.api.bo.OrderInfoBO.OrderItem> convertOrderInfoWithOrderItem(List<OrderItemDO> orderItemDOList) {
|
||||
if ( orderItemDOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<cn.iocoder.mall.order.api.bo.OrderInfoBO.OrderItem> list = new ArrayList<cn.iocoder.mall.order.api.bo.OrderInfoBO.OrderItem>( orderItemDOList.size() );
|
||||
for ( OrderItemDO orderItemDO : orderItemDOList ) {
|
||||
list.add( orderItemDOToOrderItem( orderItemDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
protected OrderItemBO orderItemDOToOrderItemBO(OrderItemDO orderItemDO) {
|
||||
if ( orderItemDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderItemBO orderItemBO = new OrderItemBO();
|
||||
|
||||
orderItemBO.setId( orderItemDO.getId() );
|
||||
orderItemBO.setOrderId( orderItemDO.getOrderId() );
|
||||
orderItemBO.setOrderNo( orderItemDO.getOrderNo() );
|
||||
orderItemBO.setSkuId( orderItemDO.getSkuId() );
|
||||
orderItemBO.setSkuName( orderItemDO.getSkuName() );
|
||||
orderItemBO.setSkuImage( orderItemDO.getSkuImage() );
|
||||
orderItemBO.setQuantity( orderItemDO.getQuantity() );
|
||||
orderItemBO.setOriginPrice( orderItemDO.getOriginPrice() );
|
||||
orderItemBO.setBuyPrice( orderItemDO.getBuyPrice() );
|
||||
orderItemBO.setPresentPrice( orderItemDO.getPresentPrice() );
|
||||
orderItemBO.setBuyTotal( orderItemDO.getBuyTotal() );
|
||||
orderItemBO.setDiscountTotal( orderItemDO.getDiscountTotal() );
|
||||
orderItemBO.setPresentTotal( orderItemDO.getPresentTotal() );
|
||||
orderItemBO.setPaymentTime( orderItemDO.getPaymentTime() );
|
||||
orderItemBO.setDeliveryTime( orderItemDO.getDeliveryTime() );
|
||||
orderItemBO.setReceiverTime( orderItemDO.getReceiverTime() );
|
||||
orderItemBO.setClosingTime( orderItemDO.getClosingTime() );
|
||||
orderItemBO.setHasReturnExchange( orderItemDO.getHasReturnExchange() );
|
||||
orderItemBO.setDeliveryType( orderItemDO.getDeliveryType() );
|
||||
orderItemBO.setStatus( orderItemDO.getStatus() );
|
||||
orderItemBO.setCreateTime( orderItemDO.getCreateTime() );
|
||||
orderItemBO.setUpdateTime( orderItemDO.getUpdateTime() );
|
||||
orderItemBO.setDeleted( orderItemDO.getDeleted() );
|
||||
|
||||
return orderItemBO;
|
||||
}
|
||||
|
||||
protected OrderItemDO orderItemToOrderItemDO(OrderItem orderItem) {
|
||||
if ( orderItem == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderItemDO orderItemDO = new OrderItemDO();
|
||||
|
||||
orderItemDO.setSkuId( orderItem.getSkuId() );
|
||||
orderItemDO.setQuantity( orderItem.getQuantity() );
|
||||
|
||||
return orderItemDO;
|
||||
}
|
||||
|
||||
protected cn.iocoder.mall.order.api.bo.OrderInfoBO.OrderItem orderItemDOToOrderItem(OrderItemDO orderItemDO) {
|
||||
if ( orderItemDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
cn.iocoder.mall.order.api.bo.OrderInfoBO.OrderItem orderItem = new cn.iocoder.mall.order.api.bo.OrderInfoBO.OrderItem();
|
||||
|
||||
orderItem.setSkuId( orderItemDO.getSkuId() );
|
||||
orderItem.setSkuName( orderItemDO.getSkuName() );
|
||||
orderItem.setSkuImage( orderItemDO.getSkuImage() );
|
||||
orderItem.setQuantity( orderItemDO.getQuantity() );
|
||||
orderItem.setOriginPrice( orderItemDO.getOriginPrice() );
|
||||
orderItem.setBuyPrice( orderItemDO.getBuyPrice() );
|
||||
orderItem.setPresentPrice( orderItemDO.getPresentPrice() );
|
||||
orderItem.setBuyTotal( orderItemDO.getBuyTotal() );
|
||||
orderItem.setDiscountTotal( orderItemDO.getDiscountTotal() );
|
||||
orderItem.setPresentTotal( orderItemDO.getPresentTotal() );
|
||||
|
||||
return orderItem;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,217 @@
|
|||
package cn.iocoder.mall.order.biz.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.bo.OrderLastLogisticsInfoBO;
|
||||
import cn.iocoder.mall.order.api.bo.OrderLogisticsInfoBO;
|
||||
import cn.iocoder.mall.order.api.bo.OrderLogisticsInfoWithOrderBO.Logistics;
|
||||
import cn.iocoder.mall.order.api.bo.OrderLogisticsInfoWithOrderBO.LogisticsDetail;
|
||||
import cn.iocoder.mall.order.api.dto.OrderDeliveryDTO;
|
||||
import cn.iocoder.mall.order.api.dto.OrderLogisticsUpdateDTO;
|
||||
import cn.iocoder.mall.order.biz.dataobject.OrderLogisticsDO;
|
||||
import cn.iocoder.mall.order.biz.dataobject.OrderLogisticsDetailDO;
|
||||
import cn.iocoder.mall.order.biz.dataobject.OrderRecipientDO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:07+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class OrderLogisticsConvertImpl implements OrderLogisticsConvert {
|
||||
|
||||
@Override
|
||||
public OrderLogisticsDO convert(OrderDeliveryDTO orderDelivery) {
|
||||
if ( orderDelivery == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderLogisticsDO orderLogisticsDO = new OrderLogisticsDO();
|
||||
|
||||
orderLogisticsDO.setLogistics( orderDelivery.getLogistics() );
|
||||
orderLogisticsDO.setLogisticsNo( orderDelivery.getLogisticsNo() );
|
||||
|
||||
return orderLogisticsDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderLogisticsDO convert(OrderLogisticsUpdateDTO orderLogisticsDTO) {
|
||||
if ( orderLogisticsDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderLogisticsDO orderLogisticsDO = new OrderLogisticsDO();
|
||||
|
||||
orderLogisticsDO.setId( orderLogisticsDTO.getId() );
|
||||
orderLogisticsDO.setAreaNo( orderLogisticsDTO.getAreaNo() );
|
||||
orderLogisticsDO.setName( orderLogisticsDTO.getName() );
|
||||
orderLogisticsDO.setMobile( orderLogisticsDTO.getMobile() );
|
||||
orderLogisticsDO.setAddress( orderLogisticsDTO.getAddress() );
|
||||
orderLogisticsDO.setLogisticsNo( orderLogisticsDTO.getLogisticsNo() );
|
||||
|
||||
return orderLogisticsDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderLogisticsDO convert(OrderRecipientDO orderRecipientDO) {
|
||||
if ( orderRecipientDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderLogisticsDO orderLogisticsDO = new OrderLogisticsDO();
|
||||
|
||||
orderLogisticsDO.setCreateTime( orderRecipientDO.getCreateTime() );
|
||||
orderLogisticsDO.setUpdateTime( orderRecipientDO.getUpdateTime() );
|
||||
orderLogisticsDO.setId( orderRecipientDO.getId() );
|
||||
orderLogisticsDO.setAreaNo( orderRecipientDO.getAreaNo() );
|
||||
orderLogisticsDO.setName( orderRecipientDO.getName() );
|
||||
orderLogisticsDO.setMobile( orderRecipientDO.getMobile() );
|
||||
orderLogisticsDO.setAddress( orderRecipientDO.getAddress() );
|
||||
|
||||
return orderLogisticsDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Logistics> convertLogistics(List<OrderLogisticsDO> orderLogisticsDOList) {
|
||||
if ( orderLogisticsDOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<Logistics> list = new ArrayList<Logistics>( orderLogisticsDOList.size() );
|
||||
for ( OrderLogisticsDO orderLogisticsDO : orderLogisticsDOList ) {
|
||||
list.add( orderLogisticsDOToLogistics( orderLogisticsDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LogisticsDetail> convertLogisticsDetail(List<OrderLogisticsDetailDO> orderLogisticsDOList) {
|
||||
if ( orderLogisticsDOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<LogisticsDetail> list = new ArrayList<LogisticsDetail>( orderLogisticsDOList.size() );
|
||||
for ( OrderLogisticsDetailDO orderLogisticsDetailDO : orderLogisticsDOList ) {
|
||||
list.add( orderLogisticsDetailDOToLogisticsDetail( orderLogisticsDetailDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderLogisticsInfoBO convert(OrderLogisticsDO orderLogisticsDO) {
|
||||
if ( orderLogisticsDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderLogisticsInfoBO orderLogisticsInfoBO = new OrderLogisticsInfoBO();
|
||||
|
||||
orderLogisticsInfoBO.setId( orderLogisticsDO.getId() );
|
||||
orderLogisticsInfoBO.setAreaNo( orderLogisticsDO.getAreaNo() );
|
||||
orderLogisticsInfoBO.setName( orderLogisticsDO.getName() );
|
||||
orderLogisticsInfoBO.setMobile( orderLogisticsDO.getMobile() );
|
||||
orderLogisticsInfoBO.setAddress( orderLogisticsDO.getAddress() );
|
||||
orderLogisticsInfoBO.setLogistics( orderLogisticsDO.getLogistics() );
|
||||
orderLogisticsInfoBO.setLogisticsNo( orderLogisticsDO.getLogisticsNo() );
|
||||
|
||||
return orderLogisticsInfoBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<cn.iocoder.mall.order.api.bo.OrderLogisticsInfoBO.LogisticsDetail> convert(List<OrderLogisticsDetailDO> orderLogisticsDetailDOList) {
|
||||
if ( orderLogisticsDetailDOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<cn.iocoder.mall.order.api.bo.OrderLogisticsInfoBO.LogisticsDetail> list = new ArrayList<cn.iocoder.mall.order.api.bo.OrderLogisticsInfoBO.LogisticsDetail>( orderLogisticsDetailDOList.size() );
|
||||
for ( OrderLogisticsDetailDO orderLogisticsDetailDO : orderLogisticsDetailDOList ) {
|
||||
list.add( orderLogisticsDetailDOToLogisticsDetail1( orderLogisticsDetailDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderLastLogisticsInfoBO convertOrderLastLogisticsInfoBO(OrderLogisticsDO orderLogisticsDO) {
|
||||
if ( orderLogisticsDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderLastLogisticsInfoBO orderLastLogisticsInfoBO = new OrderLastLogisticsInfoBO();
|
||||
|
||||
orderLastLogisticsInfoBO.setId( orderLogisticsDO.getId() );
|
||||
orderLastLogisticsInfoBO.setAreaNo( orderLogisticsDO.getAreaNo() );
|
||||
orderLastLogisticsInfoBO.setName( orderLogisticsDO.getName() );
|
||||
orderLastLogisticsInfoBO.setMobile( orderLogisticsDO.getMobile() );
|
||||
orderLastLogisticsInfoBO.setAddress( orderLogisticsDO.getAddress() );
|
||||
orderLastLogisticsInfoBO.setLogistics( orderLogisticsDO.getLogistics() );
|
||||
orderLastLogisticsInfoBO.setLogisticsNo( orderLogisticsDO.getLogisticsNo() );
|
||||
|
||||
return orderLastLogisticsInfoBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public cn.iocoder.mall.order.api.bo.OrderLastLogisticsInfoBO.LogisticsDetail convertLastLogisticsDetail(OrderLogisticsDetailDO orderLogisticsDetailDO) {
|
||||
if ( orderLogisticsDetailDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
cn.iocoder.mall.order.api.bo.OrderLastLogisticsInfoBO.LogisticsDetail logisticsDetail = new cn.iocoder.mall.order.api.bo.OrderLastLogisticsInfoBO.LogisticsDetail();
|
||||
|
||||
logisticsDetail.setId( orderLogisticsDetailDO.getId() );
|
||||
logisticsDetail.setOrderLogisticsId( orderLogisticsDetailDO.getOrderLogisticsId() );
|
||||
logisticsDetail.setLogisticsTime( orderLogisticsDetailDO.getLogisticsTime() );
|
||||
logisticsDetail.setLogisticsInformation( orderLogisticsDetailDO.getLogisticsInformation() );
|
||||
|
||||
return logisticsDetail;
|
||||
}
|
||||
|
||||
protected Logistics orderLogisticsDOToLogistics(OrderLogisticsDO orderLogisticsDO) {
|
||||
if ( orderLogisticsDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Logistics logistics = new Logistics();
|
||||
|
||||
logistics.setId( orderLogisticsDO.getId() );
|
||||
logistics.setAreaNo( orderLogisticsDO.getAreaNo() );
|
||||
logistics.setName( orderLogisticsDO.getName() );
|
||||
logistics.setMobile( orderLogisticsDO.getMobile() );
|
||||
logistics.setAddress( orderLogisticsDO.getAddress() );
|
||||
logistics.setLogistics( orderLogisticsDO.getLogistics() );
|
||||
logistics.setLogisticsNo( orderLogisticsDO.getLogisticsNo() );
|
||||
|
||||
return logistics;
|
||||
}
|
||||
|
||||
protected LogisticsDetail orderLogisticsDetailDOToLogisticsDetail(OrderLogisticsDetailDO orderLogisticsDetailDO) {
|
||||
if ( orderLogisticsDetailDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
LogisticsDetail logisticsDetail = new LogisticsDetail();
|
||||
|
||||
logisticsDetail.setId( orderLogisticsDetailDO.getId() );
|
||||
logisticsDetail.setOrderLogisticsId( orderLogisticsDetailDO.getOrderLogisticsId() );
|
||||
logisticsDetail.setLogisticsTime( orderLogisticsDetailDO.getLogisticsTime() );
|
||||
logisticsDetail.setLogisticsInformation( orderLogisticsDetailDO.getLogisticsInformation() );
|
||||
|
||||
return logisticsDetail;
|
||||
}
|
||||
|
||||
protected cn.iocoder.mall.order.api.bo.OrderLogisticsInfoBO.LogisticsDetail orderLogisticsDetailDOToLogisticsDetail1(OrderLogisticsDetailDO orderLogisticsDetailDO) {
|
||||
if ( orderLogisticsDetailDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
cn.iocoder.mall.order.api.bo.OrderLogisticsInfoBO.LogisticsDetail logisticsDetail = new cn.iocoder.mall.order.api.bo.OrderLogisticsInfoBO.LogisticsDetail();
|
||||
|
||||
logisticsDetail.setId( orderLogisticsDetailDO.getId() );
|
||||
logisticsDetail.setOrderLogisticsId( orderLogisticsDetailDO.getOrderLogisticsId() );
|
||||
logisticsDetail.setLogisticsTime( orderLogisticsDetailDO.getLogisticsTime() );
|
||||
logisticsDetail.setLogisticsInformation( orderLogisticsDetailDO.getLogisticsInformation() );
|
||||
|
||||
return logisticsDetail;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
package cn.iocoder.mall.order.biz.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.bo.OrderInfoBO.LogisticsDetail;
|
||||
import cn.iocoder.mall.order.biz.dataobject.OrderLogisticsDetailDO;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:07+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class OrderLogisticsDetailConvertImpl implements OrderLogisticsDetailConvert {
|
||||
|
||||
@Override
|
||||
public LogisticsDetail convertLogisticsDetail(OrderLogisticsDetailDO orderLogisticsDetailDO) {
|
||||
if ( orderLogisticsDetailDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
LogisticsDetail logisticsDetail = new LogisticsDetail();
|
||||
|
||||
logisticsDetail.setId( orderLogisticsDetailDO.getId() );
|
||||
logisticsDetail.setOrderLogisticsId( orderLogisticsDetailDO.getOrderLogisticsId() );
|
||||
logisticsDetail.setLogisticsTime( orderLogisticsDetailDO.getLogisticsTime() );
|
||||
logisticsDetail.setLogisticsInformation( orderLogisticsDetailDO.getLogisticsInformation() );
|
||||
|
||||
return logisticsDetail;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,100 @@
|
|||
package cn.iocoder.mall.order.biz.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.bo.OrderInfoBO.Recipient;
|
||||
import cn.iocoder.mall.order.api.bo.OrderRecipientBO;
|
||||
import cn.iocoder.mall.order.api.dto.OrderCreateDTO;
|
||||
import cn.iocoder.mall.order.biz.dataobject.OrderRecipientDO;
|
||||
import cn.iocoder.mall.user.api.bo.UserAddressBO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:07+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class OrderRecipientConvertImpl implements OrderRecipientConvert {
|
||||
|
||||
@Override
|
||||
public OrderRecipientDO convert(OrderCreateDTO orderCreateDTO) {
|
||||
if ( orderCreateDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderRecipientDO orderRecipientDO = new OrderRecipientDO();
|
||||
|
||||
return orderRecipientDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderRecipientDO convert(UserAddressBO userAddressBO) {
|
||||
if ( userAddressBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderRecipientDO orderRecipientDO = new OrderRecipientDO();
|
||||
|
||||
orderRecipientDO.setId( userAddressBO.getId() );
|
||||
orderRecipientDO.setAreaNo( userAddressBO.getAreaNo() );
|
||||
orderRecipientDO.setName( userAddressBO.getName() );
|
||||
orderRecipientDO.setMobile( userAddressBO.getMobile() );
|
||||
orderRecipientDO.setAddress( userAddressBO.getAddress() );
|
||||
|
||||
return orderRecipientDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderRecipientBO convert(OrderRecipientDO orderRecipientDO) {
|
||||
if ( orderRecipientDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderRecipientBO orderRecipientBO = new OrderRecipientBO();
|
||||
|
||||
orderRecipientBO.setCreateTime( orderRecipientDO.getCreateTime() );
|
||||
orderRecipientBO.setUpdateTime( orderRecipientDO.getUpdateTime() );
|
||||
orderRecipientBO.setId( orderRecipientDO.getId() );
|
||||
orderRecipientBO.setOrderId( orderRecipientDO.getOrderId() );
|
||||
orderRecipientBO.setAreaNo( orderRecipientDO.getAreaNo() );
|
||||
orderRecipientBO.setName( orderRecipientDO.getName() );
|
||||
orderRecipientBO.setMobile( orderRecipientDO.getMobile() );
|
||||
orderRecipientBO.setType( orderRecipientDO.getType() );
|
||||
orderRecipientBO.setAddress( orderRecipientDO.getAddress() );
|
||||
|
||||
return orderRecipientBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderRecipientBO> convert(List<OrderRecipientDO> orderRecipientDOList) {
|
||||
if ( orderRecipientDOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<OrderRecipientBO> list = new ArrayList<OrderRecipientBO>( orderRecipientDOList.size() );
|
||||
for ( OrderRecipientDO orderRecipientDO : orderRecipientDOList ) {
|
||||
list.add( convert( orderRecipientDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Recipient convertOrderInfoRecipient(OrderRecipientDO orderRecipientDO) {
|
||||
if ( orderRecipientDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Recipient recipient = new Recipient();
|
||||
|
||||
recipient.setId( orderRecipientDO.getId() );
|
||||
recipient.setOrderId( orderRecipientDO.getOrderId() );
|
||||
recipient.setAreaNo( orderRecipientDO.getAreaNo() );
|
||||
recipient.setName( orderRecipientDO.getName() );
|
||||
recipient.setMobile( orderRecipientDO.getMobile() );
|
||||
recipient.setType( orderRecipientDO.getType() );
|
||||
recipient.setAddress( orderRecipientDO.getAddress() );
|
||||
|
||||
return recipient;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,145 @@
|
|||
package cn.iocoder.mall.order.biz.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.bo.OrderReturnInfoBO.OrderItem;
|
||||
import cn.iocoder.mall.order.api.bo.OrderReturnInfoBO.ReturnInfo;
|
||||
import cn.iocoder.mall.order.api.bo.OrderReturnListBO.OrderReturn;
|
||||
import cn.iocoder.mall.order.api.dto.OrderReturnApplyDTO;
|
||||
import cn.iocoder.mall.order.api.dto.OrderReturnCreateDTO;
|
||||
import cn.iocoder.mall.order.biz.dataobject.OrderItemDO;
|
||||
import cn.iocoder.mall.order.biz.dataobject.OrderReturnDO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:07+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class OrderReturnConvertImpl implements OrderReturnConvert {
|
||||
|
||||
@Override
|
||||
public OrderReturnDO convert(OrderReturnCreateDTO orderReturnCreate) {
|
||||
if ( orderReturnCreate == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderReturnDO orderReturnDO = new OrderReturnDO();
|
||||
|
||||
orderReturnDO.setOrderId( orderReturnCreate.getOrderId() );
|
||||
|
||||
return orderReturnDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderReturnDO convert(OrderReturnApplyDTO orderReturnApplyDTO) {
|
||||
if ( orderReturnApplyDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderReturnDO orderReturnDO = new OrderReturnDO();
|
||||
|
||||
orderReturnDO.setOrderId( orderReturnApplyDTO.getOrderId() );
|
||||
orderReturnDO.setReason( orderReturnApplyDTO.getReason() );
|
||||
orderReturnDO.setDescribe( orderReturnApplyDTO.getDescribe() );
|
||||
|
||||
return orderReturnDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReturnInfo convert(OrderReturnDO orderReturnDO) {
|
||||
if ( orderReturnDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ReturnInfo returnInfo = new ReturnInfo();
|
||||
|
||||
returnInfo.setId( orderReturnDO.getId() );
|
||||
returnInfo.setServiceNumber( orderReturnDO.getServiceNumber() );
|
||||
returnInfo.setOrderId( orderReturnDO.getOrderId() );
|
||||
returnInfo.setOrderNo( orderReturnDO.getOrderNo() );
|
||||
returnInfo.setOrderLogisticsId( orderReturnDO.getOrderLogisticsId() );
|
||||
returnInfo.setRefundPrice( orderReturnDO.getRefundPrice() );
|
||||
returnInfo.setReason( orderReturnDO.getReason() );
|
||||
returnInfo.setDescribe( orderReturnDO.getDescribe() );
|
||||
returnInfo.setApprovalTime( orderReturnDO.getApprovalTime() );
|
||||
returnInfo.setLogisticsTime( orderReturnDO.getLogisticsTime() );
|
||||
returnInfo.setReceiverTime( orderReturnDO.getReceiverTime() );
|
||||
returnInfo.setClosingTime( orderReturnDO.getClosingTime() );
|
||||
returnInfo.setServiceType( orderReturnDO.getServiceType() );
|
||||
returnInfo.setStatus( orderReturnDO.getStatus() );
|
||||
|
||||
return returnInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderItem> convert(List<OrderItemDO> orderItemDOList) {
|
||||
if ( orderItemDOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<OrderItem> list = new ArrayList<OrderItem>( orderItemDOList.size() );
|
||||
for ( OrderItemDO orderItemDO : orderItemDOList ) {
|
||||
list.add( orderItemDOToOrderItem( orderItemDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderReturn> convertListBO(List<OrderReturnDO> orderReturnDOList) {
|
||||
if ( orderReturnDOList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<OrderReturn> list = new ArrayList<OrderReturn>( orderReturnDOList.size() );
|
||||
for ( OrderReturnDO orderReturnDO : orderReturnDOList ) {
|
||||
list.add( orderReturnDOToOrderReturn( orderReturnDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
protected OrderItem orderItemDOToOrderItem(OrderItemDO orderItemDO) {
|
||||
if ( orderItemDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderItem orderItem = new OrderItem();
|
||||
|
||||
orderItem.setSkuId( orderItemDO.getSkuId() );
|
||||
orderItem.setSkuName( orderItemDO.getSkuName() );
|
||||
orderItem.setSkuImage( orderItemDO.getSkuImage() );
|
||||
orderItem.setQuantity( orderItemDO.getQuantity() );
|
||||
orderItem.setPresentTotal( orderItemDO.getPresentTotal() );
|
||||
|
||||
return orderItem;
|
||||
}
|
||||
|
||||
protected OrderReturn orderReturnDOToOrderReturn(OrderReturnDO orderReturnDO) {
|
||||
if ( orderReturnDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
OrderReturn orderReturn = new OrderReturn();
|
||||
|
||||
orderReturn.setId( orderReturnDO.getId() );
|
||||
orderReturn.setServiceNumber( orderReturnDO.getServiceNumber() );
|
||||
orderReturn.setOrderId( orderReturnDO.getOrderId() );
|
||||
orderReturn.setOrderNo( orderReturnDO.getOrderNo() );
|
||||
orderReturn.setOrderLogisticsId( orderReturnDO.getOrderLogisticsId() );
|
||||
orderReturn.setRefundPrice( orderReturnDO.getRefundPrice() );
|
||||
orderReturn.setReason( orderReturnDO.getReason() );
|
||||
orderReturn.setDescribe( orderReturnDO.getDescribe() );
|
||||
orderReturn.setApprovalTime( orderReturnDO.getApprovalTime() );
|
||||
orderReturn.setLogisticsTime( orderReturnDO.getLogisticsTime() );
|
||||
orderReturn.setReceiverTime( orderReturnDO.getReceiverTime() );
|
||||
orderReturn.setClosingTime( orderReturnDO.getClosingTime() );
|
||||
orderReturn.setServiceType( orderReturnDO.getServiceType() );
|
||||
orderReturn.setStatus( orderReturnDO.getStatus() );
|
||||
orderReturn.setCreateTime( orderReturnDO.getCreateTime() );
|
||||
orderReturn.setUpdateTime( orderReturnDO.getUpdateTime() );
|
||||
|
||||
return orderReturn;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
swagger:
|
||||
enable: true
|
||||
title: 支付子系统
|
||||
description: 支付子系统
|
||||
version: 1.0.0
|
||||
base-package: cn.iocoder.mall.pay.application.controller
|
|
@ -0,0 +1,28 @@
|
|||
spring:
|
||||
application:
|
||||
name: pay-application
|
||||
cloud:
|
||||
sentinel:
|
||||
transport:
|
||||
port: 8719
|
||||
dashboard: localhost:12088
|
||||
metric:
|
||||
charset: UTF-8
|
||||
eager: false
|
||||
|
||||
# server
|
||||
server:
|
||||
port: 18084
|
||||
servlet:
|
||||
context-path: /pay-api/
|
||||
|
||||
swagger:
|
||||
enable: false
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health,info,env,metrics,prometheus
|
||||
metrics:
|
||||
enabled: true
|
|
@ -0,0 +1,57 @@
|
|||
package cn.iocoder.mall.pay.application.convert;
|
||||
|
||||
import cn.iocoder.mall.pay.api.bo.refund.PayRefundBO;
|
||||
import cn.iocoder.mall.pay.application.vo.admins.AdminsPayRefundDetailVO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:47:14+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class PayRefundConvertImpl implements PayRefundConvert {
|
||||
|
||||
@Override
|
||||
public List<AdminsPayRefundDetailVO> convertList(List<PayRefundBO> refunds) {
|
||||
if ( refunds == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<AdminsPayRefundDetailVO> list = new ArrayList<AdminsPayRefundDetailVO>( refunds.size() );
|
||||
for ( PayRefundBO payRefundBO : refunds ) {
|
||||
list.add( payRefundBOToAdminsPayRefundDetailVO( payRefundBO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
protected AdminsPayRefundDetailVO payRefundBOToAdminsPayRefundDetailVO(PayRefundBO payRefundBO) {
|
||||
if ( payRefundBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsPayRefundDetailVO adminsPayRefundDetailVO = new AdminsPayRefundDetailVO();
|
||||
|
||||
adminsPayRefundDetailVO.setId( payRefundBO.getId() );
|
||||
adminsPayRefundDetailVO.setTransactionId( payRefundBO.getTransactionId() );
|
||||
adminsPayRefundDetailVO.setRefundCode( payRefundBO.getRefundCode() );
|
||||
adminsPayRefundDetailVO.setAppId( payRefundBO.getAppId() );
|
||||
adminsPayRefundDetailVO.setOrderId( payRefundBO.getOrderId() );
|
||||
adminsPayRefundDetailVO.setCreateIp( payRefundBO.getCreateIp() );
|
||||
adminsPayRefundDetailVO.setOrderDescription( payRefundBO.getOrderDescription() );
|
||||
adminsPayRefundDetailVO.setPrice( payRefundBO.getPrice() );
|
||||
adminsPayRefundDetailVO.setStatus( payRefundBO.getStatus() );
|
||||
adminsPayRefundDetailVO.setFinishTime( payRefundBO.getFinishTime() );
|
||||
adminsPayRefundDetailVO.setNotifyUrl( payRefundBO.getNotifyUrl() );
|
||||
adminsPayRefundDetailVO.setExtensionData( payRefundBO.getExtensionData() );
|
||||
adminsPayRefundDetailVO.setRefundChannel( payRefundBO.getRefundChannel() );
|
||||
adminsPayRefundDetailVO.setRefundTime( payRefundBO.getRefundTime() );
|
||||
adminsPayRefundDetailVO.setNotifyTime( payRefundBO.getNotifyTime() );
|
||||
adminsPayRefundDetailVO.setTradeNo( payRefundBO.getTradeNo() );
|
||||
adminsPayRefundDetailVO.setCreateTime( payRefundBO.getCreateTime() );
|
||||
|
||||
return adminsPayRefundDetailVO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
spring:
|
||||
# datasource
|
||||
datasource:
|
||||
url: jdbc:mysql://192.168.88.14:3306/mall_pay?useSSL=false&useUnicode=true&characterEncoding=UTF-8
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
username: root
|
||||
password: ${MALL_MYSQL_PASSWORD}
|
||||
|
||||
# xxl-job
|
||||
xxl:
|
||||
job:
|
||||
admin:
|
||||
addresses: http://127.0.0.1:18079/
|
||||
executor:
|
||||
appname: pay-job-executor
|
||||
ip:
|
||||
port: 0
|
||||
logpath: /Users/yunai/logs/xxl-job/
|
||||
logretentiondays: 1
|
||||
accessToken:
|
||||
|
||||
# rocketmq
|
||||
rocketmq:
|
||||
name-server: 192.168.88.14:9876
|
||||
producer:
|
||||
group: pay-producer-group
|
|
@ -0,0 +1 @@
|
|||
##################### 业务模块 #####################
|
|
@ -0,0 +1,41 @@
|
|||
spring:
|
||||
# datasource
|
||||
datasource:
|
||||
url: jdbc:mysql://180.167.213.26:13306/mall_pay?useSSL=false&useUnicode=true&characterEncoding=UTF-8
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
username: root
|
||||
password: ${MALL_MYSQL_PASSWORD}
|
||||
|
||||
# mybatis
|
||||
mybatis-plus:
|
||||
config-location: classpath:mybatis-config.xml
|
||||
mapper-locations: classpath:mapper/*.xml
|
||||
type-aliases-package: cn.iocoder.mall.pay.biz.dataobject
|
||||
|
||||
# dubbo
|
||||
dubbo:
|
||||
application:
|
||||
name: pay-service
|
||||
registry:
|
||||
address: zookeeper://127.0.0.1:2181
|
||||
protocol:
|
||||
port: -1
|
||||
name: dubbo
|
||||
scan:
|
||||
base-packages: cn.iocoder.mall.pay.biz.service
|
||||
provider:
|
||||
filter: -exception
|
||||
PayTransactionService:
|
||||
version: 1.0.0
|
||||
PayRefundService:
|
||||
version: 1.0.0
|
||||
|
||||
# rocketmq
|
||||
rocketmq:
|
||||
name-server: 127.0.0.1:9876
|
||||
producer:
|
||||
group: pay-producer-group
|
||||
|
||||
# seata
|
||||
seata:
|
||||
tx-service-group: my_test_tx_group
|
|
@ -0,0 +1,69 @@
|
|||
transport {
|
||||
# tcp udt unix-domain-socket
|
||||
type = "TCP"
|
||||
#NIO NATIVE
|
||||
server = "NIO"
|
||||
#enable heartbeat
|
||||
heartbeat = true
|
||||
#thread factory for netty
|
||||
thread-factory {
|
||||
boss-thread-prefix = "NettyBoss"
|
||||
worker-thread-prefix = "NettyServerNIOWorker"
|
||||
server-executor-thread-prefix = "NettyServerBizHandler"
|
||||
share-boss-worker = false
|
||||
client-selector-thread-prefix = "NettyClientSelector"
|
||||
client-selector-thread-size = 1
|
||||
client-worker-thread-prefix = "NettyClientWorkerThread"
|
||||
# netty boss thread size,will not be used for UDT
|
||||
boss-thread-size = 1
|
||||
#auto default pin or 8
|
||||
worker-thread-size = 8
|
||||
}
|
||||
}
|
||||
|
||||
service {
|
||||
#vgroup->rgroup
|
||||
vgroup_mapping.my_test_tx_group = "default"
|
||||
#only support single node
|
||||
default.grouplist = "180.167.213.26:8091"
|
||||
#degrade current not support
|
||||
enableDegrade = false
|
||||
#disable
|
||||
disable = false
|
||||
}
|
||||
|
||||
client {
|
||||
async.commit.buffer.limit = 10000
|
||||
lock {
|
||||
retry.internal = 10
|
||||
retry.times = 30
|
||||
}
|
||||
}
|
||||
## transaction log store
|
||||
store {
|
||||
## store mode: file、db
|
||||
mode = "file"
|
||||
|
||||
## file store
|
||||
file {
|
||||
dir = "file_store/data"
|
||||
|
||||
# branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions
|
||||
max-branch-session-size = 16384
|
||||
# globe session size , if exceeded throws exceptions
|
||||
max-global-session-size = 512
|
||||
# file buffer size , if exceeded allocate new buffer
|
||||
file-write-buffer-cache-size = 16384
|
||||
# when recover batch read size
|
||||
session.reload.read_size = 100
|
||||
}
|
||||
|
||||
## database store
|
||||
db {
|
||||
driver_class = ""
|
||||
url = ""
|
||||
user = ""
|
||||
password = ""
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.pay.biz.dao.PayAppMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, name, notify_url, refund_notify_url, status, create_time
|
||||
</sql>
|
||||
|
||||
<!--<insert id="insert" parameterType="RoleDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">-->
|
||||
<!--INSERT INTO role (-->
|
||||
<!--name, create_time, deleted-->
|
||||
<!--) VALUES (-->
|
||||
<!--#{name}, #{createTime}, #{deleted}-->
|
||||
<!--)-->
|
||||
<!--</insert>-->
|
||||
|
||||
<!--<update id="update" parameterType="RoleDO">-->
|
||||
<!--UPDATE role-->
|
||||
<!--<set>-->
|
||||
<!--<if test="name != null">-->
|
||||
<!--, name = #{name}-->
|
||||
<!--</if>-->
|
||||
<!--<if test="deleted != null">-->
|
||||
<!--, deleted = #{deleted}-->
|
||||
<!--</if>-->
|
||||
<!--</set>-->
|
||||
<!--WHERE id = #{id}-->
|
||||
<!--</update>-->
|
||||
|
||||
<select id="selectById" parameterType="String" resultType="PayAppDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM app
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.pay.biz.dao.PayNotifyLogMapper">
|
||||
|
||||
<!--<sql id="FIELDS">-->
|
||||
<!--id, transaction_id, transaction_extension_id, app_id, order_id,-->
|
||||
<!--status, next_notify_time, last_execute_time, notify_times, max_notify_times,-->
|
||||
<!--create_time-->
|
||||
<!--</sql>-->
|
||||
|
||||
<insert id="insert" parameterType="PayNotifyLogDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO notify_log (
|
||||
notify_id, request, response, status
|
||||
) VALUES (
|
||||
#{notifyId}, #{request}, #{response}, #{status}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!--<update id="update" parameterType="PayTransactionNotifyTaskDO">-->
|
||||
<!--UPDATE transaction_notify_task-->
|
||||
<!--<set>-->
|
||||
<!--<if test="status != null">-->
|
||||
<!--, status = #{status}-->
|
||||
<!--</if>-->
|
||||
<!--<if test="nextNotifyTime != null">-->
|
||||
<!--, last_notify_time = #{nextNotifyTime}-->
|
||||
<!--</if>-->
|
||||
<!--<if test="lastExecuteTime != null">-->
|
||||
<!--, last_execute_time = #{lastExecuteTime}-->
|
||||
<!--</if>-->
|
||||
<!--<if test="notifyTimes != null">-->
|
||||
<!--, notify_times = #{notifyTimes}-->
|
||||
<!--</if>-->
|
||||
<!--</set>-->
|
||||
<!--WHERE id = #{id}-->
|
||||
<!--</update>-->
|
||||
|
||||
<!--<select id="selectByTransactionCode" parameterType="String" resultType="PayTransactionExtensionDO">-->
|
||||
<!--SELECT-->
|
||||
<!--<include refid="FIELDS"/>-->
|
||||
<!--FROM transaction_extension-->
|
||||
<!--WHERE transaction_code = #{transactionCode}-->
|
||||
<!--LIMIT 1-->
|
||||
<!--</select>-->
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.pay.biz.dao.PayNotifyTaskMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, app_id, type,
|
||||
status, next_notify_time, last_execute_time, notify_times, max_notify_times,
|
||||
create_time
|
||||
</sql>
|
||||
|
||||
<resultMap id="PayNotifyTaskResultMap" type="PayNotifyTaskDO">
|
||||
<result property="transaction" column="transaction"
|
||||
javaType="cn.iocoder.mall.pay.biz.dataobject.PayNotifyTaskDO$Transaction"
|
||||
typeHandler="cn.iocoder.common.framework.mybatis.JSONTypeHandler"/>
|
||||
<result property="refund" column="refund"
|
||||
javaType="cn.iocoder.mall.pay.biz.dataobject.PayNotifyTaskDO$Refund"
|
||||
typeHandler="cn.iocoder.common.framework.mybatis.JSONTypeHandler"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="insert" parameterType="PayNotifyTaskDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO notify_task (
|
||||
app_id, type,
|
||||
status, next_notify_time, notify_times, max_notify_times,
|
||||
`transaction`, refund
|
||||
) VALUES (
|
||||
#{appId}, #{type},
|
||||
#{status}, #{nextNotifyTime}, #{notifyTimes}, #{maxNotifyTimes},
|
||||
#{transaction, typeHandler=cn.iocoder.common.framework.mybatis.JSONTypeHandler},
|
||||
#{refund, typeHandler=cn.iocoder.common.framework.mybatis.JSONTypeHandler}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="PayNotifyTaskDO">
|
||||
UPDATE notify_task
|
||||
<set>
|
||||
<if test="status != null">
|
||||
, status = #{status}
|
||||
</if>
|
||||
<if test="nextNotifyTime != null">
|
||||
, next_notify_time = #{nextNotifyTime}
|
||||
</if>
|
||||
<if test="lastExecuteTime != null">
|
||||
, last_execute_time = #{lastExecuteTime}
|
||||
</if>
|
||||
<if test="notifyTimes != null">
|
||||
, notify_times = #{notifyTimes}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="selectByNotify" resultMap="PayNotifyTaskResultMap">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM notify_task
|
||||
WHERE status IN (1, 4, 5)
|
||||
AND next_notify_time <![CDATA[ <= ]]> NOW()
|
||||
AND last_execute_time > next_notify_time
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,122 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.pay.biz.dao.PayRefundMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, transaction_id, refund_code, app_id, create_ip, order_id,
|
||||
order_description, price, status,
|
||||
finish_time, notify_url, extension_data, refund_channel, refund_time, notify_time,
|
||||
trade_no, create_time
|
||||
</sql>
|
||||
|
||||
<insert id="insert" parameterType="PayRefundDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO refund (
|
||||
transaction_id, refund_code, app_id, create_ip, order_id,
|
||||
order_description, price, status,
|
||||
finish_time, notify_url, extension_data, refund_channel, refund_time, notify_time,
|
||||
trade_no, create_time
|
||||
) VALUES (
|
||||
#{transactionId}, #{refundCode}, #{appId}, #{createIp}, #{orderId},
|
||||
#{orderDescription}, #{price}, #{status},
|
||||
#{finishTime}, #{notifyUrl}, #{extensionData}, #{refundChannel}, #{refundTime}, #{notifyTime},
|
||||
#{tradeNo}, #{createTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update">
|
||||
UPDATE refund
|
||||
<set>
|
||||
<if test="entity.status != null">
|
||||
, status = #{entity.status}
|
||||
</if>
|
||||
<if test="entity.finishTime != null">
|
||||
, finish_time = #{entity.finishTime}
|
||||
</if>
|
||||
<if test="entity.extensionData != null">
|
||||
, extension_data = #{entity.extensionData}
|
||||
</if>
|
||||
<if test="entity.refundTime != null">
|
||||
, refund_time = #{entity.refundTime}
|
||||
</if>
|
||||
<if test="entity.notifyTime != null">
|
||||
, notify_time = #{entity.notifyTime}
|
||||
</if>
|
||||
<if test="entity.tradeNo != null">
|
||||
, trade_no = #{entity.tradeNo}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{entity.id}
|
||||
<if test="whereStatus != null">
|
||||
AND status = #{whereStatus}
|
||||
</if>
|
||||
</update>
|
||||
|
||||
<select id="selectByRefundCode" parameterType="String" resultType="PayRefundDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM refund
|
||||
WHERE refund_code = #{refundCode}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="selectById" parameterType="Integer" resultType="PayRefundDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM refund
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectListByPage" resultType="PayRefundDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM refund
|
||||
<where>
|
||||
<if test="createBeginTime != null">
|
||||
AND create_time >= #{createBeginTime}
|
||||
</if>
|
||||
<if test="createEndTime != null">
|
||||
AND #{createEndTime} >= create_time
|
||||
</if>
|
||||
<if test="finishBeginTime != null">
|
||||
AND finish_time >= #{finishBeginTime}
|
||||
</if>
|
||||
<if test="finishEndTime != null">
|
||||
AND #{finishEndTime} >= finish_time
|
||||
</if>
|
||||
<if test="status != null">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="payChannel != null">
|
||||
AND pay_channel = #{payChannel}
|
||||
</if>
|
||||
</where>
|
||||
LIMIT #{offset}, #{limit}
|
||||
</select>
|
||||
|
||||
<select id="selectCountByPage" resultType="Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM refund
|
||||
<where>
|
||||
<if test="createBeginTime != null">
|
||||
AND create_time >= #{createBeginTime}
|
||||
</if>
|
||||
<if test="createEndTime != null">
|
||||
AND #{createEndTime} >= create_time
|
||||
</if>
|
||||
<if test="finishBeginTime != null">
|
||||
AND finish_time >= #{finishBeginTime}
|
||||
</if>
|
||||
<if test="finishEndTime != null">
|
||||
AND #{finishEndTime} >= finish_time
|
||||
</if>
|
||||
<if test="status != null">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="payChannel != null">
|
||||
AND pay_channel = #{payChannel}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.pay.biz.dao.PayTransactionExtensionMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, transaction_id, pay_channel, transaction_code, extension_data,
|
||||
create_ip, status, create_time
|
||||
</sql>
|
||||
|
||||
<insert id="insert" parameterType="PayTransactionExtensionDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO transaction_extension (
|
||||
transaction_id, pay_channel, transaction_code, extension_data,
|
||||
create_ip, status
|
||||
) VALUES (
|
||||
#{transactionId}, #{payChannel}, #{transactionCode}, #{extensionData},
|
||||
#{createIp}, #{status}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update">
|
||||
UPDATE transaction_extension
|
||||
<set>
|
||||
<if test="entity.extensionData != null">
|
||||
, extension_data = #{entity.extensionData}
|
||||
</if>
|
||||
<if test="entity.status != null">
|
||||
, status = #{entity.status}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{entity.id}
|
||||
<if test="whereStatus != null">
|
||||
AND status = #{whereStatus}
|
||||
</if>
|
||||
</update>
|
||||
|
||||
<select id="selectByTransactionCode" parameterType="String" resultType="PayTransactionExtensionDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM transaction_extension
|
||||
WHERE transaction_code = #{transactionCode}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="selectById" parameterType="Integer" resultType="PayTransactionExtensionDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM transaction_extension
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,159 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.pay.biz.dao.PayTransactionMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, app_id, create_ip, order_id, order_subject,
|
||||
order_description, order_memo, price, status, expire_time,
|
||||
finish_time, notify_url, extension_id, pay_channel, payment_time,
|
||||
notify_time, trade_no, refund_total, create_time
|
||||
</sql>
|
||||
|
||||
<insert id="insert" parameterType="PayTransactionDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO transaction (
|
||||
app_id, create_ip, order_id, order_subject,
|
||||
order_description, order_memo, price, status, expire_time,
|
||||
finish_time, notify_url, extension_id, pay_channel, payment_time,
|
||||
notify_time, trade_no, create_time
|
||||
) VALUES (
|
||||
#{appId}, #{createIp}, #{orderId}, #{orderSubject},
|
||||
#{orderDescription}, #{orderMemo}, #{price}, #{status}, #{expireTime},
|
||||
#{finishTime}, #{notifyUrl}, #{extensionId}, #{payChannel}, #{paymentTime},
|
||||
#{notifyTime}, #{tradeNo}, #{createTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update">
|
||||
UPDATE transaction
|
||||
<set>
|
||||
<if test="entity.status != null">
|
||||
, status = #{entity.status}
|
||||
</if>
|
||||
<if test="entity.extensionId != null">
|
||||
, extension_id = #{entity.extensionId}
|
||||
</if>
|
||||
<if test="entity.payChannel != null">
|
||||
, pay_channel = #{entity.payChannel}
|
||||
</if>
|
||||
<if test="entity.paymentTime != null">
|
||||
, payment_time = #{entity.paymentTime}
|
||||
</if>
|
||||
<if test="entity.finishTime != null">
|
||||
, finish_time = #{entity.finishTime}
|
||||
</if>
|
||||
<if test="entity.notifyTime != null">
|
||||
, notify_time = #{entity.notifyTime}
|
||||
</if>
|
||||
<if test="entity.tradeNo != null">
|
||||
, trade_no = #{entity.tradeNo}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{entity.id}
|
||||
<if test="whereStatus != null">
|
||||
AND status = #{whereStatus}
|
||||
</if>
|
||||
</update>
|
||||
|
||||
<update id="updateForRefundTotal">
|
||||
UPDATE `transaction`
|
||||
SET refund_total = refund_total + ${refundTotalIncr}
|
||||
WHERE price >= refund_total + ${refundTotalIncr}
|
||||
</update>
|
||||
|
||||
<select id="selectByAppIdAndOrderId" resultType="PayTransactionDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM transaction
|
||||
WHERE app_id = #{appId}
|
||||
AND order_id = #{orderId}
|
||||
</select>
|
||||
|
||||
<select id="selectById" parameterType="Integer" resultType="PayTransactionDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM transaction
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectListByIds" resultType="PayTransactionDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM transaction
|
||||
WHERE id IN
|
||||
<foreach item="id" collection="ids" separator="," open="(" close=")" index="">
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="selectListByPage" resultType="PayTransactionDO">
|
||||
SELECT
|
||||
<include refid="FIELDS"/>
|
||||
FROM transaction
|
||||
<where>
|
||||
<if test="createBeginTime != null">
|
||||
AND create_time >= #{createBeginTime}
|
||||
</if>
|
||||
<if test="createEndTime != null">
|
||||
AND #{createEndTime} >= create_time
|
||||
</if>
|
||||
<if test="paymentBeginTime != null">
|
||||
AND payment_time >= #{paymentBeginTime}
|
||||
</if>
|
||||
<if test="paymentEndTime != null">
|
||||
AND #{paymentEndTime} >= payment_time
|
||||
</if>
|
||||
<if test="status != null">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="hasRefund == true">
|
||||
AND refund_total > 0
|
||||
</if>
|
||||
<if test="hasRefund == false">
|
||||
AND refund_total = 0
|
||||
</if>
|
||||
<if test="payChannel != null">
|
||||
AND pay_channel = #{payChannel}
|
||||
</if>
|
||||
<if test="orderSubject != null">
|
||||
order_subject LIKE "%"#{orderSubject}"%"
|
||||
</if>
|
||||
</where>
|
||||
LIMIT #{offset}, #{limit}
|
||||
</select>
|
||||
|
||||
<select id="selectCountByPage" resultType="Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM transaction
|
||||
<where>
|
||||
<if test="createBeginTime != null">
|
||||
AND create_time >= #{createBeginTime}
|
||||
</if>
|
||||
<if test="createEndTime != null">
|
||||
AND #{createEndTime} >= create_time
|
||||
</if>
|
||||
<if test="paymentBeginTime != null">
|
||||
AND payment_time >= #{paymentBeginTime}
|
||||
</if>
|
||||
<if test="paymentEndTime != null">
|
||||
AND #{paymentEndTime} >= payment_time
|
||||
</if>
|
||||
<if test="status != null">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="hasRefund == true">
|
||||
AND refund_total > 0
|
||||
</if>
|
||||
<if test="hasRefund == false">
|
||||
AND refund_total = 0
|
||||
</if>
|
||||
<if test="payChannel != null">
|
||||
AND pay_channel = #{payChannel}
|
||||
</if>
|
||||
<if test="orderSubject != null">
|
||||
order_subject LIKE "%"#{orderSubject}"%"
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||
<configuration>
|
||||
|
||||
<settings>
|
||||
<!-- 使用驼峰命名法转换字段。 -->
|
||||
<setting name="mapUnderscoreToCamelCase" value="true"/>
|
||||
</settings>
|
||||
|
||||
<typeAliases>
|
||||
<typeAlias alias="Integer" type="java.lang.Integer"/>
|
||||
<typeAlias alias="Long" type="java.lang.Long"/>
|
||||
<typeAlias alias="HashMap" type="java.util.HashMap"/>
|
||||
<typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap"/>
|
||||
<typeAlias alias="ArrayList" type="java.util.ArrayList"/>
|
||||
<typeAlias alias="LinkedList" type="java.util.LinkedList"/>
|
||||
</typeAliases>
|
||||
|
||||
</configuration>
|
|
@ -0,0 +1,14 @@
|
|||
registry {
|
||||
type = "file"
|
||||
|
||||
file {
|
||||
name = "file.conf"
|
||||
}
|
||||
|
||||
zk {
|
||||
cluster = "default"
|
||||
serverAddr = "192.168.88.10:2181"
|
||||
session.timeout = 6000
|
||||
connect.timeout = 2000
|
||||
}
|
||||
}
|
|
@ -0,0 +1,128 @@
|
|||
package cn.iocoder.mall.pay.biz.convert;
|
||||
|
||||
import cn.iocoder.mall.pay.api.message.PayRefundSuccessMessage;
|
||||
import cn.iocoder.mall.pay.api.message.PayTransactionSuccessMessage;
|
||||
import cn.iocoder.mall.pay.biz.dataobject.PayNotifyTaskDO;
|
||||
import cn.iocoder.mall.pay.biz.dataobject.PayNotifyTaskDO.Refund;
|
||||
import cn.iocoder.mall.pay.biz.dataobject.PayNotifyTaskDO.Transaction;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:00+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class PayNotifyConvertImpl implements PayNotifyConvert {
|
||||
|
||||
@Override
|
||||
public PayTransactionSuccessMessage convertTransaction(PayNotifyTaskDO payTransactionNotifyTaskDO) {
|
||||
if ( payTransactionNotifyTaskDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
PayTransactionSuccessMessage payTransactionSuccessMessage = new PayTransactionSuccessMessage();
|
||||
|
||||
payTransactionSuccessMessage.setOrderId( payTransactionNotifyTaskDOTransactionOrderId( payTransactionNotifyTaskDO ) );
|
||||
payTransactionSuccessMessage.setTransactionId( payTransactionNotifyTaskDOTransactionTransactionId( payTransactionNotifyTaskDO ) );
|
||||
payTransactionSuccessMessage.setId( payTransactionNotifyTaskDO.getId() );
|
||||
payTransactionSuccessMessage.setAppId( payTransactionNotifyTaskDO.getAppId() );
|
||||
payTransactionSuccessMessage.setNotifyTimes( payTransactionNotifyTaskDO.getNotifyTimes() );
|
||||
payTransactionSuccessMessage.setNotifyUrl( payTransactionNotifyTaskDO.getNotifyUrl() );
|
||||
|
||||
return payTransactionSuccessMessage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PayRefundSuccessMessage convertRefund(PayNotifyTaskDO payTransactionNotifyTaskDO) {
|
||||
if ( payTransactionNotifyTaskDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
PayRefundSuccessMessage payRefundSuccessMessage = new PayRefundSuccessMessage();
|
||||
|
||||
payRefundSuccessMessage.setOrderId( payTransactionNotifyTaskDORefundOrderId( payTransactionNotifyTaskDO ) );
|
||||
payRefundSuccessMessage.setTransactionId( payTransactionNotifyTaskDORefundTransactionId( payTransactionNotifyTaskDO ) );
|
||||
payRefundSuccessMessage.setRefundId( payTransactionNotifyTaskDORefundRefundId( payTransactionNotifyTaskDO ) );
|
||||
payRefundSuccessMessage.setId( payTransactionNotifyTaskDO.getId() );
|
||||
payRefundSuccessMessage.setAppId( payTransactionNotifyTaskDO.getAppId() );
|
||||
payRefundSuccessMessage.setNotifyTimes( payTransactionNotifyTaskDO.getNotifyTimes() );
|
||||
payRefundSuccessMessage.setNotifyUrl( payTransactionNotifyTaskDO.getNotifyUrl() );
|
||||
|
||||
return payRefundSuccessMessage;
|
||||
}
|
||||
|
||||
private String payTransactionNotifyTaskDOTransactionOrderId(PayNotifyTaskDO payNotifyTaskDO) {
|
||||
if ( payNotifyTaskDO == null ) {
|
||||
return null;
|
||||
}
|
||||
Transaction transaction = payNotifyTaskDO.getTransaction();
|
||||
if ( transaction == null ) {
|
||||
return null;
|
||||
}
|
||||
String orderId = transaction.getOrderId();
|
||||
if ( orderId == null ) {
|
||||
return null;
|
||||
}
|
||||
return orderId;
|
||||
}
|
||||
|
||||
private Integer payTransactionNotifyTaskDOTransactionTransactionId(PayNotifyTaskDO payNotifyTaskDO) {
|
||||
if ( payNotifyTaskDO == null ) {
|
||||
return null;
|
||||
}
|
||||
Transaction transaction = payNotifyTaskDO.getTransaction();
|
||||
if ( transaction == null ) {
|
||||
return null;
|
||||
}
|
||||
Integer transactionId = transaction.getTransactionId();
|
||||
if ( transactionId == null ) {
|
||||
return null;
|
||||
}
|
||||
return transactionId;
|
||||
}
|
||||
|
||||
private String payTransactionNotifyTaskDORefundOrderId(PayNotifyTaskDO payNotifyTaskDO) {
|
||||
if ( payNotifyTaskDO == null ) {
|
||||
return null;
|
||||
}
|
||||
Refund refund = payNotifyTaskDO.getRefund();
|
||||
if ( refund == null ) {
|
||||
return null;
|
||||
}
|
||||
String orderId = refund.getOrderId();
|
||||
if ( orderId == null ) {
|
||||
return null;
|
||||
}
|
||||
return orderId;
|
||||
}
|
||||
|
||||
private Integer payTransactionNotifyTaskDORefundTransactionId(PayNotifyTaskDO payNotifyTaskDO) {
|
||||
if ( payNotifyTaskDO == null ) {
|
||||
return null;
|
||||
}
|
||||
Refund refund = payNotifyTaskDO.getRefund();
|
||||
if ( refund == null ) {
|
||||
return null;
|
||||
}
|
||||
Integer transactionId = refund.getTransactionId();
|
||||
if ( transactionId == null ) {
|
||||
return null;
|
||||
}
|
||||
return transactionId;
|
||||
}
|
||||
|
||||
private Integer payTransactionNotifyTaskDORefundRefundId(PayNotifyTaskDO payNotifyTaskDO) {
|
||||
if ( payNotifyTaskDO == null ) {
|
||||
return null;
|
||||
}
|
||||
Refund refund = payNotifyTaskDO.getRefund();
|
||||
if ( refund == null ) {
|
||||
return null;
|
||||
}
|
||||
Integer refundId = refund.getRefundId();
|
||||
if ( refundId == null ) {
|
||||
return null;
|
||||
}
|
||||
return refundId;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
package cn.iocoder.mall.pay.biz.convert;
|
||||
|
||||
import cn.iocoder.mall.pay.api.bo.refund.PayRefundBO;
|
||||
import cn.iocoder.mall.pay.api.dto.refund.PayRefundSubmitDTO;
|
||||
import cn.iocoder.mall.pay.biz.dataobject.PayRefundDO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:00+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class PayRefundConvertImpl implements PayRefundConvert {
|
||||
|
||||
@Override
|
||||
public PayRefundDO convert(PayRefundSubmitDTO payRefundSubmitDTO) {
|
||||
if ( payRefundSubmitDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
PayRefundDO payRefundDO = new PayRefundDO();
|
||||
|
||||
payRefundDO.setAppId( payRefundSubmitDTO.getAppId() );
|
||||
payRefundDO.setOrderId( payRefundSubmitDTO.getOrderId() );
|
||||
payRefundDO.setCreateIp( payRefundSubmitDTO.getCreateIp() );
|
||||
payRefundDO.setOrderDescription( payRefundSubmitDTO.getOrderDescription() );
|
||||
payRefundDO.setPrice( payRefundSubmitDTO.getPrice() );
|
||||
|
||||
return payRefundDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PayRefundBO convert(PayRefundDO refund) {
|
||||
if ( refund == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
PayRefundBO payRefundBO = new PayRefundBO();
|
||||
|
||||
payRefundBO.setId( refund.getId() );
|
||||
payRefundBO.setTransactionId( refund.getTransactionId() );
|
||||
payRefundBO.setRefundCode( refund.getRefundCode() );
|
||||
payRefundBO.setAppId( refund.getAppId() );
|
||||
payRefundBO.setOrderId( refund.getOrderId() );
|
||||
payRefundBO.setCreateIp( refund.getCreateIp() );
|
||||
payRefundBO.setOrderDescription( refund.getOrderDescription() );
|
||||
payRefundBO.setPrice( refund.getPrice() );
|
||||
payRefundBO.setStatus( refund.getStatus() );
|
||||
payRefundBO.setFinishTime( refund.getFinishTime() );
|
||||
payRefundBO.setNotifyUrl( refund.getNotifyUrl() );
|
||||
payRefundBO.setExtensionData( refund.getExtensionData() );
|
||||
payRefundBO.setRefundChannel( refund.getRefundChannel() );
|
||||
payRefundBO.setRefundTime( refund.getRefundTime() );
|
||||
payRefundBO.setNotifyTime( refund.getNotifyTime() );
|
||||
payRefundBO.setTradeNo( refund.getTradeNo() );
|
||||
payRefundBO.setCreateTime( refund.getCreateTime() );
|
||||
|
||||
return payRefundBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PayRefundBO> convertList(List<PayRefundDO> refunds) {
|
||||
if ( refunds == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<PayRefundBO> list = new ArrayList<PayRefundBO>( refunds.size() );
|
||||
for ( PayRefundDO payRefundDO : refunds ) {
|
||||
list.add( convert( payRefundDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
package cn.iocoder.mall.pay.biz.convert;
|
||||
|
||||
import cn.iocoder.mall.pay.api.bo.transaction.PayTransactionBO;
|
||||
import cn.iocoder.mall.pay.api.dto.transaction.PayTransactionCreateDTO;
|
||||
import cn.iocoder.mall.pay.api.dto.transaction.PayTransactionSubmitDTO;
|
||||
import cn.iocoder.mall.pay.biz.dataobject.PayTransactionDO;
|
||||
import cn.iocoder.mall.pay.biz.dataobject.PayTransactionExtensionDO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:00+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class PayTransactionConvertImpl implements PayTransactionConvert {
|
||||
|
||||
@Override
|
||||
public PayTransactionDO convert(PayTransactionCreateDTO payTransactionCreateDTO) {
|
||||
if ( payTransactionCreateDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
PayTransactionDO payTransactionDO = new PayTransactionDO();
|
||||
|
||||
payTransactionDO.setAppId( payTransactionCreateDTO.getAppId() );
|
||||
payTransactionDO.setOrderId( payTransactionCreateDTO.getOrderId() );
|
||||
payTransactionDO.setCreateIp( payTransactionCreateDTO.getCreateIp() );
|
||||
payTransactionDO.setOrderSubject( payTransactionCreateDTO.getOrderSubject() );
|
||||
payTransactionDO.setOrderDescription( payTransactionCreateDTO.getOrderDescription() );
|
||||
payTransactionDO.setOrderMemo( payTransactionCreateDTO.getOrderMemo() );
|
||||
payTransactionDO.setPrice( payTransactionCreateDTO.getPrice() );
|
||||
payTransactionDO.setExpireTime( payTransactionCreateDTO.getExpireTime() );
|
||||
|
||||
return payTransactionDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PayTransactionBO convert(PayTransactionDO payTransactionDO) {
|
||||
if ( payTransactionDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
PayTransactionBO payTransactionBO = new PayTransactionBO();
|
||||
|
||||
payTransactionBO.setId( payTransactionDO.getId() );
|
||||
payTransactionBO.setAppId( payTransactionDO.getAppId() );
|
||||
payTransactionBO.setCreateIp( payTransactionDO.getCreateIp() );
|
||||
payTransactionBO.setOrderId( payTransactionDO.getOrderId() );
|
||||
payTransactionBO.setOrderSubject( payTransactionDO.getOrderSubject() );
|
||||
payTransactionBO.setOrderDescription( payTransactionDO.getOrderDescription() );
|
||||
payTransactionBO.setOrderMemo( payTransactionDO.getOrderMemo() );
|
||||
payTransactionBO.setPrice( payTransactionDO.getPrice() );
|
||||
payTransactionBO.setStatus( payTransactionDO.getStatus() );
|
||||
payTransactionBO.setExpireTime( payTransactionDO.getExpireTime() );
|
||||
payTransactionBO.setFinishTime( payTransactionDO.getFinishTime() );
|
||||
payTransactionBO.setExtensionId( payTransactionDO.getExtensionId() );
|
||||
payTransactionBO.setPayChannel( payTransactionDO.getPayChannel() );
|
||||
payTransactionBO.setPaymentTime( payTransactionDO.getPaymentTime() );
|
||||
payTransactionBO.setNotifyTime( payTransactionDO.getNotifyTime() );
|
||||
payTransactionBO.setTradeNo( payTransactionDO.getTradeNo() );
|
||||
payTransactionBO.setCreateTime( payTransactionDO.getCreateTime() );
|
||||
payTransactionBO.setRefundTotal( payTransactionDO.getRefundTotal() );
|
||||
|
||||
return payTransactionBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PayTransactionBO> convertList(List<PayTransactionDO> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<PayTransactionBO> list1 = new ArrayList<PayTransactionBO>( list.size() );
|
||||
for ( PayTransactionDO payTransactionDO : list ) {
|
||||
list1.add( convert( payTransactionDO ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PayTransactionExtensionDO convert(PayTransactionSubmitDTO payTransactionSubmitDTO) {
|
||||
if ( payTransactionSubmitDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
PayTransactionExtensionDO payTransactionExtensionDO = new PayTransactionExtensionDO();
|
||||
|
||||
payTransactionExtensionDO.setPayChannel( payTransactionSubmitDTO.getPayChannel() );
|
||||
payTransactionExtensionDO.setCreateIp( payTransactionSubmitDTO.getCreateIp() );
|
||||
|
||||
return payTransactionExtensionDO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
package cn.iocoder.mall.product.application.controller.admins;
|
||||
|
||||
import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.mall.admin.sdk.context.AdminSecurityContextHolder;
|
||||
import cn.iocoder.mall.product.api.ProductBrandService;
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrandBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrangPageBO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandAddDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandPageDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandUpdateDTO;
|
||||
import cn.iocoder.mall.product.application.convert.ProductBrandConvert;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductBrandVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductBrangPageVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.dubbo.config.annotation.Reference;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import static cn.iocoder.common.framework.vo.CommonResult.success;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("admins/brand")
|
||||
@Api("商品品牌")
|
||||
public class AdminsProductBrandController {
|
||||
|
||||
@Reference(validation = "true", version = "${dubbo.provider.ProductBrandService.version}")
|
||||
private ProductBrandService productBrandService;
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("创建品牌")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "name", value = "品牌名称", required = true, example = "安踏"),
|
||||
@ApiImplicitParam(name = "description", value = "品牌描述", required = true, example = "安踏拖鞋"),
|
||||
@ApiImplicitParam(name = "picUrl", value = "品牌图片", required = true, example = "http://www.iocoder.cn"),
|
||||
@ApiImplicitParam(name = "status", value = "状态 1开启 2禁用", required = true, example = "1")
|
||||
})
|
||||
public CommonResult<AdminsProductBrandVO> add(@RequestParam("name") String name,
|
||||
@RequestParam("description") String description,
|
||||
@RequestParam("picUrl") String picUrl,
|
||||
@RequestParam("status") Integer status) {
|
||||
// 创建 ProductBrandAddDTO 对象
|
||||
ProductBrandAddDTO productBrandAddDTO = new ProductBrandAddDTO().setName(name).setDescription(description)
|
||||
.setPicUrl(picUrl).setStatus(status);
|
||||
// 保存商品
|
||||
ProductBrandBO result = productBrandService.addProductBrand(AdminSecurityContextHolder.getContext().getAdminId(), productBrandAddDTO);
|
||||
// 返回结果
|
||||
return success(ProductBrandConvert.INSTANCE.convert(result));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新商品")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "id", value = "品牌主键", required = true, example = "1"),
|
||||
@ApiImplicitParam(name = "name", value = "品牌名称", required = true, example = "安踏"),
|
||||
@ApiImplicitParam(name = "description", value = "品牌描述", required = true, example = "安踏拖鞋"),
|
||||
@ApiImplicitParam(name = "picUrl", value = "品牌图片", required = true, example = "http://www.iocoder.cn"),
|
||||
@ApiImplicitParam(name = "status", value = "状态 1开启 2禁用", required = true, example = "1")
|
||||
})
|
||||
public CommonResult<Boolean> update(@RequestParam("id") Integer id,
|
||||
@RequestParam("name") String name,
|
||||
@RequestParam("description") String description,
|
||||
@RequestParam("picUrl") String picUrl,
|
||||
@RequestParam("status") Integer status) {
|
||||
// 创建 productBrandUpdateDTO 对象
|
||||
ProductBrandUpdateDTO productBrandUpdateDTO = new ProductBrandUpdateDTO().setId(id).setName(name).setDescription(description)
|
||||
.setPicUrl(picUrl).setStatus(status);
|
||||
// 更新商品
|
||||
productBrandService.updateProductBrand(AdminSecurityContextHolder.getContext().getAdminId(), productBrandUpdateDTO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@ApiOperation("获取品牌")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "id", value = "品牌主键", required = true, example = "1")
|
||||
})
|
||||
public CommonResult<AdminsProductBrandVO> add(@RequestParam("id") Integer id) {
|
||||
// 保存商品
|
||||
ProductBrandBO result = productBrandService.getProductBrand(id);
|
||||
// 返回结果
|
||||
return success(ProductBrandConvert.INSTANCE.convert(result));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@ApiOperation("获得品牌分页")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "name", value = "品牌名称", required = true, example = "安踏"),
|
||||
@ApiImplicitParam(name = "description", value = "品牌描述", required = true, example = "安踏拖鞋"),
|
||||
@ApiImplicitParam(name = "status", value = "状态 1开启 2禁用", required = true, example = "1"),
|
||||
@ApiImplicitParam(name = "pageNo", value = "页码", required = true, example = "1"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "页面大小", required = true, example = "10")
|
||||
})
|
||||
public CommonResult<AdminsProductBrangPageVO> attrPage(@RequestParam(value = "name", required = false) String name,
|
||||
@RequestParam(value = "description", required = false) String description,
|
||||
@RequestParam(value = "status", required = false) Integer status,
|
||||
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||
// 创建 ProductAttrPageDTO 对象
|
||||
ProductBrandPageDTO productBrandPageDTO = new ProductBrandPageDTO().setName(name)
|
||||
.setDescription(description)
|
||||
.setStatus(status)
|
||||
.setPageNo(pageNo)
|
||||
.setPageSize(pageSize);
|
||||
// 查询分页
|
||||
ProductBrangPageBO result = productBrandService.getProductBrandPage(productBrandPageDTO);
|
||||
// 返回结果
|
||||
return success(ProductBrandConvert.INSTANCE.convert(result));
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package cn.iocoder.mall.product.application.convert;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrandBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrangPageBO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductBrandVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductBrangPageVO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
@Mapper
|
||||
public interface ProductBrandConvert {
|
||||
|
||||
ProductBrandConvert INSTANCE = Mappers.getMapper(ProductBrandConvert.class);
|
||||
|
||||
@Mappings({})
|
||||
AdminsProductBrandVO convert(ProductBrandBO result);
|
||||
|
||||
@Mappings({})
|
||||
AdminsProductBrangPageVO convert(ProductBrangPageBO result);
|
||||
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package cn.iocoder.mall.product.application.vo.admins;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 商品品牌 VO
|
||||
*/
|
||||
|
||||
@ApiModel(value = "商品品牌 VO")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class AdminsProductBrandVO {
|
||||
|
||||
/**
|
||||
* 品牌编号
|
||||
*/
|
||||
@ApiModelProperty(value = "品牌编号", required = true, example = "1")
|
||||
private Integer id;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "名称", required = true, example = "安踏")
|
||||
private String name;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "描述", required = true, example = "安踏拖鞋")
|
||||
private String description;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "图片地址", required = true, example = "http://www.iocoder.cn")
|
||||
private String picUrl;
|
||||
|
||||
@ApiModelProperty(value = "状态 1-开启 2-禁用", required = true, example = "1")
|
||||
private Integer status;
|
||||
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package cn.iocoder.mall.product.application.vo.admins;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 商品品牌分页 BO
|
||||
*/
|
||||
@ApiModel("商品品牌分页")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class AdminsProductBrangPageVO {
|
||||
|
||||
@ApiModelProperty(value = "品牌数组", required = true)
|
||||
private List<AdminsProductBrandVO> brands;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "总数", required = true)
|
||||
private Integer count;
|
||||
|
||||
}
|
|
@ -16,8 +16,6 @@ server:
|
|||
servlet:
|
||||
context-path: /product-api/
|
||||
|
||||
swagger:
|
||||
enable: false
|
||||
|
||||
|
||||
management:
|
||||
|
@ -27,3 +25,10 @@ management:
|
|||
include: health,info,env,metrics,prometheus
|
||||
metrics:
|
||||
enabled: true
|
||||
|
||||
swagger:
|
||||
enable: true
|
||||
title: 商品子系统
|
||||
description: 商品子系统
|
||||
version: 1.0.0
|
||||
base-package: cn.iocoder.mall.product.application.controller
|
|
@ -0,0 +1,6 @@
|
|||
swagger:
|
||||
enable: true
|
||||
title: 商品子系统
|
||||
description: 商品子系统
|
||||
version: 1.0.0
|
||||
base-package: cn.iocoder.mall.product.application.controller
|
|
@ -0,0 +1,34 @@
|
|||
spring:
|
||||
application:
|
||||
name: product-application
|
||||
cloud:
|
||||
sentinel:
|
||||
transport:
|
||||
port: 8719
|
||||
dashboard: localhost:12088
|
||||
metric:
|
||||
charset: UTF-8
|
||||
eager: false
|
||||
|
||||
# server
|
||||
server:
|
||||
port: 18081
|
||||
servlet:
|
||||
context-path: /product-api/
|
||||
|
||||
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health,info,env,metrics,prometheus
|
||||
metrics:
|
||||
enabled: true
|
||||
|
||||
swagger:
|
||||
enable: true
|
||||
title: 商品子系统
|
||||
description: 商品子系统
|
||||
version: 1.0.0
|
||||
base-package: cn.iocoder.mall.product.application.controller
|
|
@ -0,0 +1,185 @@
|
|||
package cn.iocoder.mall.product.application.convert;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrDetailBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrPageBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrSimpleBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrValueBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrValueDetailBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrValueSimpleBO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductAttrDetailVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductAttrPageVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductAttrSimpleVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductAttrVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductAttrValueDetailVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductAttrValueSimpleVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductAttrValueVO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:47:10+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class ProductAttrConvertImpl implements ProductAttrConvert {
|
||||
|
||||
@Override
|
||||
public AdminsProductAttrPageVO convert2(ProductAttrPageBO result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductAttrPageVO adminsProductAttrPageVO = new AdminsProductAttrPageVO();
|
||||
|
||||
adminsProductAttrPageVO.setAttrs( productAttrDetailBOListToAdminsProductAttrDetailVOList( result.getAttrs() ) );
|
||||
adminsProductAttrPageVO.setCount( result.getCount() );
|
||||
|
||||
return adminsProductAttrPageVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AdminsProductAttrSimpleVO> convert(List<ProductAttrSimpleBO> result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<AdminsProductAttrSimpleVO> list = new ArrayList<AdminsProductAttrSimpleVO>( result.size() );
|
||||
for ( ProductAttrSimpleBO productAttrSimpleBO : result ) {
|
||||
list.add( productAttrSimpleBOToAdminsProductAttrSimpleVO( productAttrSimpleBO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminsProductAttrVO convert3(ProductAttrBO productAttrBO) {
|
||||
if ( productAttrBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductAttrVO adminsProductAttrVO = new AdminsProductAttrVO();
|
||||
|
||||
adminsProductAttrVO.setId( productAttrBO.getId() );
|
||||
adminsProductAttrVO.setName( productAttrBO.getName() );
|
||||
adminsProductAttrVO.setStatus( productAttrBO.getStatus() );
|
||||
adminsProductAttrVO.setCreateTime( productAttrBO.getCreateTime() );
|
||||
|
||||
return adminsProductAttrVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminsProductAttrValueVO convert4(ProductAttrValueBO productAttrValueBO) {
|
||||
if ( productAttrValueBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductAttrValueVO adminsProductAttrValueVO = new AdminsProductAttrValueVO();
|
||||
|
||||
adminsProductAttrValueVO.setId( productAttrValueBO.getId() );
|
||||
adminsProductAttrValueVO.setAttrId( productAttrValueBO.getAttrId() );
|
||||
adminsProductAttrValueVO.setName( productAttrValueBO.getName() );
|
||||
adminsProductAttrValueVO.setStatus( productAttrValueBO.getStatus() );
|
||||
adminsProductAttrValueVO.setCreateTime( productAttrValueBO.getCreateTime() );
|
||||
|
||||
return adminsProductAttrValueVO;
|
||||
}
|
||||
|
||||
protected AdminsProductAttrValueDetailVO productAttrValueDetailBOToAdminsProductAttrValueDetailVO(ProductAttrValueDetailBO productAttrValueDetailBO) {
|
||||
if ( productAttrValueDetailBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductAttrValueDetailVO adminsProductAttrValueDetailVO = new AdminsProductAttrValueDetailVO();
|
||||
|
||||
adminsProductAttrValueDetailVO.setId( productAttrValueDetailBO.getId() );
|
||||
adminsProductAttrValueDetailVO.setName( productAttrValueDetailBO.getName() );
|
||||
adminsProductAttrValueDetailVO.setStatus( productAttrValueDetailBO.getStatus() );
|
||||
adminsProductAttrValueDetailVO.setCreateTime( productAttrValueDetailBO.getCreateTime() );
|
||||
|
||||
return adminsProductAttrValueDetailVO;
|
||||
}
|
||||
|
||||
protected List<AdminsProductAttrValueDetailVO> productAttrValueDetailBOListToAdminsProductAttrValueDetailVOList(List<ProductAttrValueDetailBO> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<AdminsProductAttrValueDetailVO> list1 = new ArrayList<AdminsProductAttrValueDetailVO>( list.size() );
|
||||
for ( ProductAttrValueDetailBO productAttrValueDetailBO : list ) {
|
||||
list1.add( productAttrValueDetailBOToAdminsProductAttrValueDetailVO( productAttrValueDetailBO ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
protected AdminsProductAttrDetailVO productAttrDetailBOToAdminsProductAttrDetailVO(ProductAttrDetailBO productAttrDetailBO) {
|
||||
if ( productAttrDetailBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductAttrDetailVO adminsProductAttrDetailVO = new AdminsProductAttrDetailVO();
|
||||
|
||||
adminsProductAttrDetailVO.setId( productAttrDetailBO.getId() );
|
||||
adminsProductAttrDetailVO.setName( productAttrDetailBO.getName() );
|
||||
adminsProductAttrDetailVO.setStatus( productAttrDetailBO.getStatus() );
|
||||
adminsProductAttrDetailVO.setCreateTime( productAttrDetailBO.getCreateTime() );
|
||||
adminsProductAttrDetailVO.setValues( productAttrValueDetailBOListToAdminsProductAttrValueDetailVOList( productAttrDetailBO.getValues() ) );
|
||||
|
||||
return adminsProductAttrDetailVO;
|
||||
}
|
||||
|
||||
protected List<AdminsProductAttrDetailVO> productAttrDetailBOListToAdminsProductAttrDetailVOList(List<ProductAttrDetailBO> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<AdminsProductAttrDetailVO> list1 = new ArrayList<AdminsProductAttrDetailVO>( list.size() );
|
||||
for ( ProductAttrDetailBO productAttrDetailBO : list ) {
|
||||
list1.add( productAttrDetailBOToAdminsProductAttrDetailVO( productAttrDetailBO ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
protected AdminsProductAttrValueSimpleVO productAttrValueSimpleBOToAdminsProductAttrValueSimpleVO(ProductAttrValueSimpleBO productAttrValueSimpleBO) {
|
||||
if ( productAttrValueSimpleBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductAttrValueSimpleVO adminsProductAttrValueSimpleVO = new AdminsProductAttrValueSimpleVO();
|
||||
|
||||
adminsProductAttrValueSimpleVO.setId( productAttrValueSimpleBO.getId() );
|
||||
adminsProductAttrValueSimpleVO.setName( productAttrValueSimpleBO.getName() );
|
||||
|
||||
return adminsProductAttrValueSimpleVO;
|
||||
}
|
||||
|
||||
protected List<AdminsProductAttrValueSimpleVO> productAttrValueSimpleBOListToAdminsProductAttrValueSimpleVOList(List<ProductAttrValueSimpleBO> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<AdminsProductAttrValueSimpleVO> list1 = new ArrayList<AdminsProductAttrValueSimpleVO>( list.size() );
|
||||
for ( ProductAttrValueSimpleBO productAttrValueSimpleBO : list ) {
|
||||
list1.add( productAttrValueSimpleBOToAdminsProductAttrValueSimpleVO( productAttrValueSimpleBO ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
protected AdminsProductAttrSimpleVO productAttrSimpleBOToAdminsProductAttrSimpleVO(ProductAttrSimpleBO productAttrSimpleBO) {
|
||||
if ( productAttrSimpleBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductAttrSimpleVO adminsProductAttrSimpleVO = new AdminsProductAttrSimpleVO();
|
||||
|
||||
adminsProductAttrSimpleVO.setId( productAttrSimpleBO.getId() );
|
||||
adminsProductAttrSimpleVO.setName( productAttrSimpleBO.getName() );
|
||||
adminsProductAttrSimpleVO.setValues( productAttrValueSimpleBOListToAdminsProductAttrValueSimpleVOList( productAttrSimpleBO.getValues() ) );
|
||||
|
||||
return adminsProductAttrSimpleVO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
package cn.iocoder.mall.product.application.convert;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrandBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrangPageBO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductBrandVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductBrangPageVO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-31T18:12:33+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class ProductBrandConvertImpl implements ProductBrandConvert {
|
||||
|
||||
@Override
|
||||
public AdminsProductBrandVO convert(ProductBrandBO result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductBrandVO adminsProductBrandVO = new AdminsProductBrandVO();
|
||||
|
||||
adminsProductBrandVO.setId( result.getId() );
|
||||
adminsProductBrandVO.setName( result.getName() );
|
||||
adminsProductBrandVO.setDescription( result.getDescription() );
|
||||
adminsProductBrandVO.setPicUrl( result.getPicUrl() );
|
||||
adminsProductBrandVO.setStatus( result.getStatus() );
|
||||
|
||||
return adminsProductBrandVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminsProductBrangPageVO convert(ProductBrangPageBO result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductBrangPageVO adminsProductBrangPageVO = new AdminsProductBrangPageVO();
|
||||
|
||||
adminsProductBrangPageVO.setBrands( productBrandBOListToAdminsProductBrandVOList( result.getBrands() ) );
|
||||
adminsProductBrangPageVO.setCount( result.getCount() );
|
||||
|
||||
return adminsProductBrangPageVO;
|
||||
}
|
||||
|
||||
protected List<AdminsProductBrandVO> productBrandBOListToAdminsProductBrandVOList(List<ProductBrandBO> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<AdminsProductBrandVO> list1 = new ArrayList<AdminsProductBrandVO>( list.size() );
|
||||
for ( ProductBrandBO productBrandBO : list ) {
|
||||
list1.add( convert( productBrandBO ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
package cn.iocoder.mall.product.application.convert;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductCategoryBO;
|
||||
import cn.iocoder.mall.product.application.convert.ProductCategoryConvert.Admins;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductCategoryTreeNodeVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductCategoryVO;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:47:09+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class ProductCategoryConvert$AdminsImpl implements Admins {
|
||||
|
||||
@Override
|
||||
public AdminsProductCategoryTreeNodeVO convert(ProductCategoryBO category) {
|
||||
if ( category == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductCategoryTreeNodeVO adminsProductCategoryTreeNodeVO = new AdminsProductCategoryTreeNodeVO();
|
||||
|
||||
adminsProductCategoryTreeNodeVO.setId( category.getId() );
|
||||
adminsProductCategoryTreeNodeVO.setPid( category.getPid() );
|
||||
adminsProductCategoryTreeNodeVO.setName( category.getName() );
|
||||
adminsProductCategoryTreeNodeVO.setDescription( category.getDescription() );
|
||||
adminsProductCategoryTreeNodeVO.setPicUrl( category.getPicUrl() );
|
||||
adminsProductCategoryTreeNodeVO.setSort( category.getSort() );
|
||||
adminsProductCategoryTreeNodeVO.setStatus( category.getStatus() );
|
||||
adminsProductCategoryTreeNodeVO.setCreateTime( category.getCreateTime() );
|
||||
|
||||
return adminsProductCategoryTreeNodeVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminsProductCategoryVO convert2(ProductCategoryBO result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductCategoryVO adminsProductCategoryVO = new AdminsProductCategoryVO();
|
||||
|
||||
adminsProductCategoryVO.setId( result.getId() );
|
||||
adminsProductCategoryVO.setPid( result.getPid() );
|
||||
adminsProductCategoryVO.setName( result.getName() );
|
||||
adminsProductCategoryVO.setDescription( result.getDescription() );
|
||||
adminsProductCategoryVO.setPicUrl( result.getPicUrl() );
|
||||
adminsProductCategoryVO.setSort( result.getSort() );
|
||||
adminsProductCategoryVO.setStatus( result.getStatus() );
|
||||
adminsProductCategoryVO.setCreateTime( result.getCreateTime() );
|
||||
|
||||
return adminsProductCategoryVO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package cn.iocoder.mall.product.application.convert;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductCategoryBO;
|
||||
import cn.iocoder.mall.product.application.convert.ProductCategoryConvert.Users;
|
||||
import cn.iocoder.mall.product.application.vo.users.UsersProductCategoryVO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:47:10+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class ProductCategoryConvert$UsersImpl implements Users {
|
||||
|
||||
@Override
|
||||
public UsersProductCategoryVO convertToVO(ProductCategoryBO category) {
|
||||
if ( category == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsersProductCategoryVO usersProductCategoryVO = new UsersProductCategoryVO();
|
||||
|
||||
usersProductCategoryVO.setId( category.getId() );
|
||||
usersProductCategoryVO.setName( category.getName() );
|
||||
usersProductCategoryVO.setPicUrl( category.getPicUrl() );
|
||||
|
||||
return usersProductCategoryVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UsersProductCategoryVO> convertToVO(List<ProductCategoryBO> categoryList) {
|
||||
if ( categoryList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<UsersProductCategoryVO> list = new ArrayList<UsersProductCategoryVO>( categoryList.size() );
|
||||
for ( ProductCategoryBO productCategoryBO : categoryList ) {
|
||||
list.add( convertToVO( productCategoryBO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,251 @@
|
|||
package cn.iocoder.mall.product.application.convert;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrAndValuePairBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductSpuBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductSpuDetailBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductSpuDetailBO.Sku;
|
||||
import cn.iocoder.mall.product.api.bo.ProductSpuPageBO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductAttrAndValuePairVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductSkuDetailVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductSpuDetailVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductSpuPageVO;
|
||||
import cn.iocoder.mall.product.application.vo.admins.AdminsProductSpuVO;
|
||||
import cn.iocoder.mall.product.application.vo.users.UsersProductAttrAndValuePairVO;
|
||||
import cn.iocoder.mall.product.application.vo.users.UsersProductSkuDetailVO;
|
||||
import cn.iocoder.mall.product.application.vo.users.UsersProductSpuDetailVO;
|
||||
import cn.iocoder.mall.product.application.vo.users.UsersProductSpuPageVO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:47:09+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class ProductSpuConvertImpl implements ProductSpuConvert {
|
||||
|
||||
@Override
|
||||
public AdminsProductSpuDetailVO convert(ProductSpuDetailBO productSpuDetailBO) {
|
||||
if ( productSpuDetailBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductSpuDetailVO adminsProductSpuDetailVO = new AdminsProductSpuDetailVO();
|
||||
|
||||
adminsProductSpuDetailVO.setId( productSpuDetailBO.getId() );
|
||||
adminsProductSpuDetailVO.setName( productSpuDetailBO.getName() );
|
||||
adminsProductSpuDetailVO.setSellPoint( productSpuDetailBO.getSellPoint() );
|
||||
adminsProductSpuDetailVO.setDescription( productSpuDetailBO.getDescription() );
|
||||
adminsProductSpuDetailVO.setCid( productSpuDetailBO.getCid() );
|
||||
List<String> list = productSpuDetailBO.getPicUrls();
|
||||
if ( list != null ) {
|
||||
adminsProductSpuDetailVO.setPicUrls( new ArrayList<String>( list ) );
|
||||
}
|
||||
adminsProductSpuDetailVO.setVisible( productSpuDetailBO.getVisible() );
|
||||
adminsProductSpuDetailVO.setSort( productSpuDetailBO.getSort() );
|
||||
adminsProductSpuDetailVO.setSkus( skuListToAdminsProductSkuDetailVOList( productSpuDetailBO.getSkus() ) );
|
||||
|
||||
return adminsProductSpuDetailVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminsProductSpuPageVO convert2(ProductSpuPageBO result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductSpuPageVO adminsProductSpuPageVO = new AdminsProductSpuPageVO();
|
||||
|
||||
adminsProductSpuPageVO.setList( convert3( result.getList() ) );
|
||||
adminsProductSpuPageVO.setTotal( result.getTotal() );
|
||||
|
||||
return adminsProductSpuPageVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AdminsProductSpuVO> convert3(List<ProductSpuBO> result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<AdminsProductSpuVO> list = new ArrayList<AdminsProductSpuVO>( result.size() );
|
||||
for ( ProductSpuBO productSpuBO : result ) {
|
||||
list.add( productSpuBOToAdminsProductSpuVO( productSpuBO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UsersProductSpuPageVO convert3(ProductSpuPageBO result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsersProductSpuPageVO usersProductSpuPageVO = new UsersProductSpuPageVO();
|
||||
|
||||
return usersProductSpuPageVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UsersProductSpuDetailVO convert4(ProductSpuDetailBO result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsersProductSpuDetailVO usersProductSpuDetailVO = new UsersProductSpuDetailVO();
|
||||
|
||||
usersProductSpuDetailVO.setId( result.getId() );
|
||||
usersProductSpuDetailVO.setName( result.getName() );
|
||||
usersProductSpuDetailVO.setSellPoint( result.getSellPoint() );
|
||||
usersProductSpuDetailVO.setDescription( result.getDescription() );
|
||||
usersProductSpuDetailVO.setCid( result.getCid() );
|
||||
List<String> list = result.getPicUrls();
|
||||
if ( list != null ) {
|
||||
usersProductSpuDetailVO.setPicUrls( new ArrayList<String>( list ) );
|
||||
}
|
||||
usersProductSpuDetailVO.setSkus( skuListToUsersProductSkuDetailVOList( result.getSkus() ) );
|
||||
|
||||
return usersProductSpuDetailVO;
|
||||
}
|
||||
|
||||
protected AdminsProductAttrAndValuePairVO productAttrAndValuePairBOToAdminsProductAttrAndValuePairVO(ProductAttrAndValuePairBO productAttrAndValuePairBO) {
|
||||
if ( productAttrAndValuePairBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductAttrAndValuePairVO adminsProductAttrAndValuePairVO = new AdminsProductAttrAndValuePairVO();
|
||||
|
||||
adminsProductAttrAndValuePairVO.setAttrId( productAttrAndValuePairBO.getAttrId() );
|
||||
adminsProductAttrAndValuePairVO.setAttrName( productAttrAndValuePairBO.getAttrName() );
|
||||
adminsProductAttrAndValuePairVO.setAttrValueId( productAttrAndValuePairBO.getAttrValueId() );
|
||||
adminsProductAttrAndValuePairVO.setAttrValueName( productAttrAndValuePairBO.getAttrValueName() );
|
||||
|
||||
return adminsProductAttrAndValuePairVO;
|
||||
}
|
||||
|
||||
protected List<AdminsProductAttrAndValuePairVO> productAttrAndValuePairBOListToAdminsProductAttrAndValuePairVOList(List<ProductAttrAndValuePairBO> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<AdminsProductAttrAndValuePairVO> list1 = new ArrayList<AdminsProductAttrAndValuePairVO>( list.size() );
|
||||
for ( ProductAttrAndValuePairBO productAttrAndValuePairBO : list ) {
|
||||
list1.add( productAttrAndValuePairBOToAdminsProductAttrAndValuePairVO( productAttrAndValuePairBO ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
protected AdminsProductSkuDetailVO skuToAdminsProductSkuDetailVO(Sku sku) {
|
||||
if ( sku == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductSkuDetailVO adminsProductSkuDetailVO = new AdminsProductSkuDetailVO();
|
||||
|
||||
adminsProductSkuDetailVO.setId( sku.getId() );
|
||||
adminsProductSkuDetailVO.setSpuId( sku.getSpuId() );
|
||||
adminsProductSkuDetailVO.setPicURL( sku.getPicURL() );
|
||||
adminsProductSkuDetailVO.setAttrs( productAttrAndValuePairBOListToAdminsProductAttrAndValuePairVOList( sku.getAttrs() ) );
|
||||
adminsProductSkuDetailVO.setPrice( sku.getPrice() );
|
||||
adminsProductSkuDetailVO.setQuantity( sku.getQuantity() );
|
||||
|
||||
return adminsProductSkuDetailVO;
|
||||
}
|
||||
|
||||
protected List<AdminsProductSkuDetailVO> skuListToAdminsProductSkuDetailVOList(List<Sku> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<AdminsProductSkuDetailVO> list1 = new ArrayList<AdminsProductSkuDetailVO>( list.size() );
|
||||
for ( Sku sku : list ) {
|
||||
list1.add( skuToAdminsProductSkuDetailVO( sku ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
protected AdminsProductSpuVO productSpuBOToAdminsProductSpuVO(ProductSpuBO productSpuBO) {
|
||||
if ( productSpuBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsProductSpuVO adminsProductSpuVO = new AdminsProductSpuVO();
|
||||
|
||||
adminsProductSpuVO.setId( productSpuBO.getId() );
|
||||
adminsProductSpuVO.setName( productSpuBO.getName() );
|
||||
adminsProductSpuVO.setSellPoint( productSpuBO.getSellPoint() );
|
||||
adminsProductSpuVO.setDescription( productSpuBO.getDescription() );
|
||||
adminsProductSpuVO.setCid( productSpuBO.getCid() );
|
||||
List<String> list = productSpuBO.getPicUrls();
|
||||
if ( list != null ) {
|
||||
adminsProductSpuVO.setPicUrls( new ArrayList<String>( list ) );
|
||||
}
|
||||
adminsProductSpuVO.setQuantity( productSpuBO.getQuantity() );
|
||||
adminsProductSpuVO.setVisible( productSpuBO.getVisible() );
|
||||
adminsProductSpuVO.setSort( productSpuBO.getSort() );
|
||||
|
||||
return adminsProductSpuVO;
|
||||
}
|
||||
|
||||
protected UsersProductAttrAndValuePairVO productAttrAndValuePairBOToUsersProductAttrAndValuePairVO(ProductAttrAndValuePairBO productAttrAndValuePairBO) {
|
||||
if ( productAttrAndValuePairBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsersProductAttrAndValuePairVO usersProductAttrAndValuePairVO = new UsersProductAttrAndValuePairVO();
|
||||
|
||||
usersProductAttrAndValuePairVO.setAttrId( productAttrAndValuePairBO.getAttrId() );
|
||||
usersProductAttrAndValuePairVO.setAttrName( productAttrAndValuePairBO.getAttrName() );
|
||||
usersProductAttrAndValuePairVO.setAttrValueId( productAttrAndValuePairBO.getAttrValueId() );
|
||||
usersProductAttrAndValuePairVO.setAttrValueName( productAttrAndValuePairBO.getAttrValueName() );
|
||||
|
||||
return usersProductAttrAndValuePairVO;
|
||||
}
|
||||
|
||||
protected List<UsersProductAttrAndValuePairVO> productAttrAndValuePairBOListToUsersProductAttrAndValuePairVOList(List<ProductAttrAndValuePairBO> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<UsersProductAttrAndValuePairVO> list1 = new ArrayList<UsersProductAttrAndValuePairVO>( list.size() );
|
||||
for ( ProductAttrAndValuePairBO productAttrAndValuePairBO : list ) {
|
||||
list1.add( productAttrAndValuePairBOToUsersProductAttrAndValuePairVO( productAttrAndValuePairBO ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
|
||||
protected UsersProductSkuDetailVO skuToUsersProductSkuDetailVO(Sku sku) {
|
||||
if ( sku == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsersProductSkuDetailVO usersProductSkuDetailVO = new UsersProductSkuDetailVO();
|
||||
|
||||
usersProductSkuDetailVO.setId( sku.getId() );
|
||||
usersProductSkuDetailVO.setSpuId( sku.getSpuId() );
|
||||
usersProductSkuDetailVO.setPicURL( sku.getPicURL() );
|
||||
usersProductSkuDetailVO.setAttrs( productAttrAndValuePairBOListToUsersProductAttrAndValuePairVOList( sku.getAttrs() ) );
|
||||
usersProductSkuDetailVO.setPrice( sku.getPrice() );
|
||||
usersProductSkuDetailVO.setQuantity( sku.getQuantity() );
|
||||
|
||||
return usersProductSkuDetailVO;
|
||||
}
|
||||
|
||||
protected List<UsersProductSkuDetailVO> skuListToUsersProductSkuDetailVOList(List<Sku> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<UsersProductSkuDetailVO> list1 = new ArrayList<UsersProductSkuDetailVO>( list.size() );
|
||||
for ( Sku sku : list ) {
|
||||
list1.add( skuToUsersProductSkuDetailVO( sku ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
package cn.iocoder.mall.product.api;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrandBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrangPageBO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandAddDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandPageDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandUpdateDTO;
|
||||
|
||||
public interface ProductBrandService {
|
||||
|
||||
/**
|
||||
* 获取品牌分页数据
|
||||
* @param productBrandPageDTO 翻页参数
|
||||
* @return
|
||||
*/
|
||||
ProductBrangPageBO getProductBrandPage(ProductBrandPageDTO productBrandPageDTO);
|
||||
|
||||
/**
|
||||
* 获取品牌明细
|
||||
* @param id 主键
|
||||
* @return
|
||||
*/
|
||||
ProductBrandBO getProductBrand(Integer id);
|
||||
|
||||
/**
|
||||
* 添加品牌
|
||||
* @param productBrandAddDTO 添加参数
|
||||
* @return
|
||||
*/
|
||||
ProductBrandBO addProductBrand(Integer adminId, ProductBrandAddDTO productBrandAddDTO);
|
||||
|
||||
/**
|
||||
* 更新品牌
|
||||
* @param productBrandUpdateDTO 更新参数
|
||||
* @return
|
||||
*/
|
||||
Boolean updateProductBrand(Integer adminId, ProductBrandUpdateDTO productBrandUpdateDTO);
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
package cn.iocoder.mall.product.api.bo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 商品品牌 VO
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ProductBrandBO implements Serializable {
|
||||
|
||||
/**
|
||||
* 规格编号
|
||||
*/
|
||||
private Integer id;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
private String picUrl;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*
|
||||
* 1-开启
|
||||
* 2-禁用
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package cn.iocoder.mall.product.api.bo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 商品品牌分页 BO
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ProductBrangPageBO implements Serializable {
|
||||
|
||||
/**
|
||||
* 品牌数组
|
||||
*/
|
||||
private List<ProductBrandBO> brands;
|
||||
/**
|
||||
* 总数
|
||||
*/
|
||||
private Integer count;
|
||||
|
||||
}
|
|
@ -30,6 +30,9 @@ public enum ProductErrorCodeEnum {
|
|||
PRODUCT_ATTR_STATUS_EQUALS(1003003003, "商品规格已经是该状态"),
|
||||
PRODUCT_ATTR_VALUE_EXISTS(1003003004, "商品规格值已经存在"),
|
||||
PRODUCT_ATTR_VALUE_STATUS_EQUALS(1003003005, "商品规格值已经是该状态"),
|
||||
|
||||
// ========== PRODUCT BRAND模块 ==========
|
||||
PRODUCT_BRAND_EXIST(1003004000, "品牌值已经存在"),
|
||||
;
|
||||
|
||||
private final int code;
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
package cn.iocoder.mall.product.api.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* Product 品牌添加 DTO
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ProductBrandAddDTO {
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotEmpty(message = "品牌名不能为空")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
@NotEmpty(message = "品牌描述不能为空")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
@NotEmpty(message = "品牌图片地址不能为空")
|
||||
private String picUrl;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*
|
||||
* 1-开启
|
||||
* 2-禁用
|
||||
*/
|
||||
@NotNull(message = "品牌状态不能为空")
|
||||
private Integer status;
|
||||
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package cn.iocoder.mall.product.api.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 商品品牌分页 DTO
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ProductBrandPageDTO {
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 状态 1-开启 2-禁用
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
@NotNull(message = "页码不能为空")
|
||||
private Integer pageNo;
|
||||
|
||||
@NotNull(message = "每页条数不能为空")
|
||||
private Integer pageSize;
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package cn.iocoder.mall.product.api.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* Product 品牌添加 DTO
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ProductBrandUpdateDTO {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotNull(message = "品牌主键不能为空")
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotEmpty(message = "品牌名不能为空")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
@NotEmpty(message = "品牌描述不能为空")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
@NotEmpty(message = "品牌图片地址不能为空")
|
||||
private String picUrl;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*
|
||||
* 1-开启
|
||||
* 2-禁用
|
||||
*/
|
||||
@NotNull(message = "品牌状态不能为空")
|
||||
private Integer status;
|
||||
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package cn.iocoder.mall.product.convert;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrandBO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandAddDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandUpdateDTO;
|
||||
import cn.iocoder.mall.product.dataobject.ProductBrandDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface ProductBrandConvert {
|
||||
|
||||
ProductBrandConvert INSTANCE = Mappers.getMapper(ProductBrandConvert.class);
|
||||
|
||||
@Mappings({})
|
||||
List<ProductBrandBO> convert(List<ProductBrandDO> brands);
|
||||
|
||||
@Mappings({})
|
||||
ProductBrandBO convert(ProductBrandDO brand);
|
||||
|
||||
@Mappings({})
|
||||
ProductBrandDO convert(ProductBrandUpdateDTO brand);
|
||||
|
||||
@Mappings({})
|
||||
ProductBrandDO convert(ProductBrandAddDTO brand);
|
||||
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package cn.iocoder.mall.product.dao;
|
||||
|
||||
import cn.iocoder.mall.product.dataobject.ProductBrandDO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface ProductBrandMapper {
|
||||
|
||||
/**
|
||||
* 根据 id 获取数据
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProductBrandDO selectById(@Param("id") Integer id);
|
||||
|
||||
/**
|
||||
* 根据 name 获取数据
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
ProductBrandDO selectByName(@Param("name") String name);
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param name 名称
|
||||
* @param description 描述
|
||||
* @param status 状态 1开启 2禁用
|
||||
* @param offset 偏移量
|
||||
* @param limit 数量
|
||||
* @return
|
||||
*/
|
||||
List<ProductBrandDO> selectListByParams(@Param("name") String name,
|
||||
@Param("description") String description,
|
||||
@Param("status") Integer status,
|
||||
@Param("offset") Integer offset,
|
||||
@Param("limit") Integer limit);
|
||||
|
||||
/**
|
||||
* 分页数量统计
|
||||
* @param name 名称
|
||||
* @param description 描述
|
||||
* @param status 状态 1开启 2禁用
|
||||
* @return
|
||||
*/
|
||||
Integer selectListCountByParams(@Param("name") String name,
|
||||
@Param("description") String description,
|
||||
@Param("status") Integer status);
|
||||
|
||||
/**
|
||||
* 新增数据
|
||||
* @param productBrandDO
|
||||
*/
|
||||
void insert(ProductBrandDO productBrandDO);
|
||||
|
||||
/**
|
||||
* 更新数据
|
||||
* @param productBrandDO
|
||||
*/
|
||||
void update(ProductBrandDO productBrandDO);
|
||||
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package cn.iocoder.mall.product.dataobject;
|
||||
|
||||
import cn.iocoder.common.framework.dataobject.DeletableDO;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* Product 品牌
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ProductBrandDO extends DeletableDO {
|
||||
|
||||
/**
|
||||
* 规格编号
|
||||
*/
|
||||
private Integer id;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
private String picUrl;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*
|
||||
* 1-开启
|
||||
* 2-禁用
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
package cn.iocoder.mall.product.service;
|
||||
|
||||
import cn.iocoder.common.framework.util.ServiceExceptionUtil;
|
||||
import cn.iocoder.mall.product.api.ProductBrandService;
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrandBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrangPageBO;
|
||||
import cn.iocoder.mall.product.api.constant.ProductErrorCodeEnum;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandAddDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandPageDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandUpdateDTO;
|
||||
import cn.iocoder.mall.product.convert.ProductBrandConvert;
|
||||
import cn.iocoder.mall.product.dao.ProductBrandMapper;
|
||||
import cn.iocoder.mall.product.dataobject.ProductBrandDO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 商品规格 Service 实现类
|
||||
*
|
||||
* @see ProductBrandDO
|
||||
*/
|
||||
@Service
|
||||
@org.apache.dubbo.config.annotation.Service(validation = "true", version = "${dubbo.provider.ProductBrandService.version}")
|
||||
public class ProductBrandServiceImpl implements ProductBrandService {
|
||||
|
||||
@Autowired
|
||||
private ProductBrandMapper productBrandMapper;
|
||||
|
||||
/**
|
||||
* 获取品牌分页数据
|
||||
* @param productBrandPageDTO 分页参数
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProductBrangPageBO getProductBrandPage(ProductBrandPageDTO productBrandPageDTO) {
|
||||
ProductBrangPageBO productBrangPageBO = new ProductBrangPageBO();
|
||||
// 查询分页数据
|
||||
int offset = (productBrandPageDTO.getPageNo() - 1) * productBrandPageDTO.getPageSize();
|
||||
productBrangPageBO.setBrands(
|
||||
ProductBrandConvert.INSTANCE.convert(
|
||||
productBrandMapper.selectListByParams(productBrandPageDTO.getName(),
|
||||
productBrandPageDTO.getDescription(),
|
||||
productBrandPageDTO.getStatus(),
|
||||
offset, productBrandPageDTO.getPageSize())));
|
||||
// 查询分页总数
|
||||
productBrangPageBO.setCount(productBrandMapper.selectListCountByParams(productBrandPageDTO.getName(),
|
||||
productBrandPageDTO.getDescription(),
|
||||
productBrandPageDTO.getStatus()));
|
||||
return productBrangPageBO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取品牌明细
|
||||
* @param id 主键
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProductBrandBO getProductBrand(Integer id) {
|
||||
ProductBrandBO productBrandBO = new ProductBrandBO();
|
||||
productBrandBO = ProductBrandConvert.INSTANCE.convert(productBrandMapper.selectById(id));
|
||||
return productBrandBO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加品牌
|
||||
* @param adminId
|
||||
* @param productBrandAddDTO 添加参数
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProductBrandBO addProductBrand(Integer adminId, ProductBrandAddDTO productBrandAddDTO) {
|
||||
// 校验品牌名不重复
|
||||
if (productBrandMapper.selectByName(productBrandAddDTO.getName()) != null) {
|
||||
throw ServiceExceptionUtil.exception(ProductErrorCodeEnum.PRODUCT_BRAND_EXIST.getCode());
|
||||
}
|
||||
ProductBrandDO productBrandDO = new ProductBrandDO();
|
||||
productBrandDO = ProductBrandConvert.INSTANCE.convert(productBrandAddDTO);
|
||||
productBrandMapper.insert(productBrandDO);
|
||||
return ProductBrandConvert.INSTANCE.convert(productBrandDO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新品牌
|
||||
* @param adminId
|
||||
* @param productBrandUpdateDTO 更新参数
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateProductBrand(Integer adminId, ProductBrandUpdateDTO productBrandUpdateDTO) {
|
||||
ProductBrandDO productBrandDO = new ProductBrandDO();
|
||||
productBrandDO = ProductBrandConvert.INSTANCE.convert(productBrandUpdateDTO);
|
||||
productBrandMapper.update(productBrandDO);
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -31,6 +31,8 @@ dubbo:
|
|||
version: 1.0.0
|
||||
ProductSpuService:
|
||||
version: 1.0.0
|
||||
ProductBrandService:
|
||||
version: 1.0.0
|
||||
OAuth2Service:
|
||||
version: 1.0.0
|
||||
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="cn.iocoder.mall.product.dao.ProductBrandMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, name, description, pic_url, status, create_time
|
||||
</sql>
|
||||
|
||||
<select id="selectById" parameterType="Integer" resultType="ProductBrandDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_brand
|
||||
WHERE id = #{id}
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectByName" parameterType="String" resultType="ProductBrandDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_brand
|
||||
WHERE name = #{name}
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
|
||||
<insert id="insert" parameterType="ProductBrandDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO product_brand (
|
||||
name, description, pic_url, status, create_time, deleted
|
||||
) VALUES (
|
||||
#{name}, #{description}, #{picUrl}, #{status}, #{createTime}, #{deleted}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="ProductBrandDO">
|
||||
UPDATE product_brand
|
||||
<set>
|
||||
<if test="name != null">
|
||||
name = #{name},
|
||||
</if>
|
||||
<if test="description != null">
|
||||
description = #{description},
|
||||
</if>
|
||||
<if test="picUrl != null">
|
||||
pic_url = #{picUrl},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status},
|
||||
</if>
|
||||
<if test="deleted != null">
|
||||
deleted = #{deleted}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<select id="selectListByParams" resultType="ProductBrandDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_brand
|
||||
<where>
|
||||
deleted = 0
|
||||
<if test="name != null">
|
||||
AND name LIKE "%"#{name}"%"
|
||||
</if>
|
||||
<if test="description != null">
|
||||
AND description LIKE "%"#{description}"%"
|
||||
</if>
|
||||
<if test="status != null">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
</where>
|
||||
LIMIT #{offset}, #{limit}
|
||||
</select>
|
||||
|
||||
<select id="selectListCountByParams" resultType="Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM product_brand
|
||||
<where>
|
||||
deleted = 0
|
||||
<if test="name != null">
|
||||
AND name LIKE "%"#{name}"%"
|
||||
</if>
|
||||
<if test="description != null">
|
||||
AND description LIKE "%"#{description}"%"
|
||||
</if>
|
||||
<if test="status != null">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,13 @@
|
|||
spring:
|
||||
# datasource
|
||||
datasource:
|
||||
url: jdbc:mysql://192.168.88.14:3306/mall_product?useSSL=false&useUnicode=true&characterEncoding=UTF-8
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
username: root
|
||||
password: ${MALL_MYSQL_PASSWORD}
|
||||
|
||||
# rocketmq
|
||||
rocketmq:
|
||||
name-server: 192.168.88.14:9876
|
||||
producer:
|
||||
group: product-producer-group
|
|
@ -0,0 +1,47 @@
|
|||
spring:
|
||||
# datasource
|
||||
datasource:
|
||||
url: jdbc:mysql://180.167.213.26:13306/mall_product?useSSL=false&useUnicode=true&characterEncoding=UTF-8
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
username: root
|
||||
password: ${MALL_MYSQL_PASSWORD}
|
||||
|
||||
# mybatis
|
||||
mybatis-plus:
|
||||
config-location: classpath:mybatis-config.xml
|
||||
mapper-locations: classpath:mapper/*.xml
|
||||
type-aliases-package: cn.iocoder.mall.product.dataobject
|
||||
|
||||
# dubbo
|
||||
dubbo:
|
||||
application:
|
||||
name: product-service
|
||||
registry:
|
||||
address: zookeeper://127.0.0.1:2181
|
||||
protocol:
|
||||
port: -1
|
||||
name: dubbo
|
||||
scan:
|
||||
base-packages: cn.iocoder.mall.product.service
|
||||
provider:
|
||||
filter: -exception
|
||||
ProductAttrService:
|
||||
version: 1.0.0
|
||||
ProductCategoryService:
|
||||
version: 1.0.0
|
||||
ProductSpuService:
|
||||
version: 1.0.0
|
||||
ProductBrandService:
|
||||
version: 1.0.0
|
||||
OAuth2Service:
|
||||
version: 1.0.0
|
||||
|
||||
# rocketmq
|
||||
rocketmq:
|
||||
name-server: 127.0.0.1:9876
|
||||
producer:
|
||||
group: product-producer-group
|
||||
|
||||
# seata
|
||||
seata:
|
||||
tx-service-group: my_test_tx_group
|
|
@ -0,0 +1,69 @@
|
|||
transport {
|
||||
# tcp udt unix-domain-socket
|
||||
type = "TCP"
|
||||
#NIO NATIVE
|
||||
server = "NIO"
|
||||
#enable heartbeat
|
||||
heartbeat = true
|
||||
#thread factory for netty
|
||||
thread-factory {
|
||||
boss-thread-prefix = "NettyBoss"
|
||||
worker-thread-prefix = "NettyServerNIOWorker"
|
||||
server-executor-thread-prefix = "NettyServerBizHandler"
|
||||
share-boss-worker = false
|
||||
client-selector-thread-prefix = "NettyClientSelector"
|
||||
client-selector-thread-size = 1
|
||||
client-worker-thread-prefix = "NettyClientWorkerThread"
|
||||
# netty boss thread size,will not be used for UDT
|
||||
boss-thread-size = 1
|
||||
#auto default pin or 8
|
||||
worker-thread-size = 8
|
||||
}
|
||||
}
|
||||
|
||||
service {
|
||||
#vgroup->rgroup
|
||||
vgroup_mapping.my_test_tx_group = "default"
|
||||
#only support single node
|
||||
default.grouplist = "180.167.213.26:8091"
|
||||
#degrade current not support
|
||||
enableDegrade = false
|
||||
#disable
|
||||
disable = false
|
||||
}
|
||||
|
||||
client {
|
||||
async.commit.buffer.limit = 10000
|
||||
lock {
|
||||
retry.internal = 10
|
||||
retry.times = 30
|
||||
}
|
||||
}
|
||||
## transaction log store
|
||||
store {
|
||||
## store mode: file、db
|
||||
mode = "file"
|
||||
|
||||
## file store
|
||||
file {
|
||||
dir = "file_store/data"
|
||||
|
||||
# branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions
|
||||
max-branch-session-size = 16384
|
||||
# globe session size , if exceeded throws exceptions
|
||||
max-global-session-size = 512
|
||||
# file buffer size , if exceeded allocate new buffer
|
||||
file-write-buffer-cache-size = 16384
|
||||
# when recover batch read size
|
||||
session.reload.read_size = 100
|
||||
}
|
||||
|
||||
## database store
|
||||
db {
|
||||
driver_class = ""
|
||||
url = ""
|
||||
user = ""
|
||||
password = ""
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="cn.iocoder.mall.product.dao.ProductAttrMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, name, status, create_time
|
||||
</sql>
|
||||
|
||||
<!--<select id="selectList" resultType="ProductCategoryDO">-->
|
||||
<!--SELECT-->
|
||||
<!--<include refid="FIELDS" />-->
|
||||
<!--FROM product_category-->
|
||||
<!--WHERE deleted = 0-->
|
||||
<!--</select>-->
|
||||
|
||||
<select id="selectById" parameterType="Integer" resultType="ProductAttrDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_attr
|
||||
WHERE id = #{id}
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectByName" parameterType="String" resultType="ProductAttrDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_attr
|
||||
WHERE name = #{name}
|
||||
AND deleted = 0
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="ProductAttrDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO product_attr (
|
||||
name, status, create_time, deleted
|
||||
) VALUES (
|
||||
#{name}, #{status}, #{createTime}, #{deleted}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="ProductAttrDO">
|
||||
UPDATE product_attr
|
||||
<set>
|
||||
<if test="name != null">
|
||||
name = #{name},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status},
|
||||
</if>
|
||||
<if test="deleted != null">
|
||||
deleted = #{deleted}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="selectListByIds" resultType="ProductAttrDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_attr
|
||||
WHERE id IN
|
||||
<foreach item="id" collection="ids" separator="," open="(" close=")" index="">
|
||||
#{id}
|
||||
</foreach>
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectListByNameLike" resultType="ProductAttrDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_attr
|
||||
<where>
|
||||
<if test="name != null">
|
||||
name LIKE "%"#{name}"%"
|
||||
</if>
|
||||
AND deleted = 0
|
||||
</where>
|
||||
LIMIT #{offset}, #{limit}
|
||||
</select>
|
||||
|
||||
<select id="selectCountByNameLike" resultType="Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM product_attr
|
||||
<where>
|
||||
<if test="name != null">
|
||||
name LIKE "%"#{name}"%"
|
||||
</if>
|
||||
AND deleted = 0
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectListByStatus" parameterType="Integer" resultType="ProductAttrDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_attr
|
||||
<where>
|
||||
<if test="status != null">
|
||||
status = #{status}
|
||||
</if>
|
||||
AND deleted = 0
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,130 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="cn.iocoder.mall.product.dao.ProductAttrValueMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, attr_id, name, status, create_time
|
||||
</sql>
|
||||
|
||||
<!--<select id="selectList" resultType="ProductCategoryDO">-->
|
||||
<!--SELECT-->
|
||||
<!--<include refid="FIELDS" />-->
|
||||
<!--FROM product_category-->
|
||||
<!--WHERE deleted = 0-->
|
||||
<!--</select>-->
|
||||
|
||||
<select id="selectById" parameterType="Integer" resultType="ProductAttrValueDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_attr_value
|
||||
WHERE id = #{id}
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<!--<insert id="insert" parameterType="ProductCategoryDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">-->
|
||||
<!--INSERT INTO product_category (-->
|
||||
<!--pid, name, description, pic_url, sort,-->
|
||||
<!--status, create_time, deleted-->
|
||||
<!--) VALUES (-->
|
||||
<!--#{pid}, #{name}, #{description}, #{picUrl}, #{sort},-->
|
||||
<!--#{status}, #{createTime}, #{deleted}-->
|
||||
<!--)-->
|
||||
<!--</insert>-->
|
||||
|
||||
<!--<update id="update" parameterType="ProductCategoryDO">-->
|
||||
<!--UPDATE product_category-->
|
||||
<!--<set>-->
|
||||
<!--<if test="pid != null">-->
|
||||
<!--pid = #{pid},-->
|
||||
<!--</if>-->
|
||||
<!--<if test="name != null">-->
|
||||
<!--name = #{name},-->
|
||||
<!--</if>-->
|
||||
<!--<if test="description != null">-->
|
||||
<!--description = #{description},-->
|
||||
<!--</if>-->
|
||||
<!--<if test="picUrl != null">-->
|
||||
<!--pic_url = #{picUrl},-->
|
||||
<!--</if>-->
|
||||
<!--<if test="sort != null">-->
|
||||
<!--sort = #{sort},-->
|
||||
<!--</if>-->
|
||||
<!--<if test="status != null">-->
|
||||
<!--status = #{status},-->
|
||||
<!--</if>-->
|
||||
<!--<if test="deleted != null">-->
|
||||
<!--deleted = #{deleted}-->
|
||||
<!--</if>-->
|
||||
<!--</set>-->
|
||||
<!--WHERE id = #{id}-->
|
||||
<!--</update>-->
|
||||
|
||||
<select id="selectListByIds" resultType="ProductAttrValueDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_attr_value
|
||||
WHERE id IN
|
||||
<foreach item="id" collection="ids" separator="," open="(" close=")" index="">
|
||||
#{id}
|
||||
</foreach>
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectListByAttrIds" resultType="ProductAttrValueDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_attr_value
|
||||
WHERE attr_id IN
|
||||
<foreach item="attrId" collection="attrIds" separator="," open="(" close=")" index="">
|
||||
#{attrId}
|
||||
</foreach>
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectListByStatus" resultType="ProductAttrValueDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_attr_value
|
||||
<where>
|
||||
<if test="status != null">
|
||||
status = #{status}
|
||||
</if>
|
||||
AND deleted = 0
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectByAttrIdAndName" resultType="ProductAttrValueDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_attr_value
|
||||
WHERE name = #{name}
|
||||
AND deleted = 0
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="ProductAttrValueDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO product_attr_value (
|
||||
attr_id, name, status, create_time, deleted
|
||||
) VALUES (
|
||||
#{attrId}, #{name}, #{status}, #{createTime}, #{deleted}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="ProductAttrValueDO">
|
||||
UPDATE product_attr_value
|
||||
<set>
|
||||
<if test="name != null">
|
||||
name = #{name},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status},
|
||||
</if>
|
||||
<if test="deleted != null">
|
||||
deleted = #{deleted}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,95 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="cn.iocoder.mall.product.dao.ProductBrandMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, name, description, pic_url, status, create_time
|
||||
</sql>
|
||||
|
||||
<select id="selectById" parameterType="Integer" resultType="ProductBrandDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_brand
|
||||
WHERE id = #{id}
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectByName" parameterType="String" resultType="ProductBrandDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_brand
|
||||
WHERE name = #{name}
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
|
||||
<insert id="insert" parameterType="ProductBrandDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO product_brand (
|
||||
name, description, pic_url, status, create_time, deleted
|
||||
) VALUES (
|
||||
#{name}, #{description}, #{picUrl}, #{status}, #{createTime}, #{deleted}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="ProductBrandDO">
|
||||
UPDATE product_brand
|
||||
<set>
|
||||
<if test="name != null">
|
||||
name = #{name},
|
||||
</if>
|
||||
<if test="description != null">
|
||||
description = #{description},
|
||||
</if>
|
||||
<if test="picUrl != null">
|
||||
pic_url = #{picUrl},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status},
|
||||
</if>
|
||||
<if test="deleted != null">
|
||||
deleted = #{deleted}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<select id="selectListByParams" resultType="ProductBrandDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_brand
|
||||
<where>
|
||||
deleted = 0
|
||||
<if test="name != null">
|
||||
AND name LIKE "%"#{name}"%"
|
||||
</if>
|
||||
<if test="description != null">
|
||||
AND description LIKE "%"#{description}"%"
|
||||
</if>
|
||||
<if test="status != null">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
</where>
|
||||
LIMIT #{offset}, #{limit}
|
||||
</select>
|
||||
|
||||
<select id="selectListCountByParams" resultType="Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM product_brand
|
||||
<where>
|
||||
deleted = 0
|
||||
<if test="name != null">
|
||||
AND name LIKE "%"#{name}"%"
|
||||
</if>
|
||||
<if test="description != null">
|
||||
AND description LIKE "%"#{description}"%"
|
||||
</if>
|
||||
<if test="status != null">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,84 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="cn.iocoder.mall.product.dao.ProductCategoryMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, pid, name, description, pic_url,
|
||||
sort, status, create_time
|
||||
</sql>
|
||||
|
||||
<select id="selectListByPidAndStatusOrderBySort" resultType="ProductCategoryDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_category
|
||||
WHERE pid = #{pid}
|
||||
AND status = #{status}
|
||||
AND deleted = 0
|
||||
ORDER BY sort ASC
|
||||
</select>
|
||||
|
||||
<select id="selectList" resultType="ProductCategoryDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_category
|
||||
WHERE deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectById" parameterType="Integer" resultType="ProductCategoryDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_category
|
||||
WHERE id = #{id}
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectByIds" resultType="ProductCategoryDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_category
|
||||
WHERE id IN
|
||||
<foreach collection="ids" item="id" separator="," open="(" close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="ProductCategoryDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO product_category (
|
||||
pid, name, description, pic_url, sort,
|
||||
status, create_time, deleted
|
||||
) VALUES (
|
||||
#{pid}, #{name}, #{description}, #{picUrl}, #{sort},
|
||||
#{status}, #{createTime}, #{deleted}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="ProductCategoryDO">
|
||||
UPDATE product_category
|
||||
<set>
|
||||
<if test="pid != null">
|
||||
pid = #{pid},
|
||||
</if>
|
||||
<if test="name != null">
|
||||
name = #{name},
|
||||
</if>
|
||||
<if test="description != null">
|
||||
description = #{description},
|
||||
</if>
|
||||
<if test="picUrl != null">
|
||||
pic_url = #{picUrl},
|
||||
</if>
|
||||
<if test="sort != null">
|
||||
sort = #{sort},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status},
|
||||
</if>
|
||||
<if test="deleted != null">
|
||||
deleted = #{deleted}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,87 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.product.dao.ProductSkuMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, spu_id, status, pic_url, attrs,
|
||||
price, quantity, create_time
|
||||
</sql>
|
||||
|
||||
<select id="selectById" parameterType="Integer" resultType="ProductSkuDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_sku
|
||||
WHERE id = #{id}
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectByIds" resultType="ProductSkuDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_sku
|
||||
WHERE id IN
|
||||
<foreach item="id" collection="ids" separator="," open="(" close=")" index="">
|
||||
#{id}
|
||||
</foreach>
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<insert id="insertList" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO product_sku (
|
||||
spu_id, status, pic_url, attrs, price,
|
||||
quantity, deleted, create_time
|
||||
) VALUES
|
||||
<foreach collection="productSkuDOs" item="productSkuDO" separator=",">
|
||||
(#{productSkuDO.spuId}, #{productSkuDO.status}, #{productSkuDO.picUrl}, #{productSkuDO.attrs}, #{productSkuDO.price},
|
||||
#{productSkuDO.quantity}, #{productSkuDO.deleted}, #{productSkuDO.createTime}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<select id="selectListBySpuIdAndStatus" resultType="ProductSkuDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_sku
|
||||
WHERE spu_id = #{spuId}
|
||||
AND status = #{status}
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<update id="update" parameterType="ProductSpuDO">
|
||||
UPDATE product_sku
|
||||
<set>
|
||||
<if test="spuId != null">
|
||||
spu_id = #{spuId},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status},
|
||||
</if>
|
||||
<if test="picUrl != null">
|
||||
pic_url = #{picUrl},
|
||||
</if>
|
||||
<if test="attrs != null">
|
||||
attrs = #{attrs},
|
||||
</if>
|
||||
<if test="price != null">
|
||||
price = #{price},
|
||||
</if>
|
||||
<if test="quantity != null">
|
||||
quantity = #{quantity},
|
||||
</if>
|
||||
<if test="deleted != null">
|
||||
deleted = #{deleted}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateToDeleted" parameterType="Integer">
|
||||
UPDATE product_sku
|
||||
SET deleted = 1
|
||||
WHERE id IN
|
||||
<foreach item="id" collection="ids" separator="," open="(" close=")" index="">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,145 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.mall.product.dao.ProductSpuMapper">
|
||||
|
||||
<sql id="FIELDS">
|
||||
id, name, sell_point, description, cid,
|
||||
pic_urls, visible, sort, price, quantity,
|
||||
create_time
|
||||
</sql>
|
||||
|
||||
<select id="selectById" parameterType="Integer" resultType="ProductSpuDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_spu
|
||||
WHERE id = #{id}
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectByIds" resultType="ProductSpuDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_spu
|
||||
WHERE id IN
|
||||
<foreach item="id" collection="ids" separator="," open="(" close=")" index="">
|
||||
#{id}
|
||||
</foreach>
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
<select id="selectIdListByIdGt" parameterType="Integer" resultType="Integer">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_spu
|
||||
<where>
|
||||
<if test="id != null">
|
||||
id > #{id}
|
||||
</if>
|
||||
AND deleted = 0
|
||||
</where>
|
||||
ORDER BY id ASC
|
||||
LIMIT #{limit}
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="ProductSpuDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
||||
INSERT INTO product_spu (
|
||||
name, sell_point, description, cid, pic_urls,
|
||||
visible, sort, price, quantity,
|
||||
deleted, create_time
|
||||
) VALUES (
|
||||
#{name}, #{sellPoint}, #{description}, #{cid}, #{picUrls},
|
||||
#{visible}, #{sort}, #{price}, #{quantity},
|
||||
#{deleted}, #{createTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="ProductSpuDO">
|
||||
UPDATE product_spu
|
||||
<set>
|
||||
<if test="name != null">
|
||||
name = #{name},
|
||||
</if>
|
||||
<if test="sellPoint != null">
|
||||
sell_point = #{sellPoint},
|
||||
</if>
|
||||
<if test="description != null">
|
||||
description = #{description},
|
||||
</if>
|
||||
<if test="cid != null">
|
||||
cid = #{cid},
|
||||
</if>
|
||||
<if test="picUrls != null">
|
||||
pic_urls = #{picUrls},
|
||||
</if>
|
||||
<if test="visible != null">
|
||||
visible = #{visible},
|
||||
</if>
|
||||
<if test="price != null">
|
||||
price = #{price},
|
||||
</if>
|
||||
<if test="quantity != null">
|
||||
quantity = #{quantity},
|
||||
</if>
|
||||
<if test="sort != null">
|
||||
sort = #{sort},
|
||||
</if>
|
||||
<if test="deleted != null">
|
||||
deleted = #{deleted}
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="selectListByNameLikeOrderBySortAsc" resultType="ProductSpuDO">
|
||||
SELECT
|
||||
<include refid="FIELDS" />
|
||||
FROM product_spu
|
||||
<where>
|
||||
<if test="name != null">
|
||||
name LIKE "%"#{name}"%"
|
||||
</if>
|
||||
<if test="cid != null">
|
||||
AND cid = #{cid}
|
||||
</if>
|
||||
<if test="visible != null">
|
||||
AND visible = #{visible}
|
||||
</if>
|
||||
<if test="hasQuantity == true">
|
||||
AND quantity > 0
|
||||
</if>
|
||||
<if test="hasQuantity == false">
|
||||
AND quantity = 0
|
||||
</if>
|
||||
AND deleted = 0
|
||||
</where>
|
||||
ORDER BY sort ASC
|
||||
<if test="offset != null and limit != null">
|
||||
LIMIT #{offset}, #{limit}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectCountByNameLike" resultType="Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM product_spu
|
||||
<where>
|
||||
<if test="name != null">
|
||||
name LIKE "%"#{name}"%"
|
||||
</if>
|
||||
<if test="cid != null">
|
||||
AND cid = #{cid}
|
||||
</if>
|
||||
<if test="visible != null">
|
||||
AND visible = #{visible}
|
||||
</if>
|
||||
<if test="hasQuantity == true">
|
||||
AND quantity > 0
|
||||
</if>
|
||||
<if test="hasQuantity == false">
|
||||
AND quantity = 0
|
||||
</if>
|
||||
AND deleted = 0
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||
<configuration>
|
||||
|
||||
<settings>
|
||||
<!-- 使用驼峰命名法转换字段。 -->
|
||||
<setting name="mapUnderscoreToCamelCase" value="true"/>
|
||||
</settings>
|
||||
|
||||
<typeAliases>
|
||||
<typeAlias alias="Integer" type="java.lang.Integer"/>
|
||||
<typeAlias alias="Long" type="java.lang.Long"/>
|
||||
<typeAlias alias="HashMap" type="java.util.HashMap"/>
|
||||
<typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap"/>
|
||||
<typeAlias alias="ArrayList" type="java.util.ArrayList"/>
|
||||
<typeAlias alias="LinkedList" type="java.util.LinkedList"/>
|
||||
</typeAliases>
|
||||
|
||||
</configuration>
|
|
@ -0,0 +1,14 @@
|
|||
registry {
|
||||
type = "file"
|
||||
|
||||
file {
|
||||
name = "file.conf"
|
||||
}
|
||||
|
||||
zk {
|
||||
cluster = "default"
|
||||
serverAddr = "192.168.88.10:2181"
|
||||
session.timeout = 6000
|
||||
connect.timeout = 2000
|
||||
}
|
||||
}
|
|
@ -0,0 +1,227 @@
|
|||
package cn.iocoder.mall.product.convert;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrDetailBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrSimpleBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrValueBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrValueDetailBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductAttrValueSimpleBO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductAttrAddDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductAttrUpdateDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductAttrValueAddDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductAttrValueUpdateDTO;
|
||||
import cn.iocoder.mall.product.dataobject.ProductAttrDO;
|
||||
import cn.iocoder.mall.product.dataobject.ProductAttrValueDO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:38:56+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class ProductAttrConvertImpl implements ProductAttrConvert {
|
||||
|
||||
@Override
|
||||
public List<ProductAttrDetailBO> convert(List<ProductAttrDO> attrs) {
|
||||
if ( attrs == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<ProductAttrDetailBO> list = new ArrayList<ProductAttrDetailBO>( attrs.size() );
|
||||
for ( ProductAttrDO productAttrDO : attrs ) {
|
||||
list.add( productAttrDOToProductAttrDetailBO( productAttrDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductAttrValueDetailBO convert(ProductAttrValueDO value) {
|
||||
if ( value == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductAttrValueDetailBO productAttrValueDetailBO = new ProductAttrValueDetailBO();
|
||||
|
||||
productAttrValueDetailBO.setId( value.getId() );
|
||||
productAttrValueDetailBO.setName( value.getName() );
|
||||
productAttrValueDetailBO.setStatus( value.getStatus() );
|
||||
productAttrValueDetailBO.setCreateTime( value.getCreateTime() );
|
||||
|
||||
return productAttrValueDetailBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProductAttrValueDetailBO> convert2(List<ProductAttrValueDO> values) {
|
||||
if ( values == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<ProductAttrValueDetailBO> list = new ArrayList<ProductAttrValueDetailBO>( values.size() );
|
||||
for ( ProductAttrValueDO productAttrValueDO : values ) {
|
||||
list.add( convert( productAttrValueDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProductAttrSimpleBO> convert3(List<ProductAttrDO> attrs) {
|
||||
if ( attrs == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<ProductAttrSimpleBO> list = new ArrayList<ProductAttrSimpleBO>( attrs.size() );
|
||||
for ( ProductAttrDO productAttrDO : attrs ) {
|
||||
list.add( productAttrDOToProductAttrSimpleBO( productAttrDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductAttrValueSimpleBO convert3(ProductAttrValueDO value) {
|
||||
if ( value == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductAttrValueSimpleBO productAttrValueSimpleBO = new ProductAttrValueSimpleBO();
|
||||
|
||||
productAttrValueSimpleBO.setId( value.getId() );
|
||||
productAttrValueSimpleBO.setName( value.getName() );
|
||||
|
||||
return productAttrValueSimpleBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProductAttrValueSimpleBO> convert4(List<ProductAttrValueDO> values) {
|
||||
if ( values == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<ProductAttrValueSimpleBO> list = new ArrayList<ProductAttrValueSimpleBO>( values.size() );
|
||||
for ( ProductAttrValueDO productAttrValueDO : values ) {
|
||||
list.add( convert3( productAttrValueDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductAttrDO convert(ProductAttrAddDTO productAttrAddDTO) {
|
||||
if ( productAttrAddDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductAttrDO productAttrDO = new ProductAttrDO();
|
||||
|
||||
productAttrDO.setName( productAttrAddDTO.getName() );
|
||||
|
||||
return productAttrDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductAttrDO convert(ProductAttrUpdateDTO productAttrUpdateDTO) {
|
||||
if ( productAttrUpdateDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductAttrDO productAttrDO = new ProductAttrDO();
|
||||
|
||||
productAttrDO.setId( productAttrUpdateDTO.getId() );
|
||||
productAttrDO.setName( productAttrUpdateDTO.getName() );
|
||||
|
||||
return productAttrDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductAttrValueDO convert(ProductAttrValueAddDTO productAttrValueAddDTO) {
|
||||
if ( productAttrValueAddDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductAttrValueDO productAttrValueDO = new ProductAttrValueDO();
|
||||
|
||||
productAttrValueDO.setAttrId( productAttrValueAddDTO.getAttrId() );
|
||||
productAttrValueDO.setName( productAttrValueAddDTO.getName() );
|
||||
|
||||
return productAttrValueDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductAttrValueDO convert(ProductAttrValueUpdateDTO productAttrValueUpdateDTO) {
|
||||
if ( productAttrValueUpdateDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductAttrValueDO productAttrValueDO = new ProductAttrValueDO();
|
||||
|
||||
productAttrValueDO.setId( productAttrValueUpdateDTO.getId() );
|
||||
productAttrValueDO.setName( productAttrValueUpdateDTO.getName() );
|
||||
|
||||
return productAttrValueDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductAttrBO convert(ProductAttrDO productAttrDO) {
|
||||
if ( productAttrDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductAttrBO productAttrBO = new ProductAttrBO();
|
||||
|
||||
productAttrBO.setId( productAttrDO.getId() );
|
||||
productAttrBO.setName( productAttrDO.getName() );
|
||||
productAttrBO.setStatus( productAttrDO.getStatus() );
|
||||
productAttrBO.setCreateTime( productAttrDO.getCreateTime() );
|
||||
|
||||
return productAttrBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductAttrValueBO convert2(ProductAttrValueDO productAttrValueDO) {
|
||||
if ( productAttrValueDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductAttrValueBO productAttrValueBO = new ProductAttrValueBO();
|
||||
|
||||
productAttrValueBO.setId( productAttrValueDO.getId() );
|
||||
productAttrValueBO.setAttrId( productAttrValueDO.getAttrId() );
|
||||
productAttrValueBO.setName( productAttrValueDO.getName() );
|
||||
productAttrValueBO.setStatus( productAttrValueDO.getStatus() );
|
||||
productAttrValueBO.setCreateTime( productAttrValueDO.getCreateTime() );
|
||||
|
||||
return productAttrValueBO;
|
||||
}
|
||||
|
||||
protected ProductAttrDetailBO productAttrDOToProductAttrDetailBO(ProductAttrDO productAttrDO) {
|
||||
if ( productAttrDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductAttrDetailBO productAttrDetailBO = new ProductAttrDetailBO();
|
||||
|
||||
productAttrDetailBO.setId( productAttrDO.getId() );
|
||||
productAttrDetailBO.setName( productAttrDO.getName() );
|
||||
productAttrDetailBO.setStatus( productAttrDO.getStatus() );
|
||||
productAttrDetailBO.setCreateTime( productAttrDO.getCreateTime() );
|
||||
|
||||
return productAttrDetailBO;
|
||||
}
|
||||
|
||||
protected ProductAttrSimpleBO productAttrDOToProductAttrSimpleBO(ProductAttrDO productAttrDO) {
|
||||
if ( productAttrDO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductAttrSimpleBO productAttrSimpleBO = new ProductAttrSimpleBO();
|
||||
|
||||
productAttrSimpleBO.setId( productAttrDO.getId() );
|
||||
productAttrSimpleBO.setName( productAttrDO.getName() );
|
||||
|
||||
return productAttrSimpleBO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
package cn.iocoder.mall.product.convert;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductBrandBO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandAddDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductBrandUpdateDTO;
|
||||
import cn.iocoder.mall.product.dataobject.ProductBrandDO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-31T18:12:30+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class ProductBrandConvertImpl implements ProductBrandConvert {
|
||||
|
||||
@Override
|
||||
public List<ProductBrandBO> convert(List<ProductBrandDO> brands) {
|
||||
if ( brands == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<ProductBrandBO> list = new ArrayList<ProductBrandBO>( brands.size() );
|
||||
for ( ProductBrandDO productBrandDO : brands ) {
|
||||
list.add( convert( productBrandDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductBrandBO convert(ProductBrandDO brand) {
|
||||
if ( brand == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductBrandBO productBrandBO = new ProductBrandBO();
|
||||
|
||||
productBrandBO.setId( brand.getId() );
|
||||
productBrandBO.setName( brand.getName() );
|
||||
productBrandBO.setDescription( brand.getDescription() );
|
||||
productBrandBO.setPicUrl( brand.getPicUrl() );
|
||||
productBrandBO.setStatus( brand.getStatus() );
|
||||
|
||||
return productBrandBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductBrandDO convert(ProductBrandUpdateDTO brand) {
|
||||
if ( brand == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductBrandDO productBrandDO = new ProductBrandDO();
|
||||
|
||||
productBrandDO.setId( brand.getId() );
|
||||
productBrandDO.setName( brand.getName() );
|
||||
productBrandDO.setDescription( brand.getDescription() );
|
||||
productBrandDO.setPicUrl( brand.getPicUrl() );
|
||||
productBrandDO.setStatus( brand.getStatus() );
|
||||
|
||||
return productBrandDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductBrandDO convert(ProductBrandAddDTO brand) {
|
||||
if ( brand == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductBrandDO productBrandDO = new ProductBrandDO();
|
||||
|
||||
productBrandDO.setName( brand.getName() );
|
||||
productBrandDO.setDescription( brand.getDescription() );
|
||||
productBrandDO.setPicUrl( brand.getPicUrl() );
|
||||
productBrandDO.setStatus( brand.getStatus() );
|
||||
|
||||
return productBrandDO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
package cn.iocoder.mall.product.convert;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductCategoryBO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductCategoryAddDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductCategoryUpdateDTO;
|
||||
import cn.iocoder.mall.product.dataobject.ProductCategoryDO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:38:55+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class ProductCategoryConvertImpl implements ProductCategoryConvert {
|
||||
|
||||
@Override
|
||||
public ProductCategoryBO convertToBO(ProductCategoryDO category) {
|
||||
if ( category == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductCategoryBO productCategoryBO = new ProductCategoryBO();
|
||||
|
||||
productCategoryBO.setId( category.getId() );
|
||||
productCategoryBO.setPid( category.getPid() );
|
||||
productCategoryBO.setName( category.getName() );
|
||||
productCategoryBO.setDescription( category.getDescription() );
|
||||
productCategoryBO.setPicUrl( category.getPicUrl() );
|
||||
productCategoryBO.setSort( category.getSort() );
|
||||
productCategoryBO.setStatus( category.getStatus() );
|
||||
productCategoryBO.setCreateTime( category.getCreateTime() );
|
||||
|
||||
return productCategoryBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProductCategoryBO> convertToBO(List<ProductCategoryDO> categoryList) {
|
||||
if ( categoryList == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<ProductCategoryBO> list = new ArrayList<ProductCategoryBO>( categoryList.size() );
|
||||
for ( ProductCategoryDO productCategoryDO : categoryList ) {
|
||||
list.add( convertToBO( productCategoryDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductCategoryDO convert(ProductCategoryAddDTO productCategoryAddDTO) {
|
||||
if ( productCategoryAddDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductCategoryDO productCategoryDO = new ProductCategoryDO();
|
||||
|
||||
productCategoryDO.setPid( productCategoryAddDTO.getPid() );
|
||||
productCategoryDO.setName( productCategoryAddDTO.getName() );
|
||||
productCategoryDO.setDescription( productCategoryAddDTO.getDescription() );
|
||||
productCategoryDO.setPicUrl( productCategoryAddDTO.getPicUrl() );
|
||||
productCategoryDO.setSort( productCategoryAddDTO.getSort() );
|
||||
|
||||
return productCategoryDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductCategoryDO convert(ProductCategoryUpdateDTO productCategoryUpdateDTO) {
|
||||
if ( productCategoryUpdateDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductCategoryDO productCategoryDO = new ProductCategoryDO();
|
||||
|
||||
productCategoryDO.setId( productCategoryUpdateDTO.getId() );
|
||||
productCategoryDO.setPid( productCategoryUpdateDTO.getPid() );
|
||||
productCategoryDO.setName( productCategoryUpdateDTO.getName() );
|
||||
productCategoryDO.setDescription( productCategoryUpdateDTO.getDescription() );
|
||||
productCategoryDO.setPicUrl( productCategoryUpdateDTO.getPicUrl() );
|
||||
productCategoryDO.setSort( productCategoryUpdateDTO.getSort() );
|
||||
|
||||
return productCategoryDO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,218 @@
|
|||
package cn.iocoder.mall.product.convert;
|
||||
|
||||
import cn.iocoder.mall.product.api.bo.ProductSkuBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductSkuDetailBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductSkuDetailBO.Spu;
|
||||
import cn.iocoder.mall.product.api.bo.ProductSpuBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductSpuDetailBO;
|
||||
import cn.iocoder.mall.product.api.bo.ProductSpuDetailBO.Sku;
|
||||
import cn.iocoder.mall.product.api.dto.ProductSkuAddOrUpdateDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductSpuAddDTO;
|
||||
import cn.iocoder.mall.product.api.dto.ProductSpuUpdateDTO;
|
||||
import cn.iocoder.mall.product.dataobject.ProductSkuDO;
|
||||
import cn.iocoder.mall.product.dataobject.ProductSpuDO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:38:56+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class ProductSpuConvertImpl implements ProductSpuConvert {
|
||||
|
||||
@Override
|
||||
public ProductSpuBO convert(ProductSpuDO spu) {
|
||||
if ( spu == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductSpuBO productSpuBO = new ProductSpuBO();
|
||||
|
||||
productSpuBO.setPicUrls( translatePicUrlsFromString( spu.getPicUrls() ) );
|
||||
productSpuBO.setId( spu.getId() );
|
||||
productSpuBO.setName( spu.getName() );
|
||||
productSpuBO.setSellPoint( spu.getSellPoint() );
|
||||
productSpuBO.setDescription( spu.getDescription() );
|
||||
productSpuBO.setCid( spu.getCid() );
|
||||
productSpuBO.setVisible( spu.getVisible() );
|
||||
productSpuBO.setSort( spu.getSort() );
|
||||
productSpuBO.setPrice( spu.getPrice() );
|
||||
productSpuBO.setQuantity( spu.getQuantity() );
|
||||
|
||||
return productSpuBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProductSpuBO> convert(List<ProductSpuDO> spus) {
|
||||
if ( spus == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<ProductSpuBO> list = new ArrayList<ProductSpuBO>( spus.size() );
|
||||
for ( ProductSpuDO productSpuDO : spus ) {
|
||||
list.add( convert( productSpuDO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductSpuDO convert(ProductSpuAddDTO productSpuAddDTO) {
|
||||
if ( productSpuAddDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductSpuDO productSpuDO = new ProductSpuDO();
|
||||
|
||||
productSpuDO.setName( productSpuAddDTO.getName() );
|
||||
productSpuDO.setSellPoint( productSpuAddDTO.getSellPoint() );
|
||||
productSpuDO.setDescription( productSpuAddDTO.getDescription() );
|
||||
productSpuDO.setCid( productSpuAddDTO.getCid() );
|
||||
productSpuDO.setVisible( productSpuAddDTO.getVisible() );
|
||||
|
||||
return productSpuDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductSkuDO convert(ProductSkuAddOrUpdateDTO productSkuAddDTO) {
|
||||
if ( productSkuAddDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductSkuDO productSkuDO = new ProductSkuDO();
|
||||
|
||||
productSkuDO.setPrice( productSkuAddDTO.getPrice() );
|
||||
productSkuDO.setQuantity( productSkuAddDTO.getQuantity() );
|
||||
|
||||
return productSkuDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductSpuDO convert(ProductSpuUpdateDTO productSpuUpdateDTO) {
|
||||
if ( productSpuUpdateDTO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductSpuDO productSpuDO = new ProductSpuDO();
|
||||
|
||||
productSpuDO.setId( productSpuUpdateDTO.getId() );
|
||||
productSpuDO.setName( productSpuUpdateDTO.getName() );
|
||||
productSpuDO.setSellPoint( productSpuUpdateDTO.getSellPoint() );
|
||||
productSpuDO.setDescription( productSpuUpdateDTO.getDescription() );
|
||||
productSpuDO.setCid( productSpuUpdateDTO.getCid() );
|
||||
productSpuDO.setVisible( productSpuUpdateDTO.getVisible() );
|
||||
|
||||
return productSpuDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductSpuDetailBO convert(ProductSpuBO spu) {
|
||||
if ( spu == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductSpuDetailBO productSpuDetailBO = new ProductSpuDetailBO();
|
||||
|
||||
productSpuDetailBO.setId( spu.getId() );
|
||||
productSpuDetailBO.setName( spu.getName() );
|
||||
productSpuDetailBO.setSellPoint( spu.getSellPoint() );
|
||||
productSpuDetailBO.setDescription( spu.getDescription() );
|
||||
productSpuDetailBO.setCid( spu.getCid() );
|
||||
List<String> list = spu.getPicUrls();
|
||||
if ( list != null ) {
|
||||
productSpuDetailBO.setPicUrls( new ArrayList<String>( list ) );
|
||||
}
|
||||
productSpuDetailBO.setVisible( spu.getVisible() );
|
||||
productSpuDetailBO.setSort( spu.getSort() );
|
||||
|
||||
return productSpuDetailBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductSpuDetailBO convert2(ProductSpuDO spu) {
|
||||
if ( spu == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductSpuDetailBO productSpuDetailBO = new ProductSpuDetailBO();
|
||||
|
||||
productSpuDetailBO.setId( spu.getId() );
|
||||
productSpuDetailBO.setName( spu.getName() );
|
||||
productSpuDetailBO.setSellPoint( spu.getSellPoint() );
|
||||
productSpuDetailBO.setDescription( spu.getDescription() );
|
||||
productSpuDetailBO.setCid( spu.getCid() );
|
||||
productSpuDetailBO.setVisible( spu.getVisible() );
|
||||
productSpuDetailBO.setSort( spu.getSort() );
|
||||
|
||||
return productSpuDetailBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Spu convert3(ProductSpuDO spu) {
|
||||
if ( spu == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Spu spu1 = new Spu();
|
||||
|
||||
spu1.setId( spu.getId() );
|
||||
spu1.setName( spu.getName() );
|
||||
spu1.setSellPoint( spu.getSellPoint() );
|
||||
spu1.setDescription( spu.getDescription() );
|
||||
spu1.setCid( spu.getCid() );
|
||||
spu1.setVisible( spu.getVisible() );
|
||||
spu1.setSort( spu.getSort() );
|
||||
|
||||
return spu1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Sku convert2(ProductSkuDO sku) {
|
||||
if ( sku == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Sku sku1 = new Sku();
|
||||
|
||||
sku1.setId( sku.getId() );
|
||||
sku1.setSpuId( sku.getSpuId() );
|
||||
sku1.setPrice( sku.getPrice() );
|
||||
sku1.setQuantity( sku.getQuantity() );
|
||||
|
||||
return sku1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductSkuDetailBO convert3(ProductSkuDO sku) {
|
||||
if ( sku == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductSkuDetailBO productSkuDetailBO = new ProductSkuDetailBO();
|
||||
|
||||
productSkuDetailBO.setId( sku.getId() );
|
||||
productSkuDetailBO.setPrice( sku.getPrice() );
|
||||
productSkuDetailBO.setQuantity( sku.getQuantity() );
|
||||
|
||||
return productSkuDetailBO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductSkuBO convert4(ProductSkuDO sku) {
|
||||
if ( sku == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ProductSkuBO productSkuBO = new ProductSkuBO();
|
||||
|
||||
productSkuBO.setId( sku.getId() );
|
||||
productSkuBO.setSpuId( sku.getSpuId() );
|
||||
productSkuBO.setStatus( sku.getStatus() );
|
||||
productSkuBO.setPrice( sku.getPrice() );
|
||||
productSkuBO.setQuantity( sku.getQuantity() );
|
||||
|
||||
return productSkuBO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
swagger:
|
||||
enable: false
|
||||
title: 营销子系统
|
||||
description: 营销子系统
|
||||
version: 1.0.0
|
||||
base-package: cn.iocoder.mall.promotion.application.controller
|
|
@ -0,0 +1,29 @@
|
|||
spring:
|
||||
application:
|
||||
name: promotion-application
|
||||
cloud:
|
||||
sentinel:
|
||||
transport:
|
||||
port: 8719
|
||||
dashboard: localhost:12088
|
||||
metric:
|
||||
charset: UTF-8
|
||||
eager: false
|
||||
|
||||
# server
|
||||
server:
|
||||
port: 18085
|
||||
servlet:
|
||||
context-path: /promotion-api/
|
||||
|
||||
swagger:
|
||||
enable: false
|
||||
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health,info,env,metrics,prometheus
|
||||
metrics:
|
||||
enabled: true
|
|
@ -0,0 +1,65 @@
|
|||
package cn.iocoder.mall.promotion.application.convert;
|
||||
|
||||
import cn.iocoder.mall.promotion.api.bo.BannerBO;
|
||||
import cn.iocoder.mall.promotion.api.bo.BannerPageBO;
|
||||
import cn.iocoder.mall.promotion.application.convert.BannerConvert.Admins;
|
||||
import cn.iocoder.mall.promotion.application.vo.admins.AdminsBannerPageVO;
|
||||
import cn.iocoder.mall.promotion.application.vo.admins.AdminsBannerVO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:16+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class BannerConvert$AdminsImpl implements Admins {
|
||||
|
||||
@Override
|
||||
public AdminsBannerVO convert(BannerBO bannerBO) {
|
||||
if ( bannerBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsBannerVO adminsBannerVO = new AdminsBannerVO();
|
||||
|
||||
adminsBannerVO.setId( bannerBO.getId() );
|
||||
adminsBannerVO.setTitle( bannerBO.getTitle() );
|
||||
adminsBannerVO.setUrl( bannerBO.getUrl() );
|
||||
adminsBannerVO.setPicUrl( bannerBO.getPicUrl() );
|
||||
adminsBannerVO.setSort( bannerBO.getSort() );
|
||||
adminsBannerVO.setStatus( bannerBO.getStatus() );
|
||||
adminsBannerVO.setMemo( bannerBO.getMemo() );
|
||||
adminsBannerVO.setCreateTime( bannerBO.getCreateTime() );
|
||||
|
||||
return adminsBannerVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminsBannerPageVO convert3(BannerPageBO bannerPageBO) {
|
||||
if ( bannerPageBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsBannerPageVO adminsBannerPageVO = new AdminsBannerPageVO();
|
||||
|
||||
adminsBannerPageVO.setList( bannerBOListToAdminsBannerVOList( bannerPageBO.getList() ) );
|
||||
adminsBannerPageVO.setTotal( bannerPageBO.getTotal() );
|
||||
|
||||
return adminsBannerPageVO;
|
||||
}
|
||||
|
||||
protected List<AdminsBannerVO> bannerBOListToAdminsBannerVOList(List<BannerBO> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<AdminsBannerVO> list1 = new ArrayList<AdminsBannerVO>( list.size() );
|
||||
for ( BannerBO bannerBO : list ) {
|
||||
list1.add( convert( bannerBO ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
package cn.iocoder.mall.promotion.application.convert;
|
||||
|
||||
import cn.iocoder.mall.promotion.api.bo.BannerBO;
|
||||
import cn.iocoder.mall.promotion.application.convert.BannerConvert.Users;
|
||||
import cn.iocoder.mall.promotion.application.vo.users.UsersBannerVO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:15+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class BannerConvert$UsersImpl implements Users {
|
||||
|
||||
@Override
|
||||
public List<UsersBannerVO> convertList(List<BannerBO> banners) {
|
||||
if ( banners == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<UsersBannerVO> list = new ArrayList<UsersBannerVO>( banners.size() );
|
||||
for ( BannerBO bannerBO : banners ) {
|
||||
list.add( bannerBOToUsersBannerVO( bannerBO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
protected UsersBannerVO bannerBOToUsersBannerVO(BannerBO bannerBO) {
|
||||
if ( bannerBO == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsersBannerVO usersBannerVO = new UsersBannerVO();
|
||||
|
||||
usersBannerVO.setUrl( bannerBO.getUrl() );
|
||||
usersBannerVO.setPicUrl( bannerBO.getPicUrl() );
|
||||
|
||||
return usersBannerVO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
package cn.iocoder.mall.promotion.application.convert;
|
||||
|
||||
import cn.iocoder.mall.promotion.api.bo.CouponCardBO;
|
||||
import cn.iocoder.mall.promotion.api.bo.CouponCardPageBO;
|
||||
import cn.iocoder.mall.promotion.application.vo.users.UsersCouponCardPageVO;
|
||||
import cn.iocoder.mall.promotion.application.vo.users.UsersCouponCardVO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:15+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class CouponCardConvertImpl implements CouponCardConvert {
|
||||
|
||||
@Override
|
||||
public UsersCouponCardVO convert(CouponCardBO result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsersCouponCardVO usersCouponCardVO = new UsersCouponCardVO();
|
||||
|
||||
usersCouponCardVO.setId( result.getId() );
|
||||
usersCouponCardVO.setTemplateId( result.getTemplateId() );
|
||||
usersCouponCardVO.setTitle( result.getTitle() );
|
||||
usersCouponCardVO.setStatus( result.getStatus() );
|
||||
usersCouponCardVO.setPriceAvailable( result.getPriceAvailable() );
|
||||
usersCouponCardVO.setValidStartTime( result.getValidStartTime() );
|
||||
usersCouponCardVO.setValidEndTime( result.getValidEndTime() );
|
||||
usersCouponCardVO.setPreferentialType( result.getPreferentialType() );
|
||||
usersCouponCardVO.setPercentOff( result.getPercentOff() );
|
||||
usersCouponCardVO.setPriceOff( result.getPriceOff() );
|
||||
usersCouponCardVO.setDiscountPriceLimit( result.getDiscountPriceLimit() );
|
||||
|
||||
return usersCouponCardVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UsersCouponCardPageVO convert2(CouponCardPageBO result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
UsersCouponCardPageVO usersCouponCardPageVO = new UsersCouponCardPageVO();
|
||||
|
||||
usersCouponCardPageVO.setList( couponCardBOListToUsersCouponCardVOList( result.getList() ) );
|
||||
usersCouponCardPageVO.setTotal( result.getTotal() );
|
||||
|
||||
return usersCouponCardPageVO;
|
||||
}
|
||||
|
||||
protected List<UsersCouponCardVO> couponCardBOListToUsersCouponCardVOList(List<CouponCardBO> list) {
|
||||
if ( list == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<UsersCouponCardVO> list1 = new ArrayList<UsersCouponCardVO>( list.size() );
|
||||
for ( CouponCardBO couponCardBO : list ) {
|
||||
list1.add( convert( couponCardBO ) );
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
package cn.iocoder.mall.promotion.application.convert;
|
||||
|
||||
import cn.iocoder.mall.promotion.api.bo.CouponTemplateBO;
|
||||
import cn.iocoder.mall.promotion.api.bo.CouponTemplatePageBO;
|
||||
import cn.iocoder.mall.promotion.application.convert.CouponTemplateConvert.Admins;
|
||||
import cn.iocoder.mall.promotion.application.vo.admins.AdminsCouponTemplatePageVO;
|
||||
import cn.iocoder.mall.promotion.application.vo.admins.AdminsCouponTemplateVO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2019-05-24T11:39:15+0800",
|
||||
comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_121 (Oracle Corporation)"
|
||||
)
|
||||
public class CouponTemplateConvert$AdminsImpl implements Admins {
|
||||
|
||||
@Override
|
||||
public AdminsCouponTemplateVO convert(CouponTemplateBO template) {
|
||||
if ( template == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsCouponTemplateVO adminsCouponTemplateVO = new AdminsCouponTemplateVO();
|
||||
|
||||
adminsCouponTemplateVO.setId( template.getId() );
|
||||
adminsCouponTemplateVO.setTitle( template.getTitle() );
|
||||
adminsCouponTemplateVO.setDescription( template.getDescription() );
|
||||
adminsCouponTemplateVO.setType( template.getType() );
|
||||
adminsCouponTemplateVO.setCodeType( template.getCodeType() );
|
||||
adminsCouponTemplateVO.setStatus( template.getStatus() );
|
||||
adminsCouponTemplateVO.setQuota( template.getQuota() );
|
||||
adminsCouponTemplateVO.setTotal( template.getTotal() );
|
||||
adminsCouponTemplateVO.setPriceAvailable( template.getPriceAvailable() );
|
||||
adminsCouponTemplateVO.setRangeType( template.getRangeType() );
|
||||
adminsCouponTemplateVO.setRangeValues( template.getRangeValues() );
|
||||
adminsCouponTemplateVO.setDateType( template.getDateType() );
|
||||
adminsCouponTemplateVO.setValidStartTime( template.getValidStartTime() );
|
||||
adminsCouponTemplateVO.setValidEndTime( template.getValidEndTime() );
|
||||
adminsCouponTemplateVO.setFixedStartTerm( template.getFixedStartTerm() );
|
||||
adminsCouponTemplateVO.setFixedEndTerm( template.getFixedEndTerm() );
|
||||
adminsCouponTemplateVO.setPreferentialType( template.getPreferentialType() );
|
||||
adminsCouponTemplateVO.setPercentOff( template.getPercentOff() );
|
||||
adminsCouponTemplateVO.setPriceOff( template.getPriceOff() );
|
||||
adminsCouponTemplateVO.setDiscountPriceLimit( template.getDiscountPriceLimit() );
|
||||
adminsCouponTemplateVO.setStatFetchNum( template.getStatFetchNum() );
|
||||
adminsCouponTemplateVO.setCreateTime( template.getCreateTime() );
|
||||
|
||||
return adminsCouponTemplateVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminsCouponTemplatePageVO convertPage(CouponTemplatePageBO result) {
|
||||
if ( result == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AdminsCouponTemplatePageVO adminsCouponTemplatePageVO = new AdminsCouponTemplatePageVO();
|
||||
|
||||
adminsCouponTemplatePageVO.setList( convertList( result.getList() ) );
|
||||
adminsCouponTemplatePageVO.setTotal( result.getTotal() );
|
||||
|
||||
return adminsCouponTemplatePageVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AdminsCouponTemplateVO> convertList(List<CouponTemplateBO> templates) {
|
||||
if ( templates == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<AdminsCouponTemplateVO> list = new ArrayList<AdminsCouponTemplateVO>( templates.size() );
|
||||
for ( CouponTemplateBO couponTemplateBO : templates ) {
|
||||
list.add( convert( couponTemplateBO ) );
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue