礼品卡生成规则+礼品卡信息导出
This commit is contained in:
@@ -29,5 +29,5 @@ public class LpkCardBuildRecord {
|
||||
private String countNumber;
|
||||
private String startNumber;
|
||||
private String endNumber;
|
||||
|
||||
private String cardArea;
|
||||
}
|
||||
|
||||
@@ -20,4 +20,5 @@ public class LpkCustomerVo implements Vo {
|
||||
private String nick;
|
||||
private String photo;
|
||||
private String wxMpOpenid;
|
||||
private String createTime;
|
||||
}
|
||||
|
||||
@@ -13,4 +13,5 @@ import lombok.Data;
|
||||
public class LpkGiftCardDto implements Dto {
|
||||
private String bagSid;
|
||||
private String num;
|
||||
private String cardArea;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.yxt.yyth.api.lpkgiftcard;
|
||||
|
||||
import com.yxt.common.core.utils.ExportEntityMap;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Fan
|
||||
* @description
|
||||
* @date 2023/11/27 10:34
|
||||
*/
|
||||
@Data
|
||||
public class LpkGiftCardExport {
|
||||
@ExportEntityMap(CnName = "提货二维码", EnName = "pic")
|
||||
private String pic;
|
||||
@ExportEntityMap(CnName = "提货编码", EnName = "code")
|
||||
private String code;
|
||||
@ExportEntityMap(CnName = "提货密码", EnName = "codeKey")
|
||||
private String codeKey;
|
||||
@ExportEntityMap(CnName = "序列号", EnName = "serialNumber")
|
||||
private String serialNumber;
|
||||
|
||||
}
|
||||
@@ -14,5 +14,5 @@ public class LpkGiftCardListQuery implements Query {
|
||||
private String noStart; //序列号开始
|
||||
private String noEnd; //序列号结束
|
||||
private String sid;
|
||||
private String serialNumber;
|
||||
private String number;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<select id="customerListPage" resultType="com.yxt.yyth.api.lpkcustomer.LpkCustomerVo">
|
||||
select
|
||||
sid,
|
||||
createTime,
|
||||
date_format(bindDate, '%Y-%m-%d') as bindDate,
|
||||
realName,
|
||||
nick,
|
||||
|
||||
@@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag;
|
||||
import com.yxt.yyth.api.lpkgiftcard.AppletVo;
|
||||
import com.yxt.yyth.api.lpkgiftcard.LpkGiftCard;
|
||||
import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardListVo;
|
||||
import com.yxt.yyth.api.lpkgiftcard.LpkGiftCardVo;
|
||||
import com.yxt.yyth.api.lpkgiftcard.*;
|
||||
import com.yxt.yyth.api.lpkstore.LpkStore;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -42,11 +39,13 @@ public interface LpkGiftCardMapper extends BaseMapper<LpkGiftCard> {
|
||||
AppletVo getGifCardBySid(@Param("sid") String sid);
|
||||
|
||||
|
||||
String selctMaxSerNum();
|
||||
String selctMaxSerNum(@Param("cardArea") String cardArea);
|
||||
|
||||
IPage<LpkGiftCardListVo> cardList(IPage<LpkGiftCard> page, @Param(Constants.WRAPPER) QueryWrapper<LpkGiftCard> qw);
|
||||
|
||||
List<LpkGiftCardListVo> selAllByRecordSid(@Param("sid") String sid);
|
||||
|
||||
IPage<LpkGiftCardListVo> recordDetails(IPage<LpkGiftCard> page, @Param(Constants.WRAPPER) QueryWrapper<LpkGiftCard> qw);
|
||||
|
||||
List<LpkGiftCardExport> exportExcel(@Param(Constants.WRAPPER) QueryWrapper<LpkGiftCard> qw);
|
||||
}
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
SELECT MAX(serialNumber) as sNo
|
||||
FROM lpk_giftcard
|
||||
WHERE LENGTH(serialNumber) = 8
|
||||
AND LEFT (serialNumber
|
||||
, 2) = #{cardArea}
|
||||
</select>
|
||||
<select id="cardList" resultType="com.yxt.yyth.api.lpkgiftcard.LpkGiftCardListVo">
|
||||
SELECT
|
||||
@@ -38,7 +40,12 @@
|
||||
serialNumber,
|
||||
code,
|
||||
codeKey,
|
||||
`state`,
|
||||
CASE `state`
|
||||
WHEN 1 THEN '未发放'
|
||||
WHEN 2 THEN '未绑定客户'
|
||||
WHEN 3 THEN '未提货'
|
||||
WHEN 4 THEN '已经预约提货(预约部分提货)'
|
||||
WHEN 5 THEN '已经提取完成' END AS `state`,
|
||||
grantName,
|
||||
date_format(grantDate, '%Y-%m-%d') as grantDate,
|
||||
customerMobile,
|
||||
@@ -74,7 +81,12 @@
|
||||
serialNumber,
|
||||
code,
|
||||
codeKey,
|
||||
`state`,
|
||||
CASE `state`
|
||||
WHEN 1 THEN '未发放'
|
||||
WHEN 2 THEN '未绑定客户'
|
||||
WHEN 3 THEN '未提货'
|
||||
WHEN 4 THEN '已经预约提货(预约部分提货)'
|
||||
WHEN 5 THEN '已经提取完成' END AS `state`,
|
||||
grantName,
|
||||
date_format(grantDate, '%Y-%m-%d') as grantDate,
|
||||
customerMobile,
|
||||
@@ -85,6 +97,17 @@
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="exportExcel" resultType="com.yxt.yyth.api.lpkgiftcard.LpkGiftCardExport">
|
||||
SELECT
|
||||
serialNumber,
|
||||
code,
|
||||
codeKey
|
||||
FROM
|
||||
lpk_giftcard
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -73,4 +73,12 @@ public class LpkGiftCardRest {
|
||||
return lpkGiftCardService.recordDetails(pq);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "礼包卡信息列表导出")
|
||||
@PostMapping("/exportExcel")
|
||||
public ResultBean exportExcel(@RequestBody LpkGiftCardListQuery query) {
|
||||
return lpkGiftCardService.exportExcel(query);
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.ExportExcelUtils;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
@@ -33,10 +34,13 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
@@ -58,6 +62,8 @@ public class LpkGiftCardService extends MybatisBaseService<LpkGiftCardMapper, Lp
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private LpkCardBuildRecordService lpkCardBuildRecordService;
|
||||
@Autowired
|
||||
private HttpServletResponse response;
|
||||
|
||||
public ResultBean bindCard(BindCardDto bindCardDto) {
|
||||
ResultBean rb = new ResultBean().fail();
|
||||
@@ -85,6 +91,7 @@ public class LpkGiftCardService extends MybatisBaseService<LpkGiftCardMapper, Lp
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
|
||||
public ResultBean<AppletVo> getGifCardBySid(String sid) {
|
||||
ResultBean rb = new ResultBean().fail();
|
||||
AppletVo vo = baseMapper.getGifCardBySid(sid);
|
||||
@@ -133,9 +140,9 @@ public class LpkGiftCardService extends MybatisBaseService<LpkGiftCardMapper, Lp
|
||||
goodsVo.setGoodsSid(s.getGoodsSid());
|
||||
goodsVo.setPic(urlPrefix + s.getPicUrl());
|
||||
if (null != goods) {
|
||||
if(goods.getGoodsNumber()!=s.getGoodsNumber()){
|
||||
goodsVo.setLNum(s.getGoodsNumber()-goods.getGoodsNumber());
|
||||
goodsVo.setSelect(s.getGoodsNumber()-goods.getGoodsNumber());
|
||||
if (goods.getGoodsNumber() != s.getGoodsNumber()) {
|
||||
goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber());
|
||||
goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber());
|
||||
goodsVos.add(goodsVo);
|
||||
}
|
||||
} else {
|
||||
@@ -158,7 +165,11 @@ public class LpkGiftCardService extends MybatisBaseService<LpkGiftCardMapper, Lp
|
||||
if (StringUtils.isBlank(dto.getNum())) {
|
||||
return rb.setMsg("请输入生成卡片的数量");
|
||||
}
|
||||
if (StringUtils.isBlank(dto.getCardArea())) {
|
||||
return rb.setMsg("请输入区域号");
|
||||
}
|
||||
int i = Integer.parseInt(dto.getNum());
|
||||
String cardArea = dto.getCardArea();
|
||||
LpkCardBuildRecord record = new LpkCardBuildRecord();
|
||||
record.setCountNumber(dto.getNum());
|
||||
record.setBuildDate(new DateTime());
|
||||
@@ -176,19 +187,20 @@ public class LpkGiftCardService extends MybatisBaseService<LpkGiftCardMapper, Lp
|
||||
int randomNumber = new Random().nextInt(900000) + 100000;
|
||||
card.setCodeKey(String.valueOf(randomNumber));
|
||||
card.setCode(uuid);
|
||||
String maxSerNum = baseMapper.selctMaxSerNum();
|
||||
String maxSerNum = baseMapper.selctMaxSerNum(cardArea);
|
||||
if (StringUtils.isBlank(maxSerNum)) {
|
||||
card.setSerialNumber("00000001");
|
||||
card.setSerialNumber(cardArea + "000001");
|
||||
} else {
|
||||
int i1 = Integer.parseInt(maxSerNum);
|
||||
String substringSer = maxSerNum.substring(cardArea.length());
|
||||
int i1 = Integer.parseInt(substringSer);
|
||||
int finNum = i1 + 1;
|
||||
int length = String.valueOf(finNum).length();
|
||||
int len = 8 - length;
|
||||
int len = 6 - length;
|
||||
String num = String.valueOf(finNum);
|
||||
for (int a = 0; a < len; a++) {
|
||||
num = "0" + num;
|
||||
}
|
||||
card.setSerialNumber(num);
|
||||
card.setSerialNumber(cardArea + num);
|
||||
}
|
||||
if (j == 0) {
|
||||
startNum = card.getSerialNumber();
|
||||
@@ -200,6 +212,7 @@ public class LpkGiftCardService extends MybatisBaseService<LpkGiftCardMapper, Lp
|
||||
}
|
||||
record.setStartNumber(startNum);
|
||||
record.setEndNumber(endNum);
|
||||
record.setCardArea(cardArea);
|
||||
lpkCardBuildRecordService.insert(record);
|
||||
return rb.success();
|
||||
}
|
||||
@@ -261,11 +274,11 @@ public class LpkGiftCardService extends MybatisBaseService<LpkGiftCardMapper, Lp
|
||||
if (StringUtils.isNotBlank(query.getState())) {
|
||||
qw.eq("state", query.getState());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getSerialNumber())) {
|
||||
qw.like("serialNumber", query.getSerialNumber());
|
||||
if (StringUtils.isNotBlank(query.getNumber())) {
|
||||
qw.like("serialNumber", query.getNumber());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getSid())) {
|
||||
qw.like("recordSid", query.getSid());
|
||||
qw.eq("recordSid", query.getSid());
|
||||
}
|
||||
qw.orderByDesc("createTime");
|
||||
IPage<LpkGiftCard> page = PagerUtil.queryToPage(pq);
|
||||
@@ -273,11 +286,46 @@ public class LpkGiftCardService extends MybatisBaseService<LpkGiftCardMapper, Lp
|
||||
PagerVo<LpkGiftCardListVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
public ResultBean changState(String cardSid,String state) {
|
||||
ResultBean rb=new ResultBean().fail();
|
||||
LpkGiftCard card=baseMapper.selectOne(new QueryWrapper<LpkGiftCard>().eq("sid",cardSid));
|
||||
|
||||
public ResultBean changState(String cardSid, String state) {
|
||||
ResultBean rb = new ResultBean().fail();
|
||||
LpkGiftCard card = baseMapper.selectOne(new QueryWrapper<LpkGiftCard>().eq("sid", cardSid));
|
||||
card.setState(state);
|
||||
baseMapper.updateById(card);
|
||||
return rb.success().setData("成功");
|
||||
}
|
||||
|
||||
public ResultBean exportExcel(LpkGiftCardListQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String finUrl = "https://supervise.yxtsoft.com/lpkapi?code=";
|
||||
QueryWrapper<LpkGiftCard> qw = new QueryWrapper<>();
|
||||
qw.eq("1", "1");
|
||||
if (StringUtils.isNotBlank(query.getState())) {
|
||||
qw.eq("state", query.getState());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getNumber())) {
|
||||
qw.like("serialNumber", query.getNumber());
|
||||
}
|
||||
qw.eq("recordSid", query.getSid());
|
||||
//得到所有要导出的数据
|
||||
List<LpkGiftCardExport> exportList = baseMapper.exportExcel(qw);
|
||||
if (!exportList.isEmpty()) {
|
||||
for (LpkGiftCardExport lpkGiftCardExport : exportList) {
|
||||
if (StringUtils.isNotBlank(lpkGiftCardExport.getCode())) {
|
||||
lpkGiftCardExport.setPic(finUrl + lpkGiftCardExport.getCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
//定义导出的excel名字
|
||||
String excelName = "提货卡信息列表";
|
||||
String fileNameURL = "";
|
||||
try {
|
||||
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
//导出提货卡信息列表
|
||||
ExportExcelUtils.export(fileNameURL, exportList, LpkGiftCardExport.class, response);
|
||||
return rb.success();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user