Browse Source

礼品卡生成规则+礼品卡信息导出

master
fanzongzhe 1 year ago
parent
commit
da9d8429de
  1. 2
      src/main/java/com/yxt/yyth/api/lpkcardbuildrecord/LpkCardBuildRecord.java
  2. 1
      src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java
  3. 1
      src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardDto.java
  4. 22
      src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardExport.java
  5. 2
      src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListQuery.java
  6. 1
      src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml
  7. 9
      src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java
  8. 27
      src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml
  9. 8
      src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java
  10. 76
      src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java

2
src/main/java/com/yxt/yyth/api/lpkcardbuildrecord/LpkCardBuildRecord.java

@ -29,5 +29,5 @@ public class LpkCardBuildRecord {
private String countNumber;
private String startNumber;
private String endNumber;
private String cardArea;
}

1
src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java

@ -20,4 +20,5 @@ public class LpkCustomerVo implements Vo {
private String nick;
private String photo;
private String wxMpOpenid;
private String createTime;
}

1
src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardDto.java

@ -13,4 +13,5 @@ import lombok.Data;
public class LpkGiftCardDto implements Dto {
private String bagSid;
private String num;
private String cardArea;
}

22
src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardExport.java

@ -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;
}

2
src/main/java/com/yxt/yyth/api/lpkgiftcard/LpkGiftCardListQuery.java

@ -14,5 +14,5 @@ public class LpkGiftCardListQuery implements Query {
private String noStart; //序列号开始
private String noEnd; //序列号结束
private String sid;
private String serialNumber;
private String number;
}

1
src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml

@ -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,

9
src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.java

@ -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);
}

27
src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardMapper.xml

@ -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>

8
src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java

@ -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);
};
}

76
src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java

@ -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();
}
}

Loading…
Cancel
Save