Commit bd11d1f8 authored by licc's avatar licc

新增充值记录接口

parent ca20ab15
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.PayRecord;
import cn.wisenergy.model.vo.PayRecordShowVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
public interface PayRecordMapper extends BaseMapper<PayRecord> {
PayRecord add(PayRecord payRecord);
List<PayRecordShowVo> getList(Map<String,Object> map);
int count(Map<String,Object> map);
}
...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper; ...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.Volunteer; import cn.wisenergy.model.app.Volunteer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -11,4 +12,6 @@ public interface VolunteerMapper extends BaseMapper<Volunteer> { ...@@ -11,4 +12,6 @@ public interface VolunteerMapper extends BaseMapper<Volunteer> {
Volunteer add(Volunteer volunteer); Volunteer add(Volunteer volunteer);
List<Volunteer> getList(Map<String,Object> map); List<Volunteer> getList(Map<String,Object> map);
List<Volunteer> getListByIds(@Param("list") List<Integer> ids);
} }
<?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.wisenergy.mapper.PayRecordMapper">
<resultMap id="advertisingMap" type="cn.wisenergy.model.app.PayRecord">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="type" property="type"/>
<result column="card_number" property="cardNumber"/>
<result column="money" property="money"/>
<result column="result" property="result"/>
<result column="limit" property="limit"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="table">
pay_record
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
user_id,type, card_number,money,result,limit, create_time,update_time
</sql>
<sql id="vals">
#{userId},#{type},#{cardNumber},#{money},#{result},#{limit},now(),now()
</sql>
<sql id="updateCondition">
<if test="userId != null">user_id = #{userId},</if>
<if test="type != null">type =#{type},</if>
<if test="cardNumber != null">card_number =#{cardNumber},</if>
<if test="money != null">money =#{money},</if>
<if test="result != null">result =#{result},</if>
<if test="limit != null">limit =#{limit},</if>
update_time =now()
</sql>
<sql id="criteria">
<if test="id != null">id = #{id}</if>
<if test="userId != null">and user_id = #{userId}</if>
<if test="type != null">and type =#{type}</if>
<if test="cardNumber != null">and card_number =#{cardNumber}</if>
<if test="money != null">and money =#{money}</if>
<if test="result != null">and result =#{result}</if>
<if test="limit != null">and limit =#{limit}</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
</sql>
<insert id="add" parameterType="cn.wisenergy.model.app.PayRecord" keyProperty="id" useGeneratedKeys="true">
insert into
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
value(
<include refid="vals"/>
)
</insert>
<select id="getList" resultType="cn.wisenergy.model.vo.PayRecordShowVo">
select id as recordId,type,result,limit,create_time as payTime
from
<include refid="table"/>
<where>
<if test="userId != null">
user_id=#{userId}
</if>
limit #{startNum},#{endNum}
order by create_time desc
</where>
</select>
<select id="count" resultType="java.lang.Integer">
select count(1)
from
<include refid="table"/>
<where>
<if test="userId != null">
user_id=#{userId}
</if>
</where>
</select>
</mapper>
...@@ -80,4 +80,17 @@ ...@@ -80,4 +80,17 @@
</select> </select>
<select id="getListByIds" resultType="cn.wisenergy.model.app.Volunteer">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
id IN
<foreach collection="list" index="index" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</where>
</select>
</mapper> </mapper>
...@@ -30,10 +30,10 @@ public class PayRecord implements Serializable { ...@@ -30,10 +30,10 @@ public class PayRecord implements Serializable {
private Integer type; private Integer type;
/** /**
* 充值卡id * 充值卡编号
*/ */
@ApiModelProperty(value = "充值卡id",name = "cardId") @ApiModelProperty(value = "充值卡编号",name = "cardNumber")
private String cardId; private String cardNumber;
/** /**
* 充值用户id * 充值用户id
......
package cn.wisenergy.model.app;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(value = "SchemeInnfo")
public class SchemeInnfo {
/**
* 方案id
*/
@ApiModelProperty(value = "方案id",name = "id")
private Integer id;
/**
* 方案名称
*/
@ApiModelProperty(value = "方案名称",name = "schemeName")
private String schemeName;
/**
* 上传时间
*/
@ApiModelProperty(value = "上传时间",name = "uploadTime")
private Date uploadTime;
/**
* 方案类型
*/
@ApiModelProperty(value = "方案类型:1:本科",name = "type")
private Integer type ;
/**
* 方案详情
*/
@ApiModelProperty(value = "方案详情",name = "detail")
private String detail;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间",name = "creteTime")
private Date createTime;
/**
*更改时间
*/
@ApiModelProperty(value = "更改时间",name = "updateTime")
private Date updateTime;
}
package cn.wisenergy.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*@ Description: 充值记录查询Vo
*@ Author : 86187
*@ Date : 2021/1/13 17:16
*/
@Data
@ApiModel(value = "PayRecordQueryVo")
public class PayRecordQueryVo implements Serializable {
private static final long serialVersionUID = 4964338614574527324L;
/**
* 关键词
*/
@ApiModelProperty(value = "关键词", name = "keyword")
private String keyword;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id", name = "userId")
private Integer userId;
/**
* 起始页
*/
@ApiModelProperty(value = "起始页", name = "pageNo")
private Integer pageNo;
/**
* 页大小
*/
@ApiModelProperty(value = "页大小", name = "pageSize")
private Integer pageSize;
private Integer startNum;
private Integer endNum;
}
package cn.wisenergy.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*@ Description: 充值记录展示Vo
*@ Author : 86187
*@ Date : 2021/1/13 17:14
*/
@Data
@ApiModel(value = "PayRecordShowVo")
public class PayRecordShowVo implements Serializable {
private static final long serialVersionUID = 3279446872102807035L;
/**
* 充值记录id
*/
@ApiModelProperty(value = "充值记录id",name = "")
private Integer recordId;
/**
* 充值类型 1:支付宝 2:微信 3:充值卡
*/
@ApiModelProperty(value = "充值类型 1:支付宝 2:微信 3:充值卡",name = "type")
private Integer type;
/**
* 充值结果 0:成功 1:失败
*/
@ApiModelProperty(value = "充值结果 0:成功 1:失败",name = "result")
private Integer result;
/**
* 充值次数
*/
@ApiModelProperty(value = "充值次数",name = "limit")
private Integer limit;
/**
* 充值时间
*/
@ApiModelProperty(value = "充值时间",name = "payTime")
private Integer payTime;
}
package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.PayRecord;
import cn.wisenergy.model.vo.PayRecordQueryVo;
import cn.wisenergy.model.vo.PayRecordShowVo;
import com.github.pagehelper.PageInfo;
/**
*@ Description: 充值记录接口定义
*@ Author : 86187
*@ Date : 2021/1/13 17:13
*/
public interface PayRecordService {
/**
* 获取用户充值列表
* @param payRecordQueryVo
* @return
*/
R<PageInfo<PayRecordShowVo>> getList(PayRecordQueryVo payRecordQueryVo);
}
...@@ -2,6 +2,7 @@ package cn.wisenergy.service.app; ...@@ -2,6 +2,7 @@ package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.SchemeQueryRecord; import cn.wisenergy.model.app.SchemeQueryRecord;
import cn.wisenergy.model.app.Volunteer;
import cn.wisenergy.model.vo.SchemeRecordQueryVo; import cn.wisenergy.model.vo.SchemeRecordQueryVo;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
...@@ -24,5 +25,11 @@ public interface SchemeRecordService { ...@@ -24,5 +25,11 @@ public interface SchemeRecordService {
*/ */
R<PageInfo<SchemeQueryRecord>> getList(SchemeRecordQueryVo schemeRecordQueryVo); R<PageInfo<SchemeQueryRecord>> getList(SchemeRecordQueryVo schemeRecordQueryVo);
/**
* 获取用户方案志愿列表
* @param userId 用户id
* @param recordId 方案记录id
* @return 方案志愿列表
*/
R<List<Volunteer>> getVolunteerList(Integer userId,Integer recordId);
} }
package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.constant.CommonAttributes;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.PayRecordMapper;
import cn.wisenergy.model.app.PayRecord;
import cn.wisenergy.model.dto.UserInfoDto;
import cn.wisenergy.model.vo.PayRecordQueryVo;
import cn.wisenergy.model.vo.PayRecordShowVo;
import cn.wisenergy.model.vo.UserQueryVo;
import cn.wisenergy.service.app.PayRecordService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @ Description: 充值记录实现
* @ Author : 86187
* @ Date : 2021/1/13 17:18
*/
@Service
@Slf4j
public class PayRecordServiceImpl extends ServiceImpl<PayRecordMapper, PayRecord> implements PayRecordService {
@Autowired
private PayRecordMapper payRecordMapper;
@Override
public R<PageInfo<PayRecordShowVo>> getList(PayRecordQueryVo queryVo) {
log.info("volunteer-service[]PayRecordServiceImpl[]getList[]input.param.queryVo:" + queryVo);
if (null == queryVo || null == queryVo.getUserId()) {
return R.error("参数不能为空!");
}
pageHandle(queryVo);
Map<String, Object> map = new HashMap<>(16);
map.put("userId", queryVo.getUserId());
int total = payRecordMapper.count(map);
map.put("startNum", queryVo.getStartNum());
map.put("endNum", queryVo.getEndNum());
List<PayRecordShowVo> list = payRecordMapper.getList(map);
PageInfo<PayRecordShowVo> info = new PageInfo<>();
info.setPageSize(queryVo.getPageSize());
info.setPageNum(queryVo.getPageNo());
info.setTotal(total);
info.setList(list);
return R.ok(info);
}
/**
* 分页处理方法
*
* @param orderQueryVo 参数
*/
private void pageHandle(PayRecordQueryVo orderQueryVo) {
Integer pageNum = orderQueryVo.getPageNo();
Integer pageSize = orderQueryVo.getPageSize();
if (null == pageSize || pageSize == 0) {
pageSize = 10;
}
if (null == pageNum || pageNum == 0) {
pageNum = 1;
}
Integer endNum = pageSize;
Integer startNum = (pageNum - CommonAttributes.NUM_ONE) * pageSize;
orderQueryVo.setEndNum(endNum);
orderQueryVo.setStartNum(startNum);
orderQueryVo.setPageNo(pageNum);
orderQueryVo.setPageSize(pageSize);
}
}
...@@ -3,31 +3,45 @@ package cn.wisenergy.service.app.impl; ...@@ -3,31 +3,45 @@ package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.constant.CommonAttributes; import cn.wisenergy.common.constant.CommonAttributes;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.SchemeRecordMapper; import cn.wisenergy.mapper.SchemeRecordMapper;
import cn.wisenergy.mapper.UserVolunteerMapper;
import cn.wisenergy.mapper.VolunteerMapper;
import cn.wisenergy.model.app.SchemeQueryRecord; import cn.wisenergy.model.app.SchemeQueryRecord;
import cn.wisenergy.model.app.UserVolunteer;
import cn.wisenergy.model.app.Volunteer;
import cn.wisenergy.model.vo.SchemeRecordQueryVo; import cn.wisenergy.model.vo.SchemeRecordQueryVo;
import cn.wisenergy.service.app.SchemeRecordService; import cn.wisenergy.service.app.SchemeRecordService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
*@ Description: 方案查询记录接口实现 * @ Description: 方案查询记录接口实现
*@ Author : 86187 * @ Author : 86187
*@ Date : 2021/1/8 11:41 * @ Date : 2021/1/8 11:41
*/ */
@Slf4j @Slf4j
@Service @Service
public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, SchemeQueryRecord> implements SchemeRecordService { public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, SchemeQueryRecord> implements SchemeRecordService {
@Autowired @Autowired
private SchemeRecordMapper schemeRecordMapper; private SchemeRecordMapper schemeRecordMapper;
@Autowired
private UserVolunteerMapper userVolunteerMapper;
@Autowired
private VolunteerMapper volunteerMapper;
@Override @Override
public R<SchemeQueryRecord> add(SchemeQueryRecord scheme) { public R<SchemeQueryRecord> add(SchemeQueryRecord scheme) {
log.info("volunteer-service[]SchemeRecordServiceImpl[]getById[]input.param.scheme:" + scheme); log.info("volunteer-service[]SchemeRecordServiceImpl[]getById[]input.param.scheme:" + scheme);
...@@ -36,8 +50,8 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch ...@@ -36,8 +50,8 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch
} }
//保存记录信息 //保存记录信息
SchemeQueryRecord schemeQueryRecord=schemeRecordMapper.add(scheme); SchemeQueryRecord schemeQueryRecord = schemeRecordMapper.add(scheme);
if(null == schemeQueryRecord){ if (null == schemeQueryRecord) {
return R.error("添加方案记录失败"); return R.error("添加方案记录失败");
} }
return R.ok(schemeQueryRecord); return R.ok(schemeQueryRecord);
...@@ -53,15 +67,15 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch ...@@ -53,15 +67,15 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch
pageHandle(queryVo); pageHandle(queryVo);
//统计数据总条数 //统计数据总条数
Map<String,Object> map=new HashMap<>(8); Map<String, Object> map = new HashMap<>(8);
map.put("user_id",queryVo.getUserId()); map.put("user_id", queryVo.getUserId());
int total=schemeRecordMapper.count(map); int total = schemeRecordMapper.count(map);
//根据用户id,查询方案记录列表 //根据用户id,查询方案记录列表
map.put("startNum",queryVo.getPageSize()); map.put("startNum", queryVo.getPageSize());
map.put("endNUm",queryVo.getEndNum()); map.put("endNUm", queryVo.getEndNum());
List<SchemeQueryRecord> list=schemeRecordMapper.getList(map); List<SchemeQueryRecord> list = schemeRecordMapper.getList(map);
PageInfo<SchemeQueryRecord> info = new PageInfo<>(); PageInfo<SchemeQueryRecord> info = new PageInfo<>();
info.setPageSize(queryVo.getPageSize()); info.setPageSize(queryVo.getPageSize());
info.setPageNum(queryVo.getPageNo()); info.setPageNum(queryVo.getPageNo());
...@@ -70,16 +84,42 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch ...@@ -70,16 +84,42 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch
return R.ok(info); return R.ok(info);
} }
@Override
public R<List<Volunteer>> getVolunteerList(Integer userId, Integer recordId) {
log.info("volunteer-service[]SchemeRecordServiceImpl[]getVolunteerList[]input.param.userId,recordId:" + userId);
if (null == userId || null == recordId) {
return R.error("入参为空!");
}
//1、根据用户id和方案记录id,获取志愿ids
QueryWrapper<UserVolunteer> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id", userId);
queryWrapper.eq("scheme_record_id", recordId);
List<UserVolunteer> list = userVolunteerMapper.selectList(queryWrapper);
if (CollectionUtils.isEmpty(list)) {
return R.ok(new ArrayList<>());
}
List<Integer> ids = list.stream().map(UserVolunteer::getVolunteerId).collect(Collectors.toList());
List<Volunteer> result = volunteerMapper.getListByIds(ids);
return R.ok(result);
}
/** /**
* 分页处理 * 分页处理
*
* @param cameraQueryVo 参数 * @param cameraQueryVo 参数
*/ */
private void pageHandle(SchemeRecordQueryVo cameraQueryVo) { private void pageHandle(SchemeRecordQueryVo cameraQueryVo) {
Integer pageNum = cameraQueryVo.getPageNo(); Integer pageNum = cameraQueryVo.getPageNo();
Integer pageSize = cameraQueryVo.getPageSize(); Integer pageSize = cameraQueryVo.getPageSize();
if (null == pageSize || pageSize == 0) {pageSize = 10;} if (null == pageSize || pageSize == 0) {
if (null == pageNum || pageNum == 0) {pageNum = 1;} pageSize = 10;
}
if (null == pageNum || pageNum == 0) {
pageNum = 1;
}
Integer endNum = pageSize; Integer endNum = pageSize;
Integer startNum = (pageNum - CommonAttributes.NUM_ONE) * pageSize; Integer startNum = (pageNum - CommonAttributes.NUM_ONE) * pageSize;
cameraQueryVo.setEndNum(endNum); cameraQueryVo.setEndNum(endNum);
......
...@@ -94,7 +94,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp ...@@ -94,7 +94,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
* @param schemeQueryRecord 方案记录 * @param schemeQueryRecord 方案记录
* @return true 成功 false 失败 * @return true 成功 false 失败
*/ */
@Transactional() @Transactional
public boolean saveUserVolunteer(Integer userId, List<Integer> ids, SchemeQueryRecord schemeQueryRecord) { public boolean saveUserVolunteer(Integer userId, List<Integer> ids, SchemeQueryRecord schemeQueryRecord) {
//保存方案查询记录 //保存方案查询记录
SchemeQueryRecord count = schemeRecordMapper.add(schemeQueryRecord); SchemeQueryRecord count = schemeRecordMapper.add(schemeQueryRecord);
......
...@@ -5,7 +5,7 @@ spring: ...@@ -5,7 +5,7 @@ spring:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/exam?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8 url: jdbc:mysql://localhost:3306/exam?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8
username: root username: root
password: password: root
initial-size: 10 initial-size: 10
max-active: 100 max-active: 100
min-idle: 10 min-idle: 10
......
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