Commit ea8e9c7e authored by liaoanyuan's avatar liaoanyuan

管理端功能实现

parent 8a5ae01f
package cn.wisenergy.common.utils;
import java.util.Random;
public class SecretkeyUtil {
public static String getSecretkey(){
char[] chars={'a','b','c','d','e','f','g','h','l','j','k','i','m','n','o','p','q','r','s','t','y','u','w','x','v','z'};
StringBuilder stringBuilder=new StringBuilder(8);
Random random = new Random();
int i1 =random.nextInt(4)+2;
for (int i = 0; i <i1; i++) {
stringBuilder.append(random.nextInt(9));
}
while (i1<7) {
int i2 =random.nextInt(25);
if (i2 < 26) {
stringBuilder.append(chars[i2]);
i1++;
}
}
stringBuilder.append(random.nextInt(9));
return Md5Util.digestMD5(stringBuilder.toString());
}
}
<?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.CardMapper">
<resultMap id="cardMap" type="cn.wisenergy.model.app.CardInfo">
<id column="id" property="id"/>
<result column="batch_number" property="batchNumber"/>
<result column="limit" property="limit"/>
<result column="secret_key" property="secretKey"/>
<result column="money" property="money"/>
<result column="status" property="status"/>
<result column="is_delete" property="isDelete"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="table">
card
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
banth_number,`limit`, secret_key,money,`status`,is_delete,create_time,update_time
</sql>
<sql id="vals">
#{banthNumber},#{limit},#{secretKey},#{money},#{status},
#{isDelete},now(),now()
</sql>
<sql id="updateCondition">
<if test="password != null">banth_number =#{banthNumber},</if>
<if test="phone != null">`limit` =#{limit},</if>
<if test="headImage != null">secret_key =#{secretKey},</if>
<if test="sex != null">money =#{money},</if>
<if test="school != null">`status` =#{status},</if>
<if test="examType != null">is_delete = #{isDelete},</if>
update_time =now()
</sql>
<sql id="criteria">
<if test="password != null"> and batch_number =#{batchNumber}</if>
<if test="phone != null">and `limit` =#{limit}</if>
<if test="headImage != null"> and secret_key =#{secretKey}</if>
<if test="sex != null">and money =#{money}</if>
<if test="school != null">and `status` =#{status}</if>
<if test="examType != null">and is_delete = #{isDelete}</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.CardInfo" keyProperty="id" useGeneratedKeys="true">
insert into
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
value(
<include refid="vals"/>
)
</insert>
</mapper>
<?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.RefillCardMapper">
<resultMap id="refillCardMap" type="cn.wisenergy.model.app.RefillCard">
<id column="id" property="id"/>
<result column="batch_number" property="batchNumber"/>
<result column="is_make_card" property="isMakeCard"/>
<result column="card_number" property="cardNumber"/>
<result column="is_activite" property="isActivite"/>
<result column="is_delete" property="isDelete"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="table">
refill_card
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
card_number,batch_number,is_make_card, is_activite,is_delete,create_time,update_time
</sql>
<sql id="vals">
#{cardNumber},#{batchNumber},#{isMakeCard},#{isActivite},
#{isDelete},now(),now()
</sql>
<sql id="updateCondition">
<if test="userName != null">card_number = #{cardNumber},</if>
<if test="password != null">batch_number =#{batchNumber},</if>
<if test="phone != null">is_make_card =#{isMakeCard},</if>
<if test="headImage != null">is_activite =#{isMakeCard},</if>
<if test="examType != null">is_delete = #{isDelete},</if>
update_time =now()
</sql>
<sql id="criteria">
<if test="userName != null">and card_number = #{cardNumber}</if>
<if test="password != null"> and batch_number =#{batchNumber}</if>
<if test="phone != null">and is_make_card =#{isMakeCard}</if>
<if test="headImage != null"> and is_activite =#{isMakeCard}</if>
<if test="examType != null">and is_delete = #{isDelete}</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.UserInfo" keyProperty="id" useGeneratedKeys="true">
insert into
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
value(
<include refid="vals"/>
)
</insert>
<update id="update" parameterType="java.lang.String">
UPDATE
<include refid="table"/>
<set>
is_activite =0
</set>
<where>
batch_number =#{batchNumber}
</where>
</update>
<select id="getList" resultMap="refillCardMap" parameterType="map">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
is_delete=0
order by create_time desc
limit #{pageNo},#{pageSize}
</where>
</select>
<select id="getUserNumbers" resultType="java.lang.Integer">
SELECT COUNT(id)
FROM
<include refid="table"/>
where is_delete=0
</select>
</mapper>
\ No newline at end of file
package cn.wisenergy.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(value = "BannerDto")
public class BannerDto {
/**
* 广告id
*/
@ApiModelProperty(value = "广告id",name = "id")
private Integer id;
/**
* 广告类型: 1:顶部广告 2:底部广告
*/
@ApiModelProperty(value = "广告类型: 1:顶部广告 2:底部广告",name = "type")
private Integer type;
/**
* 投放状态 0:暂停中 1:投放中
*/
@ApiModelProperty(value = "投放状态 0:暂停中 1:投放中",name = "status")
private Integer status;
/**
* 网址
*/
@ApiModelProperty(value = "网址",name = "website")
private String website;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间",name = "updateTime")
private Date updateTime;
}
package cn.wisenergy.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "RefillCardDto")
public class RefillCardDto {
/**
* 充值卡id
*/
@ApiModelProperty(value = "充值卡id",name = "id")
private Integer id;
/**
* 批次号
*/
@ApiModelProperty(value = "批次号",name = "batchNumber")
private String batchNumber;
/**
* 是否已制卡 0:已制卡 1:未制卡
*/
@ApiModelProperty(value = "是否已制卡 0:已制卡 1:未制卡",name = "isMakeCard")
private Integer isMakeCard;
/**
* 卡数量
*/
@ApiModelProperty(value = "卡数量",name = "cardNumber")
private Integer cardNumber ;
/**
* 是否已激活
*/
@ApiModelProperty(value = "是否已激活 0:已激活 1:未激活 ",name = "isActivite")
private Integer isActivite;
}
package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.RefillCard;
import org.apache.ibatis.annotations.Param;
public interface RefillCardService {
/**
* 添加充值卡
* @param refillCard
* @return
*/
R add(RefillCard refillCard);
/**
* 改变激活状态
* @param batchNumber
* @return
*/
R update(String batchNumber);
/**
* 查询充值卡信息
* @param pageNo
* @param pageSize
* @return
*/
R getList(Integer pageNo,Integer pageSize);
}
package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.constant.CommonAttributes;
import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.common.utils.SecretkeyUtil;
import cn.wisenergy.common.utils.StringUtil;
import cn.wisenergy.mapper.CardMapper;
import cn.wisenergy.mapper.RefillCardMapper;
import cn.wisenergy.model.app.CardInfo;
import cn.wisenergy.model.app.RefillCard;
import cn.wisenergy.model.dto.RefillCardDto;
import cn.wisenergy.model.vo.UserQueryVo;
import cn.wisenergy.service.app.RefillCardService;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@Service
@Slf4j
public class RefillCardServiceImpl implements RefillCardService {
@Autowired
RefillCardMapper refillCardMapper;
@Autowired
private CardMapper cardMapper;
@Override
@Transactional
public R add(RefillCard refillCard) {
log.info("RefillCardServiceImpl[].add[].input.param:refillCard:{}"+refillCard);
//设置初始状态
String time = DateUtil.getTime(new Date(), "yyyy.MM.dd.HH.mm.sss");
refillCard.setBatchNumber(time);
refillCard.setIsActivite(1);
refillCard.setIsMakeCard(0);
refillCard.setIsDelete(0);
int add = refillCardMapper.add(refillCard);
//判断数据是否添加成功
if (add==0) {
return R.error("数据添加失败");
}
//字卡添加
for (int i = 0; i < refillCard.getCardNumber(); i++) {
CardInfo cardInfo = new CardInfo();
cardInfo.setBanthNumber(time);
cardInfo.setIsDelete(0);
cardInfo.setMoney("10");
cardInfo.setStatus(0);
cardInfo.setLimit(0);
cardInfo.setSecretKey(SecretkeyUtil.getSecretkey());
int add1 = cardMapper.add(cardInfo);
if (add1==0) {
return R.error("数据添加失败");
}
}
return R.ok();
}
@Override
public R update(String batchNumber) {
log.info("RefillCardServiceImpl[].update[].input.param:batchNumber:{}"+batchNumber);
if (StringUtils.isEmpty(batchNumber)) {
return R.error("传入参数为空");
}
int update = refillCardMapper.update(batchNumber);
if (update==0) {
return R.error("数据修改失败");
}
return R.ok();
}
@Override
public R getList(Integer pageNum, Integer pageSize) {
log.info("RefillCardServiceImpl[].getList[].input.param:pageNum,pageSize"+pageNum,pageSize);
if (null == pageSize || pageSize == 0) {
pageSize = 10;
}
if (null == pageNum || pageNum == 0) {
pageNum = 1;
}
//创建参数容器
HashMap<String, Object> map = new HashMap<>(4);
map.put("pageNo",pageNum-1);
map.put("pageSize",pageSize);
ArrayList<RefillCardDto> refillCardDtos = new ArrayList<>();
//查询参数
List<RefillCard> list = refillCardMapper.getList(map);
for (RefillCard refillCard : list) {
RefillCardDto refillCardDto = new RefillCardDto();
BeanUtils.copyProperties(refillCard,refillCardDto);
refillCardDtos.add(refillCardDto);
}
if (refillCardDtos.size()==0) {
return R.error("用户数据不存在");
}
PageInfo<RefillCardDto> refillCardDtoPageInfo = new PageInfo<>();
refillCardDtoPageInfo.setTotal(refillCardMapper.getUserNumbers());
refillCardDtoPageInfo.setPageNum(pageNum);
refillCardDtoPageInfo.setPageSize(pageSize);
refillCardDtoPageInfo.setList(refillCardDtos);
return R.ok(refillCardDtoPageInfo);
}
}
package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.RefillCard;
import cn.wisenergy.model.dto.RefillCardDto;
import cn.wisenergy.service.app.RefillCardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(tags = "充值卡管理")
@RestController
@RequestMapping("/refillCard")
@Slf4j
public class RefillCardController {
@Autowired
private RefillCardService refillCardService;
@ApiOperation(value = "充值卡管理",notes = "充值卡管理",httpMethod = "POST")
@ApiImplicitParam(name = "numbers",value = "卡的数量",dataType="int",required = true)
@PostMapping("/manage")
public R manage(Integer numbers){
log.info("RefillCardController[].manage[].input.param,numbers"+numbers);
if (numbers==0||null==numbers) {
return R.error("输入的卡数无效是无效值");
}
//创建对象参数
RefillCard refillCard = new RefillCard();
refillCard.setCardNumber(numbers);
return refillCardService.add(refillCard);
}
@ApiOperation(value = "激活充值卡",notes = "激活充值卡",httpMethod = "POST")
@ApiImplicitParam(name = "batchNumber",value = "批次号",dataType = "string",required = true)
@PostMapping("/update")
public R update(String batchNumber){
log.info("RefillCardController[].manage[].input.param,batchNumber"+batchNumber);
return refillCardService.update(batchNumber);
}
@ApiOperation(value = "充值卡查询",notes = "充值卡查询",httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNo",value = "页数",dataType="int"),
@ApiImplicitParam(name = "pageSize",value = "每页显示条数",dataType="int")
})
@GetMapping("/select")
public R<List<RefillCardDto>> select(Integer pageNo,Integer pageSize){
log.info("RefillCardController[].select[].input.param.parampageNo,pageSize"+pageNo,pageSize);
return refillCardService.getList(pageNo, pageSize);
}
}
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