|
|
@ -14,6 +14,7 @@ import com.yxt.common.core.result.ResultBean; |
|
|
|
import com.yxt.common.core.vo.PagerVo; |
|
|
|
import com.yxt.yyth.api.empcard.EmpAppletVo; |
|
|
|
import com.yxt.yyth.api.empcard.EmpCard; |
|
|
|
import com.yxt.yyth.api.empcard.EmpCardVo; |
|
|
|
import com.yxt.yyth.api.empcardgift.*; |
|
|
|
import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoodsDto; |
|
|
|
import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoodsVo; |
|
|
@ -326,65 +327,76 @@ public class EmpCardGiftService extends MybatisBaseService<EmpCardGiftMapper, Em |
|
|
|
if(null==empCard){ |
|
|
|
return rb.setMsg("请选择正确的企业卡"); |
|
|
|
} |
|
|
|
EmpCardGrantLog record = new EmpCardGrantLog(); |
|
|
|
record.setCreateTime(new DateTime()); |
|
|
|
record.setEmpCardSid(dto.getEmpCardSid()); |
|
|
|
record.setEmpCardCustomerSid(empCard.getCustomerSid()); |
|
|
|
empCardGrantLogService.insert(record); |
|
|
|
|
|
|
|
EmpCardGift card = new EmpCardGift(); |
|
|
|
card.setRemarks(dto.getRemarks()); |
|
|
|
card.setEmpCardSid(dto.getEmpCardSid()); |
|
|
|
card.setEmpCardSerialNumber(empCard.getSerialNumber()); |
|
|
|
card.setEmpCardCode(empCard.getCode()); |
|
|
|
card.setEmpCardCustomerSid(empCard.getCustomerSid()); |
|
|
|
card.setRecordSid(record.getSid()); |
|
|
|
card.setState("1"); |
|
|
|
card.setCreateTime(new DateTime()); |
|
|
|
card.setGrantDate(new Date()); |
|
|
|
card.setCodeKey(dto.getCodeKey()); |
|
|
|
card.setCode(dto.getCode()); |
|
|
|
String cardArea="9"; |
|
|
|
String maxSerNum = baseMapper.selctMaxSerNum(cardArea); |
|
|
|
if (StringUtils.isBlank(maxSerNum)) { |
|
|
|
card.setSerialNumber(cardArea + "0000001"); |
|
|
|
} else { |
|
|
|
String substringSer = maxSerNum.substring(cardArea.length()); |
|
|
|
int i1 = Integer.parseInt(substringSer); |
|
|
|
int finNum = i1 + 1; |
|
|
|
int length = String.valueOf(finNum).length(); |
|
|
|
int len = 7 - length; |
|
|
|
String num = String.valueOf(finNum); |
|
|
|
for (int a = 0; a < len; a++) { |
|
|
|
num = "0" + num; |
|
|
|
for(GoodsVo goodsVo:dto.getGoodsVoList()){ |
|
|
|
EmpCardVo vo= empCardService.getBagGoods(dto.getEmpCardSid(),goodsVo.getGoodsSid()).getData(); |
|
|
|
if(goodsVo.getSelect()*Integer.valueOf(dto.getCount())>vo.getGoodsNumber()){ |
|
|
|
return rb.setMsg("商品数量不足,请重新选择"); |
|
|
|
} |
|
|
|
card.setSerialNumber(cardArea + num); |
|
|
|
} |
|
|
|
baseMapper.insert(card); |
|
|
|
for(GoodsVo vo:dto.getGoodsVoList()){ |
|
|
|
EmpCardGiftGoodsDto dto1=new EmpCardGiftGoodsDto(); |
|
|
|
dto1.setEmpCardGiftSid(card.getSid()); |
|
|
|
dto1.setGoodsSid(vo.getGoodsSid()); |
|
|
|
dto1.setGoodsNumber(vo.getSelect()); |
|
|
|
empCardGiftGoodsService.save(dto1); |
|
|
|
for (int k = 0; k < Integer.valueOf(dto.getCount()); k++) { |
|
|
|
EmpCardGrantLog record = new EmpCardGrantLog(); |
|
|
|
record.setCreateTime(new DateTime()); |
|
|
|
record.setEmpCardSid(dto.getEmpCardSid()); |
|
|
|
record.setEmpCardCustomerSid(empCard.getCustomerSid()); |
|
|
|
empCardGrantLogService.insert(record); |
|
|
|
|
|
|
|
} |
|
|
|
record.setSerialNumber(card.getSerialNumber()); |
|
|
|
record.setEmpCardSid(dto.getEmpCardSid()); |
|
|
|
record.setCode(dto.getCode()); |
|
|
|
empCardGrantLogService.updateById(record); |
|
|
|
EmpCardGift card = new EmpCardGift(); |
|
|
|
card.setRemarks(dto.getRemarks()); |
|
|
|
card.setEmpCardSid(dto.getEmpCardSid()); |
|
|
|
card.setEmpCardSerialNumber(empCard.getSerialNumber()); |
|
|
|
card.setEmpCardCode(empCard.getCode()); |
|
|
|
card.setEmpCardCustomerSid(empCard.getCustomerSid()); |
|
|
|
card.setRecordSid(record.getSid()); |
|
|
|
card.setState("1"); |
|
|
|
card.setCreateTime(new DateTime()); |
|
|
|
card.setGrantDate(new Date()); |
|
|
|
|
|
|
|
EmpAppletVo vo = empCardService.getEmpCardBySid(empCard.getSid()).getData(); |
|
|
|
int i = 0; |
|
|
|
for (com.yxt.yyth.api.lpkgiftcard.GoodsVo vo1 : vo.getGoodsVos()) { |
|
|
|
EmpCardGrantLogVo goods1 = empCardGrantLogService.recordListGoods(dto.getEmpCardSid(), vo1.getGoodsSid()).getData(); |
|
|
|
if (null != goods1) { |
|
|
|
if (vo1.getNum() <= goods1.getGoodsNumber()) { |
|
|
|
i++; |
|
|
|
String cardArea="9"; |
|
|
|
String maxSerNum = baseMapper.selctMaxSerNum(cardArea); |
|
|
|
String uuid = UniqueIdGenerator.generateUniqueID(); |
|
|
|
int randomNumber = new Random().nextInt(900000) + 100000; |
|
|
|
card.setCodeKey(String.valueOf(randomNumber)); |
|
|
|
card.setCode("99"+uuid.substring(2)); |
|
|
|
if (StringUtils.isBlank(maxSerNum)) { |
|
|
|
card.setSerialNumber(cardArea + "0000001"); |
|
|
|
} else { |
|
|
|
String substringSer = maxSerNum.substring(cardArea.length()); |
|
|
|
int i1 = Integer.parseInt(substringSer); |
|
|
|
int finNum = i1 + 1; |
|
|
|
int length = String.valueOf(finNum).length(); |
|
|
|
int len = 7 - length; |
|
|
|
String num = String.valueOf(finNum); |
|
|
|
for (int a = 0; a < len; a++) { |
|
|
|
num = "0" + num; |
|
|
|
} |
|
|
|
card.setSerialNumber(cardArea + num); |
|
|
|
} |
|
|
|
baseMapper.insert(card); |
|
|
|
for(GoodsVo vo:dto.getGoodsVoList()){ |
|
|
|
EmpCardGiftGoodsDto dto1=new EmpCardGiftGoodsDto(); |
|
|
|
dto1.setEmpCardGiftSid(card.getSid()); |
|
|
|
dto1.setGoodsSid(vo.getGoodsSid()); |
|
|
|
dto1.setGoodsNumber(vo.getSelect()); |
|
|
|
empCardGiftGoodsService.save(dto1); |
|
|
|
|
|
|
|
} |
|
|
|
if (vo.getGoodsVos().size() == i) { |
|
|
|
empCardService.changState(dto.getEmpCardSid(), "3"); |
|
|
|
record.setSerialNumber(card.getSerialNumber()); |
|
|
|
record.setEmpCardSid(dto.getEmpCardSid()); |
|
|
|
record.setCode(dto.getCode()); |
|
|
|
empCardGrantLogService.updateById(record); |
|
|
|
|
|
|
|
EmpAppletVo vo = empCardService.getEmpCardBySid(empCard.getSid()).getData(); |
|
|
|
int i = 0; |
|
|
|
for (com.yxt.yyth.api.lpkgiftcard.GoodsVo vo1 : vo.getGoodsVos()) { |
|
|
|
EmpCardGrantLogVo goods1 = empCardGrantLogService.recordListGoods(dto.getEmpCardSid(), vo1.getGoodsSid()).getData(); |
|
|
|
if (null != goods1) { |
|
|
|
if (vo1.getNum() <= goods1.getGoodsNumber()) { |
|
|
|
i++; |
|
|
|
} |
|
|
|
} |
|
|
|
if (vo.getGoodsVos().size() == i) { |
|
|
|
empCardService.changState(dto.getEmpCardSid(), "3"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|