Commit 0046f57c by 吕明尚

修改月卡后台管理系统

parent 4610898b
......@@ -10,6 +10,7 @@ import share.common.core.page.TableDataInfo;
import share.common.enums.BusinessType;
import share.common.utils.poi.ExcelUtil;
import share.system.domain.ConsumerMonthlyCard;
import share.system.domain.vo.ConsumerMonthlyCardVo;
import share.system.service.ConsumerMonthlyCardService;
import javax.servlet.http.HttpServletResponse;
......@@ -32,9 +33,9 @@ public class ConsumerMonthlyCardController extends BaseController {
*/
@PreAuthorize("@ss.hasPermi('system:consumerMonthlyCard:list')")
@GetMapping("/list")
public TableDataInfo list(ConsumerMonthlyCard consumerMonthlyCard) {
public TableDataInfo list(ConsumerMonthlyCardVo consumerMonthlyCard) {
startPage();
List<ConsumerMonthlyCard> list = consumerMonthlyCardService.selectConsumerMonthlyCardList(consumerMonthlyCard);
List<ConsumerMonthlyCardVo> list = consumerMonthlyCardService.selectConsumerMonthlyCardList(consumerMonthlyCard);
return getDataTable(list);
}
......@@ -44,9 +45,9 @@ public class ConsumerMonthlyCardController extends BaseController {
@PreAuthorize("@ss.hasPermi('system:consumerMonthlyCard:export')")
@Log(title = "用户月卡", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ConsumerMonthlyCard consumerMonthlyCard) {
List<ConsumerMonthlyCard> list = consumerMonthlyCardService.selectConsumerMonthlyCardList(consumerMonthlyCard);
ExcelUtil<ConsumerMonthlyCard> util = new ExcelUtil<ConsumerMonthlyCard>(ConsumerMonthlyCard.class);
public void export(HttpServletResponse response, ConsumerMonthlyCardVo consumerMonthlyCard) {
List<ConsumerMonthlyCardVo> list = consumerMonthlyCardService.selectConsumerMonthlyCardList(consumerMonthlyCard);
ExcelUtil<ConsumerMonthlyCardVo> util = new ExcelUtil<ConsumerMonthlyCardVo>(ConsumerMonthlyCardVo.class);
util.exportExcel(response, list, "用户月卡数据");
}
......
......@@ -10,6 +10,7 @@ import share.common.core.page.TableDataInfo;
import share.common.enums.BusinessType;
import share.common.utils.poi.ExcelUtil;
import share.system.domain.MonthlyCardLog;
import share.system.domain.vo.MonthlyCardLogVo;
import share.system.service.MonthlyCardLogService;
import javax.servlet.http.HttpServletResponse;
......@@ -32,9 +33,9 @@ public class MonthlyCardLogController extends BaseController {
*/
@PreAuthorize("@ss.hasPermi('system:monthlyCardLog:list')")
@GetMapping("/list")
public TableDataInfo list(MonthlyCardLog monthlyCardLog) {
public TableDataInfo list(MonthlyCardLogVo monthlyCardLog) {
startPage();
List<MonthlyCardLog> list = monthlyCardLogService.selectMonthlyCardLogList(monthlyCardLog);
List<MonthlyCardLogVo> list = monthlyCardLogService.selectMonthlyCardLogList(monthlyCardLog);
return getDataTable(list);
}
......@@ -44,9 +45,9 @@ public class MonthlyCardLogController extends BaseController {
@PreAuthorize("@ss.hasPermi('system:monthlyCardLog:export')")
@Log(title = "月卡使用记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MonthlyCardLog monthlyCardLog) {
List<MonthlyCardLog> list = monthlyCardLogService.selectMonthlyCardLogList(monthlyCardLog);
ExcelUtil<MonthlyCardLog> util = new ExcelUtil<MonthlyCardLog>(MonthlyCardLog.class);
public void export(HttpServletResponse response, MonthlyCardLogVo monthlyCardLog) {
List<MonthlyCardLogVo> list = monthlyCardLogService.selectMonthlyCardLogList(monthlyCardLog);
ExcelUtil<MonthlyCardLogVo> util = new ExcelUtil<MonthlyCardLogVo>(MonthlyCardLogVo.class);
util.exportExcel(response, list, "月卡使用记录数据");
}
......
......@@ -10,6 +10,7 @@ import share.common.core.page.TableDataInfo;
import share.common.enums.BusinessType;
import share.common.utils.poi.ExcelUtil;
import share.system.domain.MonthlyCardOrder;
import share.system.domain.vo.MonthlyCardOrderVo;
import share.system.service.MonthlyCardOrderService;
import javax.servlet.http.HttpServletResponse;
......@@ -32,9 +33,9 @@ public class MonthlyCardOrderController extends BaseController {
*/
@PreAuthorize("@ss.hasPermi('system:monthlyCardOrder:list')")
@GetMapping("/list")
public TableDataInfo list(MonthlyCardOrder monthlyCardOrder) {
public TableDataInfo list(MonthlyCardOrderVo monthlyCardOrder) {
startPage();
List<MonthlyCardOrder> list = monthlyCardOrderService.selectMonthlyCardOrderList(monthlyCardOrder);
List<MonthlyCardOrderVo> list = monthlyCardOrderService.selectMonthlyCardOrderList(monthlyCardOrder);
return getDataTable(list);
}
......@@ -44,9 +45,9 @@ public class MonthlyCardOrderController extends BaseController {
@PreAuthorize("@ss.hasPermi('system:monthlyCardOrder:export')")
@Log(title = "月卡订单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MonthlyCardOrder monthlyCardOrder) {
List<MonthlyCardOrder> list = monthlyCardOrderService.selectMonthlyCardOrderList(monthlyCardOrder);
ExcelUtil<MonthlyCardOrder> util = new ExcelUtil<MonthlyCardOrder>(MonthlyCardOrder.class);
public void export(HttpServletResponse response, MonthlyCardOrderVo monthlyCardOrder) {
List<MonthlyCardOrderVo> list = monthlyCardOrderService.selectMonthlyCardOrderList(monthlyCardOrder);
ExcelUtil<MonthlyCardOrderVo> util = new ExcelUtil<MonthlyCardOrderVo>(MonthlyCardOrderVo.class);
util.exportExcel(response, list, "月卡订单数据");
}
......
package share.system.domain.vo;
import lombok.Data;
import share.system.domain.ConsumerMonthlyCard;
import java.math.BigDecimal;
@Data
public class ConsumerMonthlyCardVo extends ConsumerMonthlyCard {
//用户昵称
private String nickName;
//用户头像
private String avatar;
//配置名称
private String confName;
//月卡金额
private BigDecimal confAmount;
}
package share.system.domain.vo;
import lombok.Data;
import share.system.domain.MonthlyCardLog;
import java.math.BigDecimal;
@Data
public class MonthlyCardLogVo extends MonthlyCardLog {
//用户昵称
private String nickName;
//用户头像
private String avatar;
//配置名称
private String confName;
//次卡金额
private BigDecimal confAmount;
}
package share.system.domain.vo;
import lombok.Data;
import share.system.domain.MonthlyCardOrder;
import java.math.BigDecimal;
@Data
public class MonthlyCardOrderVo extends MonthlyCardOrder {
//用户昵称
private String nickName;
//用户头像
private String avatar;
//配置名称
private String confName;
//次卡金额
private BigDecimal confAmount;
}
......@@ -2,6 +2,7 @@ package share.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import share.system.domain.ConsumerMonthlyCard;
import share.system.domain.vo.ConsumerMonthlyCardVo;
import java.util.List;
......@@ -26,7 +27,7 @@ public interface ConsumerMonthlyCardMapper extends BaseMapper<ConsumerMonthlyCar
* @param consumerMonthlyCard 用户月卡
* @return 用户月卡集合
*/
public List<ConsumerMonthlyCard> selectConsumerMonthlyCardList(ConsumerMonthlyCard consumerMonthlyCard);
public List<ConsumerMonthlyCardVo> selectConsumerMonthlyCardList(ConsumerMonthlyCardVo consumerMonthlyCard);
/**
* 新增用户月卡
......
......@@ -2,6 +2,7 @@ package share.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import share.system.domain.MonthlyCardLog;
import share.system.domain.vo.MonthlyCardLogVo;
import java.util.List;
......@@ -26,7 +27,7 @@ public interface MonthlyCardLogMapper extends BaseMapper<MonthlyCardLog> {
* @param monthlyCardLog 月卡使用记录
* @return 月卡使用记录集合
*/
public List<MonthlyCardLog> selectMonthlyCardLogList(MonthlyCardLog monthlyCardLog);
public List<MonthlyCardLogVo> selectMonthlyCardLogList(MonthlyCardLogVo monthlyCardLog);
/**
* 新增月卡使用记录
......
......@@ -2,6 +2,7 @@ package share.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import share.system.domain.MonthlyCardOrder;
import share.system.domain.vo.MonthlyCardOrderVo;
import java.util.List;
......@@ -26,7 +27,7 @@ public interface MonthlyCardOrderMapper extends BaseMapper<MonthlyCardOrder> {
* @param monthlyCardOrder 月卡订单
* @return 月卡订单集合
*/
public List<MonthlyCardOrder> selectMonthlyCardOrderList(MonthlyCardOrder monthlyCardOrder);
public List<MonthlyCardOrderVo> selectMonthlyCardOrderList(MonthlyCardOrderVo monthlyCardOrder);
/**
* 新增月卡订单
......
......@@ -2,6 +2,7 @@ package share.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import share.system.domain.ConsumerMonthlyCard;
import share.system.domain.vo.ConsumerMonthlyCardVo;
import java.util.List;
......@@ -26,7 +27,7 @@ public interface ConsumerMonthlyCardService extends IService<ConsumerMonthlyCard
* @param consumerMonthlyCard 用户月卡
* @return 用户月卡集合
*/
public List<ConsumerMonthlyCard> selectConsumerMonthlyCardList(ConsumerMonthlyCard consumerMonthlyCard);
public List<ConsumerMonthlyCardVo> selectConsumerMonthlyCardList(ConsumerMonthlyCardVo consumerMonthlyCard);
/**
* 新增用户月卡
......
......@@ -2,6 +2,7 @@ package share.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import share.system.domain.MonthlyCardLog;
import share.system.domain.vo.MonthlyCardLogVo;
import java.util.List;
......@@ -26,7 +27,7 @@ public interface MonthlyCardLogService extends IService<MonthlyCardLog> {
* @param monthlyCardLog 月卡使用记录
* @return 月卡使用记录集合
*/
public List<MonthlyCardLog> selectMonthlyCardLogList(MonthlyCardLog monthlyCardLog);
public List<MonthlyCardLogVo> selectMonthlyCardLogList(MonthlyCardLogVo monthlyCardLog);
/**
* 新增月卡使用记录
......
......@@ -2,6 +2,7 @@ package share.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import share.system.domain.MonthlyCardOrder;
import share.system.domain.vo.MonthlyCardOrderVo;
import java.util.List;
......@@ -26,7 +27,7 @@ public interface MonthlyCardOrderService extends IService<MonthlyCardOrder> {
* @param monthlyCardOrder 月卡订单
* @return 月卡订单集合
*/
public List<MonthlyCardOrder> selectMonthlyCardOrderList(MonthlyCardOrder monthlyCardOrder);
public List<MonthlyCardOrderVo> selectMonthlyCardOrderList(MonthlyCardOrderVo monthlyCardOrder);
/**
* 新增月卡订单
......
......@@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import share.common.utils.DateUtils;
import share.system.domain.ConsumerMonthlyCard;
import share.system.domain.vo.ConsumerMonthlyCardVo;
import share.system.mapper.ConsumerMonthlyCardMapper;
import share.system.service.ConsumerMonthlyCardService;
......@@ -39,7 +40,7 @@ public class ConsumerMonthlyCardServiceImpl extends ServiceImpl<ConsumerMonthlyC
* @return 用户月卡
*/
@Override
public List<ConsumerMonthlyCard> selectConsumerMonthlyCardList(ConsumerMonthlyCard consumerMonthlyCard) {
public List<ConsumerMonthlyCardVo> selectConsumerMonthlyCardList(ConsumerMonthlyCardVo consumerMonthlyCard) {
return consumerMonthlyCardMapper.selectConsumerMonthlyCardList(consumerMonthlyCard);
}
......
......@@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import share.common.utils.DateUtils;
import share.system.domain.MonthlyCardLog;
import share.system.domain.vo.MonthlyCardLogVo;
import share.system.mapper.MonthlyCardLogMapper;
import share.system.service.MonthlyCardLogService;
......@@ -39,7 +40,7 @@ public class MonthlyCardLogServiceImpl extends ServiceImpl<MonthlyCardLogMapper,
* @return 月卡使用记录
*/
@Override
public List<MonthlyCardLog> selectMonthlyCardLogList(MonthlyCardLog monthlyCardLog) {
public List<MonthlyCardLogVo> selectMonthlyCardLogList(MonthlyCardLogVo monthlyCardLog) {
return monthlyCardLogMapper.selectMonthlyCardLogList(monthlyCardLog);
}
......
......@@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import share.common.utils.DateUtils;
import share.system.domain.MonthlyCardOrder;
import share.system.domain.vo.MonthlyCardOrderVo;
import share.system.mapper.MonthlyCardOrderMapper;
import share.system.service.MonthlyCardOrderService;
......@@ -39,7 +40,7 @@ public class MonthlyCardOrderServiceImpl extends ServiceImpl<MonthlyCardOrderMap
* @return 月卡订单
*/
@Override
public List<MonthlyCardOrder> selectMonthlyCardOrderList(MonthlyCardOrder monthlyCardOrder) {
public List<MonthlyCardOrderVo> selectMonthlyCardOrderList(MonthlyCardOrderVo monthlyCardOrder) {
return monthlyCardOrderMapper.selectMonthlyCardOrderList(monthlyCardOrder);
}
......
......@@ -4,10 +4,14 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="share.system.mapper.ConsumerMonthlyCardMapper">
<resultMap type="ConsumerMonthlyCard" id="ConsumerMonthlyCardResult">
<resultMap type="ConsumerMonthlyCardVo" id="ConsumerMonthlyCardResult">
<result property="id" column="id"/>
<result property="monthlyCardConfId" column="monthly_card_conf_id"/>
<result property="consumerId" column="consumer_id"/>
<result property="nickName" column="nick_name"/>
<result property="avatar" column="avatar"/>
<result property="confName" column="conf_name"/>
<result property="confAmount" column="conf_amount"/>
<result property="phone" column="phone"/>
<result property="freeDuration" column="free_duration"/>
<result property="monthlyCardDays" column="monthly_card_days"/>
......@@ -37,17 +41,34 @@
from s_consumer_monthly_card
</sql>
<select id="selectConsumerMonthlyCardList" parameterType="ConsumerMonthlyCard"
<select id="selectConsumerMonthlyCardList" parameterType="ConsumerMonthlyCardVo"
resultMap="ConsumerMonthlyCardResult">
<include refid="selectConsumerMonthlyCardVo"/>
<where>
<if test="monthlyCardConfId != null ">and monthly_card_conf_id = #{monthlyCardConfId}</if>
<if test="consumerId != null ">and consumer_id = #{consumerId}</if>
<if test="phone != null and phone != ''">and phone = #{phone}</if>
<if test="freeDuration != null ">and free_duration = #{freeDuration}</if>
<if test="monthlyCardDays != null ">and monthly_card_days = #{monthlyCardDays}</if>
<if test="expirationDate != null ">and expiration_date = #{expirationDate}</if>
</where>
select c.id,
c.monthly_card_conf_id,
c1.name as 'conf_name',
c1.monthly_card_amount as 'conf_amount',
c.consumer_id,
c2.nick_name,
c2.avatar,
c.phone,
c.free_duration,
c.monthly_card_days,
c.expiration_date,
c.is_delete,
c.create_by,
c.create_time,
c.update_by,
c.update_time,
c.remark
from s_consumer_monthly_card c join s_monthly_card_conf c1 on c.monthly_card_conf_id = c1.id
join s_consumer c2 on c.consumer_id = c2.id
where c.is_delete = 0
<if test="monthlyCardConfId != null ">and c.monthly_card_conf_id = #{monthlyCardConfId}</if>
<if test="consumerId != null ">and c.consumer_id = #{consumerId}</if>
<if test="phone != null and phone != ''">and c.phone = #{phone}</if>
<if test="freeDuration != null ">and c.free_duration = #{freeDuration}</if>
<if test="monthlyCardDays != null ">and c.monthly_card_days = #{monthlyCardDays}</if>
<if test="expirationDate != null ">and c.expiration_date = #{expirationDate}</if>
</select>
<select id="selectConsumerMonthlyCardById" parameterType="Long" resultMap="ConsumerMonthlyCardResult">
......
......@@ -4,10 +4,14 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="share.system.mapper.MonthlyCardLogMapper">
<resultMap type="MonthlyCardLog" id="MonthlyCardLogResult">
<resultMap type="MonthlyCardLogVo" id="MonthlyCardLogResult">
<result property="id" column="id"/>
<result property="consumerMonthlyCardId" column="consumer_monthly_card_id"/>
<result property="consumerId" column="consumer_id"/>
<result property="avatar" column="avatar"/>
<result property="nickName" column="nick_name"/>
<result property="confName" column="conf_name"/>
<result property="confAmount" column="conf_amount"/>
<result property="phone" column="phone"/>
<result property="useDuration" column="use_duration"/>
<result property="residueDuration" column="residue_duration"/>
......@@ -35,16 +39,32 @@
from s_monthly_card_log
</sql>
<select id="selectMonthlyCardLogList" parameterType="MonthlyCardLog" resultMap="MonthlyCardLogResult">
<include refid="selectMonthlyCardLogVo"/>
<where>
<if test="consumerMonthlyCardId != null ">and consumer_monthly_card_id = #{consumerMonthlyCardId}</if>
<if test="consumerId != null ">and consumer_id = #{consumerId}</if>
<if test="phone != null and phone != ''">and phone = #{phone}</if>
<if test="useDuration != null ">and use_duration = #{useDuration}</if>
<if test="residueDuration != null ">and residue_duration = #{residueDuration}</if>
<if test="isDelete != null ">and is_delete = #{isDelete}</if>
</where>
<select id="selectMonthlyCardLogList" parameterType="MonthlyCardLogVo" resultMap="MonthlyCardLogResult">
select l.id,
l.consumer_monthly_card_id,
l.consumer_id,
c.nick_name,
c.avatar,
mcc.name as 'conf_name',
mcc.monthly_card_amount as 'conf_amount',
l.phone,
l.use_duration,
l.residue_duration,
l.is_delete,
l.create_by,
l.create_time,
l.update_by,
l.update_time,
l.remark
from s_monthly_card_log l join s_consumer c on l.consumer_id = c.id
join s_consumer_monthly_card cm on l.consumer_monthly_card_id = cm.id
join s_monthly_card_conf mcc on cm.monthly_card_conf_id = mcc.id
where l.is_delete = 0
<if test="consumerMonthlyCardId != null ">and l.consumer_monthly_card_id = #{consumerMonthlyCardId}</if>
<if test="consumerId != null ">and l.consumer_id = #{consumerId}</if>
<if test="phone != null and phone != ''">and l.phone = #{phone}</if>
<if test="useDuration != null ">and l.use_duration = #{useDuration}</if>
<if test="residueDuration != null ">and l.residue_duration = #{residueDuration}</if>
</select>
<select id="selectMonthlyCardLogById" parameterType="Long" resultMap="MonthlyCardLogResult">
......
......@@ -4,14 +4,18 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="share.system.mapper.MonthlyCardOrderMapper">
<resultMap type="MonthlyCardOrder" id="MonthlyCardOrderResult">
<resultMap type="MonthlyCardOrderVo" id="MonthlyCardOrderResult">
<result property="id" column="id"/>
<result property="monthlyCardNo" column="monthly_card_no"/>
<result property="outTradeNo" column="out_trade_no"/>
<result property="terminalTrace" column="terminal_trace"/>
<result property="monthlyCardAmount" column="monthly_card_amount"/>
<result property="monthlyCardConfId" column="monthly_card_conf_id"/>
<result property="confAmount" column="conf_amount"/>
<result property="confName" column="conf_name"/>
<result property="consumerId" column="consumer_id"/>
<result property="nickName" column="nick_name"/>
<result property="avatar" column="avatar"/>
<result property="phone" column="phone"/>
<result property="payType" column="pay_type"/>
<result property="payStatus" column="pay_status"/>
......@@ -45,21 +49,41 @@
from s_monthly_card_order
</sql>
<select id="selectMonthlyCardOrderList" parameterType="MonthlyCardOrder" resultMap="MonthlyCardOrderResult">
<include refid="selectMonthlyCardOrderVo"/>
<where>
<if test="monthlyCardNo != null and monthlyCardNo != ''">and monthly_card_no = #{monthlyCardNo}</if>
<if test="outTradeNo != null and outTradeNo != ''">and out_trade_no = #{outTradeNo}</if>
<if test="terminalTrace != null and terminalTrace != ''">and terminal_trace = #{terminalTrace}</if>
<if test="monthlyCardAmount != null ">and monthly_card_amount = #{monthlyCardAmount}</if>
<if test="monthlyCardConfId != null ">and monthly_card_conf_id = #{monthlyCardConfId}</if>
<if test="consumerId != null ">and consumer_id = #{consumerId}</if>
<if test="phone != null and phone != ''">and phone = #{phone}</if>
<if test="payType != null ">and pay_type = #{payType}</if>
<if test="payStatus != null ">and pay_status = #{payStatus}</if>
<if test="payTime != null ">and pay_time = #{payTime}</if>
<if test="isDelete != null ">and is_delete = #{isDelete}</if>
</where>
<select id="selectMonthlyCardOrderList" parameterType="MonthlyCardOrderVo" resultMap="MonthlyCardOrderResult">
select o.id,
o.monthly_card_no,
o.out_trade_no,
o.terminal_trace,
o.monthly_card_amount,
o.monthly_card_conf_id,
o.consumer_id,
c.nick_name,
c.avatar,
m.name as conf_name,
m.monthly_card_amount as conf_amount,
o.phone,
o.pay_type,
o.pay_status,
o.pay_time,
o.is_delete,
o.create_by,
o.create_time,
o.update_by,
o.update_time,
o.remark
from s_monthly_card_order o join s_consumer c on o.consumer_id = c.id
join s_monthly_card_conf m on o.monthly_card_conf_id = m.id
where o.is_delete = 0
<if test="monthlyCardNo != null and monthlyCardNo != ''">and o.monthly_card_no = #{monthlyCardNo}</if>
<if test="outTradeNo != null and outTradeNo != ''">and o.out_trade_no = #{outTradeNo}</if>
<if test="terminalTrace != null and terminalTrace != ''">and o.terminal_trace = #{terminalTrace}</if>
<if test="monthlyCardAmount != null ">and o.monthly_card_amount = #{monthlyCardAmount}</if>
<if test="monthlyCardConfId != null ">and o.monthly_card_conf_id = #{monthlyCardConfId}</if>
<if test="consumerId != null ">and o.consumer_id = #{consumerId}</if>
<if test="phone != null and phone != ''">and o.phone = #{phone}</if>
<if test="payType != null ">and o.pay_type = #{payType}</if>
<if test="payStatus != null ">and o.pay_status = #{payStatus}</if>
<if test="payTime != null ">and o.pay_time = #{payTime}</if>
</select>
<select id="selectMonthlyCardOrderById" parameterType="Long" resultMap="MonthlyCardOrderResult">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment