diff --git a/src/main/java/com/yxt/yyth/api/lpkgiftcard/ReturnExcelInfo.java b/src/main/java/com/yxt/yyth/api/lpkgiftcard/ReturnExcelInfo.java new file mode 100644 index 0000000..65a3fc0 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkgiftcard/ReturnExcelInfo.java @@ -0,0 +1,16 @@ +package com.yxt.yyth.api.lpkgiftcard; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/12/16 15:00 + */ +@Data +public class ReturnExcelInfo { + List infoDetails; +} diff --git a/src/main/java/com/yxt/yyth/api/lpkgiftcard/ReturnExcelInfoDetails.java b/src/main/java/com/yxt/yyth/api/lpkgiftcard/ReturnExcelInfoDetails.java new file mode 100644 index 0000000..f387b7f --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkgiftcard/ReturnExcelInfoDetails.java @@ -0,0 +1,16 @@ +package com.yxt.yyth.api.lpkgiftcard; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/12/16 16:05 + */ +@Data +public class ReturnExcelInfoDetails { + private String goodName; + private String goodNum; + private String name; + private String phone; +} diff --git a/src/main/java/com/yxt/yyth/api/lpkgiftcard/ReturnMsg.java b/src/main/java/com/yxt/yyth/api/lpkgiftcard/ReturnMsg.java new file mode 100644 index 0000000..c962abf --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkgiftcard/ReturnMsg.java @@ -0,0 +1,18 @@ +package com.yxt.yyth.api.lpkgiftcard; + +import lombok.Data; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * @author Fan + * @description + * @date 2023/12/16 18:34 + */ +@Data +public class ReturnMsg { + List infos; + Set setMsg; +} diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagRest.java b/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagRest.java index 3eb1933..0427179 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagRest.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagRest.java @@ -38,7 +38,7 @@ public class LpkGiftBagRest { @ApiOperation("保存修改") @PostMapping("/saveGiftBag") - public ResultBean saveGiftBag(@RequestBody LpkGiftBagDto dto) { + public ResultBean saveGiftBag(@RequestBody LpkGiftBagDto dto) { return lpkGiftBagService.saveGiftBag(dto); } diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagService.java b/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagService.java index 0f30ee2..9874fbf 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagService.java @@ -46,7 +46,7 @@ public class LpkGiftBagService extends MybatisBaseService qw = new QueryWrapper<>(); - qw.eq("1","1"); + qw.eq("1", "1"); if (StringUtils.isNotBlank(query.getName())) { qw.like("name", query.getName()); } @@ -67,9 +67,11 @@ public class LpkGiftBagService extends MybatisBaseService saveGiftBag(LpkGiftBagDto dto) { ResultBean rb = ResultBean.fireFail(); + String sid = ""; if (StringUtils.isNotBlank(dto.getSid())) { + sid = dto.getSid(); lpkGiftBagGoodsService.deleteGoodsByBagSid(dto.getSid()); LpkGiftBag lpkGiftBag = fetchBySid(dto.getSid()); BeanUtil.copyProperties(dto, lpkGiftBag, "id", "sid"); @@ -93,6 +95,7 @@ public class LpkGiftBagService extends MybatisBaseService pagging = baseMapper.giftBagList(); diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java index e71ba5b..91f08c6 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardRest.java @@ -12,11 +12,15 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.text.ParseException; /** * @author wangpengfei @@ -115,4 +119,16 @@ public class LpkGiftCardRest { return lpkGiftCardService.cardGrant(dto); } + @ApiOperation(value = "批量发行导入") + @PostMapping("/getExcelInfo") + public ResultBean getExcelInfo( + @RequestParam(value = "startDate") String startDate, + @RequestParam(value = "endDate") String endDate, + @RequestParam(value = "file") MultipartFile file, + HttpServletRequest request, + HttpServletResponse response) throws IOException, ParseException { + return lpkGiftCardService.getExcelInfo(startDate,endDate,file,request,response); + } + + } diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java index 15a8095..dbb21d3 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java @@ -6,8 +6,11 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.img.ImgUtil; +import java.io.InputStream; +import java.text.ParseException; import java.time.DayOfWeek; import java.time.Period; + import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import cn.hutool.extra.qrcode.QrCodeUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -23,7 +26,9 @@ import com.yxt.common.core.vo.PagerVo; import com.yxt.yyth.api.lpkcardbuildrecord.LpkCardBuildRecord; import com.yxt.yyth.api.lpkcardgrantrecord.LpkCardGrantRecordDto; import com.yxt.yyth.api.lpkcardqrcode.LpkCardQrcodeDto; +import com.yxt.yyth.api.lpkgiftbag.GiftBagGoods; import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag; +import com.yxt.yyth.api.lpkgiftbag.LpkGiftBagDto; import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; import com.yxt.yyth.api.lpkgiftcard.*; import com.yxt.yyth.api.lpkgoods.LpkGoods; @@ -42,11 +47,23 @@ import com.yxt.yyth.biz.lpkgoods.LpkGoodsService; import com.yxt.yyth.biz.lpkreserveorder.LpkReserveOrderService; import com.yxt.yyth.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; import com.yxt.yyth.biz.lpkstore.LpkStoreService; +import io.swagger.annotations.ApiOperation; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.File; @@ -55,6 +72,8 @@ import java.io.IOException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * @author wangpengfei @@ -92,8 +111,8 @@ public class LpkGiftCardService extends MybatisBaseService().eq("code", bindCardDto.getCode())); - if(null==lpkGiftCard1){ - ResultBean rb1=empCardGiftService.bindCard(bindCardDto); + if (null == lpkGiftCard1) { + ResultBean rb1 = empCardGiftService.bindCard(bindCardDto); return rb1; } LpkGiftCard lpkGiftCard = baseMapper.selectOne(new QueryWrapper().eq("code", bindCardDto.getCode()) @@ -357,7 +376,7 @@ public class LpkGiftCardService extends MybatisBaseService> getCardByBank(PagerQuery pq){ - ResultBean rb =new ResultBean().fail(); + + public ResultBean> getCardByBank(PagerQuery pq) { + ResultBean rb = new ResultBean().fail(); LpkGiftCardListQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); - Integer end=0; - Integer start=0; + Integer end = 0; + Integer start = 0; List serialNumbers = new ArrayList<>(); - if(StringUtils.isNotBlank(query.getNoStart())){ - start=Integer.valueOf(query.getNoStart()); - if(StringUtils.isNotBlank(query.getNoEnd())){ - end=Integer.valueOf(query.getNoEnd()); + if (StringUtils.isNotBlank(query.getNoStart())) { + start = Integer.valueOf(query.getNoStart()); + if (StringUtils.isNotBlank(query.getNoEnd())) { + end = Integer.valueOf(query.getNoEnd()); if (start > end) { for (int i = 0; end <= start; end++) { serialNumbers.add(end); @@ -449,19 +469,20 @@ public class LpkGiftCardService extends MybatisBaseService page = PagerUtil.queryToPage(pq); - IPage pagging=baseMapper.selGiftCard(page, qw); - pagging.getRecords().forEach(s->{ - s.setQrCode("https://supervise.yxtsoft.com/lpkapi?code="+s.getCode()); + IPage pagging = baseMapper.selGiftCard(page, qw); + pagging.getRecords().forEach(s -> { + s.setQrCode("https://supervise.yxtsoft.com/lpkapi?code=" + s.getCode()); }); PagerVo p = PagerUtil.pageToVo(pagging, null); // System.out.println(a); return rb.success().setData(p); } -// public static void main(String[] args) throws IOException { + + // public static void main(String[] args) throws IOException { // String encodedImage = "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"; // 这里需要替换成真正的 Base64 编码图片数据 // SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); // byte[] imageBytes = Base64.getDecoder().decode(encodedImage); @@ -586,9 +607,10 @@ public class LpkGiftCardService extends MybatisBaseService isSaturAndSun(String cardSid) { ResultBean rb = new ResultBean().fail(); - AppletVo vo=getGifCardBySid(cardSid).getData(); + AppletVo vo = getGifCardBySid(cardSid).getData(); LocalDate now = DateUtil.parse(vo.getStart()).toSqlDate().toLocalDate(); LocalDate endD = DateUtil.parse(vo.getEnd()).toSqlDate().toLocalDate(); List weekMap = new ArrayList<>(); @@ -604,7 +626,7 @@ public class LpkGiftCardService extends MybatisBaseService weekMap = new ArrayList<>(); @@ -638,7 +661,7 @@ public class LpkGiftCardService extends MybatisBaseService setMsg = returnMsg.getSetMsg(); + StringBuffer sbMsg = new StringBuffer(); + if (null != setMsg && setMsg.size() > 0) { + for (String s : setMsg) { + sbMsg.append(s).append(","); + } + sbMsg.delete(sbMsg.length() - 1, sbMsg.length()); + if (StringUtils.isNotBlank(sbMsg.toString())) { + return rb.setMsg(sbMsg.toString()); + } + } + List importReturn = returnMsg.getInfos(); + importReturn.removeAll(Collections.singleton(null)); + if (!importReturn.isEmpty()) { + for (ReturnExcelInfo info : importReturn) { + //生成礼包 + LpkGiftCardDto dtoCard = new LpkGiftCardDto(); + dtoCard.setCardArea("88"); + dtoCard.setNum("1"); + String cardSid = getCardByExcel(dtoCard); + LpkGiftCard lpkGiftCard = fetchBySid(cardSid); + String cardNo = ""; + if (null != lpkGiftCard) { + if (StringUtils.isNotBlank(lpkGiftCard.getSerialNumber())) { + cardNo = lpkGiftCard.getSerialNumber(); + } + } + LpkGiftBagDto dtoBag = new LpkGiftBagDto(); + dtoBag.setDateStart(startDate); + dtoBag.setDateEnd(endDate); + List infoDetails = info.getInfoDetails(); + List goods = new ArrayList<>(); + if (!infoDetails.isEmpty()) { + for (ReturnExcelInfoDetails detail : infoDetails) { + GiftBagGoods giftBagGoods = new GiftBagGoods(); + if (StringUtils.isNotBlank(detail.getGoodNum()) && StringUtils.isNotBlank(detail.getGoodName())) { + LpkGoods lpkGoods = lpkGoodsService.getGoodsByName(detail.getGoodName()); + if (null != lpkGoods) { + giftBagGoods.setName(lpkGoods.getName()); + giftBagGoods.setGoodsSid(lpkGoods.getSid()); + if (detail.getGoodNum().contains(".")) { + String num = detail.getGoodNum().substring(0, detail.getGoodNum().indexOf(".")); + giftBagGoods.setGoodsNumber(num); + } else { + giftBagGoods.setGoodsNumber(detail.getGoodNum()); + } + goods.add(giftBagGoods); + } + } + } + } + dtoBag.setGoods(goods); + dtoBag.setName("家庭菜窖" + cardNo); + String bagSid = lpkGiftBagService.saveGiftBag(dtoBag).getData(); + if (StringUtils.isNotBlank(bagSid)) { + lpkGiftCard.setGiftbagSid(bagSid); + baseMapper.updateById(lpkGiftCard); + LpkCardBuildRecord cardBuildRecord = lpkCardBuildRecordService.fetchBySid(lpkGiftCard.getRecordSid()); + cardBuildRecord.setGiftbagSid(bagSid); + lpkCardBuildRecordService.updateById(cardBuildRecord); + + } + } + } + return rb.success().setMsg("导入成功"); + } + + private ReturnMsg getSheetVal(Sheet sheet, int[] resultCell) { + ReturnMsg returnMsg = new ReturnMsg(); + List voList = new ArrayList<>(); + int[] resultIndex = new int[resultCell.length]; + Set setMsg = new HashSet<>(); + for (int r = 3; r <= sheet.getLastRowNum(); r++) { + ReturnExcelInfo info = new ReturnExcelInfo(); + List importVoList = new ArrayList<>(); + Row row = sheet.getRow(r); + if (row == null) { + continue; + } + String name = new String(); + String phone = new String(); + for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) { + String trim = new String(); + try { + trim = getCellVal(row.getCell(i)).toString().trim(); + if (StringUtils.isBlank(trim)) { + NullPointerException nullPointerException = new NullPointerException(); + } + String temp = getCellVal(row.getCell(i)).toString().trim(); + for (int j = 0; j < resultCell.length; j++) { + if (i == resultCell[j]) { + switch (i) { + case 4: + if (StringUtils.isNotBlank(temp)) { + name = temp; + } + break; + case 5: + if (StringUtils.isNotBlank(temp)) { + phone = temp; + } + break; + case 6: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo6 = new ReturnExcelInfoDetails(); + importVo6.setGoodName("北方白菜"); + importVo6.setPhone(phone); + importVo6.setName(name); + importVo6.setGoodNum(temp); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo6); + } + break; + case 7: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo7 = new ReturnExcelInfoDetails(); + importVo7.setGoodNum(temp); + importVo7.setGoodName("张北土豆"); + importVo7.setPhone(phone); + importVo7.setName(name); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo7); + } + break; + case 8: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo8 = new ReturnExcelInfoDetails(); + importVo8.setGoodName("太行山丘陵红薯"); + importVo8.setPhone(phone); + importVo8.setName(name); + importVo8.setGoodNum(temp); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo8); + } + break; + case 9: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo9 = new ReturnExcelInfoDetails(); + importVo9.setPhone(phone); + importVo9.setName(name); + importVo9.setGoodName("纯红薯粉条"); + importVo9.setGoodNum(temp); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo9); + } + break; + case 10: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo10 = new ReturnExcelInfoDetails(); + importVo10.setPhone(phone); + importVo10.setName(name); + importVo10.setGoodName("沙窝萝卜"); + importVo10.setGoodNum(temp); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo10); + } + break; + case 11: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo11 = new ReturnExcelInfoDetails(); + importVo11.setPhone(phone); + importVo11.setName(name); + importVo11.setGoodName("泥坑藕"); + importVo11.setGoodNum(temp); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo11); + } + break; + default: + break; + } + } else { + continue; + } + } + } catch (Exception e) { + if (StringUtils.isBlank(trim)) { + String word = new String(); + switch (i) { + case 4: + word = "客户姓名"; + break; + case 5: + word = "客户电话"; + break; + default: + break; + } + continue; + } + } + } + if (importVoList != null && importVoList.size() > 0) { + info.setInfoDetails(importVoList); + voList.add(info); + for (ReturnExcelInfoDetails returnExcelInfoDetails : importVoList) { + if (StringUtils.isBlank(returnExcelInfoDetails.getName()) && StringUtils.isNotBlank(returnExcelInfoDetails.getGoodNum())) { + setMsg.add("客户姓名不能为空"); + } + if (StringUtils.isBlank(returnExcelInfoDetails.getPhone()) && StringUtils.isNotBlank(returnExcelInfoDetails.getGoodNum())) { + setMsg.add("客户电话不能为空"); + } + } + } + } + returnMsg.setSetMsg(setMsg); + returnMsg.setInfos(voList); + return returnMsg; + } + + public Object getCellVal(Cell cell) { + Object obj = null; + if (cell != null) { + switch (cell.getCellTypeEnum()) { + case BOOLEAN: + obj = cell.getBooleanCellValue(); + break; + case ERROR: + obj = cell.getErrorCellValue(); + break; + case NUMERIC: + obj = cell.getNumericCellValue(); + break; + case STRING: + obj = cell.getStringCellValue(); + break; + default: + break; + } + } + return obj; + } + + public boolean isNum(String s) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(s)) { + if (s.contains(".")) { + return isNumeric(s); + } else { + return isNumericFirst(s); + } + } + return false; + } + + public boolean isNumeric(String s) { + String substring = s.substring(0, s.lastIndexOf(".")); + String substringLast = s.substring(s.lastIndexOf(".") + 1, s.length()); + if (substring != null && !"".equals(substring.trim()) || substringLast != null && !"".equals(substringLast.trim())) { + boolean matches = substring.matches("^[0-9]*$"); + boolean b = substringLast.matches("^[0-9]*$"); + if (matches && b) { + return true; + } else { + return false; + } + } else + return false; + } + + public boolean isNumericFirst(String str) { + Pattern pattern = Pattern.compile("[0-9]*"); + System.out.println(str); + Matcher isNum = pattern.matcher(str); + if (!isNum.matches()) { + return false; + } + return true; + } // public static void main(String[] args) { // LocalDate start = LocalDate.of(2021, Month.JANUARY, 1); // 设置起始日期为2021年1月1日 // LocalDate end = LocalDate.now(); // 设置结束日期为当前日期 diff --git a/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.java b/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.java index a2a5d3c..4a25ff3 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.java @@ -24,4 +24,6 @@ public interface LpkGoodsMapper extends BaseMapper { List getGoods(); LpkGoodsVo getGoodsDetails(@Param("sid")String sid); + + LpkGoods getGoodsByName(@Param("goodName") String goodName); } diff --git a/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.xml index 847adb2..c5bd54f 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.xml @@ -45,7 +45,12 @@ remarks, appContent from lpk_goods - where sid=#{sid} + where sid = #{sid} + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsService.java b/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsService.java index 2be9826..6d87f7f 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsService.java @@ -122,4 +122,8 @@ public class LpkGoodsService extends MybatisBaseService list = baseMapper.getGoods(); return rb.success().setData(list); } + + public LpkGoods getGoodsByName(String goodName) { + return baseMapper.getGoodsByName(goodName); + } }