package com.szwl.controller; import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.szwl.constant.JoinpayConstant; import com.szwl.constant.ResponseCodesEnum; import com.szwl.feign.bean.PayFeign; import com.szwl.model.bo.JsonMessage; import com.szwl.model.bo.R; import com.szwl.model.bo.ResponseModel; import com.szwl.model.dto.PromoCodeTarget; import com.szwl.model.dto.PromoCodeTargetEn; import com.szwl.model.entity.*; import com.szwl.model.utils.DateUtils; import com.szwl.service.*; import com.szwl.util.IDGenerator; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang.StringUtils; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.math.BigDecimal; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; import static com.szwl.constant.ResponseCodesEnum.A0001; import static com.szwl.constant.ResponseCodesEnum.A0002; import static com.szwl.model.utils.DateUtils.PATTERN_yyyy_MM_dd_HH_mm_ss; /** *

* 优惠码列表 前端控制器 *

* * @author wuhs * @since 2022-06-17 */ @Api(value = "/tPromoCode", tags = {"优惠码"}) @RestController @RequestMapping("/tPromoCode") public class TPromoCodeController { @Autowired TEquipmentService tEquipmentService; @Autowired TPromoCodeService promoCodeService; @Autowired TPriceService priceService; @Autowired TAdminService adminService; @Autowired TOrderService orderService; @Autowired TJoinpayMchService joinpayMchService; @Autowired PayFeign payFeign; @ApiOperation(value = "获取优惠码") @GetMapping("/getTPromoCode") public ResponseModel> getTPromoCode(@RequestParam String code) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TPromoCode::getCode, code); Page page = new Page<>(1, 10, true); IPage iPage = promoCodeService.page(page, query); return R.ok(iPage); } @ApiOperation(value = "获取优惠码") @GetMapping("/getPromoCode") public ResponseModel getPromoCode(@RequestParam String code) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); String[] split = code.split("-"); query.eq(TPromoCode::getCode, split[0]); query.eq(TPromoCode::getAdminId, split[1]); List list = promoCodeService.list(query); if (list.size() > 0) { return R.ok(list.get(0)); } return R.ok(); } @ApiOperation(value = "获取优惠码") @GetMapping("/selectTPromoCode") public ResponseModel selectTPromoCode(@RequestParam String code, @RequestParam String adminId) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TPromoCode::getCode, code); query.eq(TPromoCode::getAdminId, adminId); // List list = promoCodeService.list(query); TPromoCode promoCode = promoCodeService.getOne(query); return R.ok(promoCode); } @ApiOperation(value = "小程序获取优惠码") @GetMapping("/getCode") public ResponseModel getCode(String clientId, String code) { if (StringUtils.isEmpty(clientId)) { return null; } LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId, clientId); List list = tEquipmentService.list(query); TEquipment equipment = list.get(0); LambdaQueryWrapper query1 = Wrappers.lambdaQuery(); query1.eq(TPromoCode::getCode, code); query1.eq(TPromoCode::getAdminId, equipment.getAdminId()); List list1 = promoCodeService.list(query1); if (list1.size() > 0) { TPromoCode tPromoCode = list1.get(0); String isUse = tPromoCode.getIsUse(); if (isUse.equals("1")) { return R.fail(A0002, "已使用"); } Date lastUseDate = tPromoCode.getLastUseDate(); Date date = new Date(); if (date.getTime() > lastUseDate.getTime()) { return R.fail(A0002, "已过期"); } return R.ok(tPromoCode); } else { return R.fail(A0002, "没有找到优惠码"); } } @ApiOperation(value = "修改优惠码状态") @GetMapping("/updateCode") public ResponseModel updateCode(String clientId, String code) { if (StringUtils.isEmpty(clientId)) { return null; } LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId, clientId); List list = tEquipmentService.list(query); TEquipment equipment = list.get(0); LambdaQueryWrapper query1 = Wrappers.lambdaQuery(); query1.eq(TPromoCode::getCode, code); query1.eq(TPromoCode::getAdminId, equipment.getAdminId()); List list1 = promoCodeService.list(query1); if (!list1.isEmpty()) { TPromoCode tPromoCode = list1.get(0); tPromoCode.setIsUse("1"); if (StringUtils.isNotEmpty(equipment.getName())) { tPromoCode.setUseBy(equipment.getName()); } else { tPromoCode.setUseBy(clientId); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = sdf.format(new Date()); tPromoCode.setUseDate(time); promoCodeService.updateById(tPromoCode); return R.ok(null, "修改成功"); } else { return R.fail(A0002, "没有找到优惠码"); } } @ApiOperation(value = "修改优惠码") @GetMapping("/updatePromoCode") public void updatePromoCode(@RequestParam(value = "id") String id, @RequestParam(value = "type") String type) { TPromoCode promoCode = promoCodeService.getById(id); promoCode.setIsUse(type); if (type.equals("1")) { promoCode.setUseDate(DateUtils.formatDate(new Date(), PATTERN_yyyy_MM_dd_HH_mm_ss)); } promoCodeService.updateById(promoCode); } @ApiOperation(value = "生成0折优惠码") @GetMapping("/addPromoCode") public void addPromoCode(@RequestParam(value = "adminId") String adminId, @RequestParam(value = "lastUseDate") Date lastUseDate, @RequestParam(value = "number") String number, @RequestParam(value = "codeNum") String codeNum) { int num = Integer.parseInt(number); List codes = new ArrayList<>(); if (StringUtils.isEmpty(codeNum)) { for (int i = 0; i < num; i++) { String code = orderService.initSn(Long.valueOf(adminId)); StringBuffer str = new StringBuffer(); str.append(code.substring(0, 6)); codes.add(str.toString()); } } else { codes.add(codeNum); } TAdmin admin = adminService.getById(adminId); for (String code : codes) { TPromoCode promoCode = new TPromoCode(); promoCode.setCreateDate(new Date()); promoCode.setModifyDate(new Date()); promoCode.setCode(Long.parseLong(code)); promoCode.setAdminId(adminId); promoCode.setIsUse("0"); promoCode.setDiscount(0f); promoCode.setLastUseDate(lastUseDate); // promoCode.setCreateDate(new Date()); promoCode.setType("0"); promoCode.setUserName(admin.getUsername()); promoCodeService.save(promoCode); } } @ApiOperation(value = "生成n元优惠券") @GetMapping("/addYHJ") public ResponseModel addYHJ(Long wxId, String flag) { if (wxId == null || StringUtils.isEmpty(flag)) { return R.fail(A0001); } LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TPromoCode::getWxId, wxId); // if(flag.equals("YHJ5")||flag.equals("YHJ10")){ // query.eq(TPromoCode::getType,"2"); // List list = promoCodeService.list(query); // if(list.size()>0){ // return R.ok(1,"此券每人限领一张,您已领取过,不能再领!"); // } // } query.eq(TPromoCode::getType, "2"); List list = promoCodeService.list(query); if (list.size() > 0) { return R.ok(1, "此券每人限领一张,您已领取过,不能再领!"); } String code = orderService.initSn(Long.valueOf(wxId)); TPromoCode promoCode = new TPromoCode(); promoCode.setCreateDate(new Date()); promoCode.setModifyDate(new Date()); promoCode.setCode(Long.parseLong(code.substring(code.length() - 8, code.length()))); promoCode.setAdminId(null); promoCode.setIsUse("0"); // if(flag.equals("YHJ5")){ // promoCode.setDiscount(5f); // promoCode.setType("2"); // } // if(flag.equals("YHJ10")){ // promoCode.setDiscount(10f); // promoCode.setType("2"); // } String[] js = flag.split("J"); String s = js[1]; int price = Integer.parseInt(s); if (price > 100) { return R.fail(A0001); } promoCode.setDiscount(Float.valueOf(price)); promoCode.setType("2"); Long data = Calendar.getInstance().getTimeInMillis(); Long t = 3l; Long mon = 30L * 24L * 60L * 60L * 1000L; Long d = data + (mon * t); Date lastUseDate = new Date(Long.parseLong(String.valueOf(d))); promoCode.setLastUseDate(lastUseDate); promoCode.setCreateDate(new Date()); promoCode.setUserName(null); promoCode.setWxId(wxId); promoCodeService.save(promoCode); return R.ok(promoCode, "领取成功"); } @ApiOperation(value = "核销优惠券") @GetMapping("/useYHJ") public void useYHJ(@RequestParam String code, @RequestParam String adminId, @RequestParam String clentId) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TPromoCode::getCode, code); query.eq(TPromoCode::getIsUse, "0"); List list = promoCodeService.list(query); if (list.size() > 0) { TPromoCode promoCode = list.get(0); promoCode.setUseDate(DateUtils.formatDate(new Date(), DateUtils.PATTERN_yyyy_MM_dd_HH_mm_ss)); promoCode.setAdminId(adminId); promoCode.setUseBy(clentId); promoCode.setIsUse("1"); promoCode.setModifyDate(new Date()); promoCodeService.updateById(promoCode); } } @GetMapping("/getYHJList") public ResponseModel getYHJList(Long wxId) { if (wxId == null) { return R.fail(A0001); } LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TPromoCode::getWxId, wxId); query.eq(TPromoCode::getIsUse, "0"); query.eq(TPromoCode::getType, "2"); List list = promoCodeService.list(query); return R.ok(list, "成功"); } @GetMapping("/checkYHJList") public ResponseModel checkYHJList(Long wxId) { if (wxId == null) { return R.fail(A0001); } LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TPromoCode::getWxId, wxId); query.eq(TPromoCode::getType, "2"); List list = promoCodeService.list(query); if (list.size() > 0) { return R.ok(true, "已领取"); } else { return R.ok(false, "未领取"); } } @GetMapping("/getYHJ") public ResponseModel getYHJ(@RequestParam String code) { if (StringUtils.isEmpty(code)) { return R.fail(A0001); } LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TPromoCode::getCode, code); query.eq(TPromoCode::getType, "2"); List list = promoCodeService.list(query); if (list.size() > 0) { TPromoCode tPromoCode = list.get(0); // String isUse = tPromoCode.getIsUse(); // if(isUse.equals("1")){ // return R.fail(A0002,"已使用"); // } // Date lastUseDate = tPromoCode.getLastUseDate(); // Date date = new Date(); // if(date.getTime()>lastUseDate.getTime()){ // return R.fail(A0002,"已过期"); // } return R.ok(tPromoCode); } return R.ok(); } @ApiOperation(value = "添加优惠码") @GetMapping("/add") public ResponseModel add(String addMode, String codeNum, Long adminId, int number, Float discount, Float month, String type, String frpCode) { if (discount == null || month == null || adminId == null || StringUtils.isEmpty(type)) { return R.fail(A0001); } if (addMode.equals("2")) { if (StringUtils.isEmpty(codeNum)) { return R.fail(A0001, "优惠码为空"); } LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(TPromoCode::getCode, codeNum); query.eq(TPromoCode::getIsUse, 0); query.eq(TPromoCode::getAdminId, adminId); TPromoCode tPromoCode = promoCodeService.getOne(query); if (tPromoCode != null) { // 已存在优惠码 return R.fail(A0002, "已存在该优惠码"); } } TAdmin admin = adminService.getById(adminId); // LocalDateTime now = LocalDateTime.now(); // LocalDateTime startOfToday = now.with(LocalTime.MIN); // LocalDateTime endOfToday = now.with(LocalTime.MAX); // LambdaQueryWrapper promoCodeWrapper = new LambdaQueryWrapper<>(); // promoCodeWrapper.between(TPromoCode::getCreateDate, startOfToday, endOfToday); // promoCodeWrapper.eq(TPromoCode::getAdminId, adminId); // int countCode = promoCodeService.count(promoCodeWrapper); // if (countCode >= 5000) { // return R.fail(B0002, "今日优惠码申请已达到上限"); // } if (String.valueOf(admin.getId()).equals("1")) { List codes = new ArrayList<>(); if (addMode.equals("1")) { for (int i = 0; i < number; i++) { StringBuilder num = new StringBuilder(); Random random = new Random(); for (int j = 0; j < 8; j++) { num.append(random.nextInt(10)); } String code = num.toString(); codes.add(code); } } else { codes.add(codeNum); } Long data = Calendar.getInstance().getTimeInMillis(); Float mm = month * 10; String m = String.valueOf(mm); String[] split = m.split("\\."); String th = split[0]; Long t = Long.valueOf(th); Long mon = 30L * 24L * 60L * 60L * 1000L; Long d = data + ((mon * t) / 10); Date lastUseDate = new Date(Long.parseLong(String.valueOf(d))); for (String code : codes) { TPromoCode promoCode = new TPromoCode(); promoCode.setCode(Long.parseLong(code)); promoCode.setAdminId(String.valueOf(admin.getId())); promoCode.setIsUse("0"); promoCode.setDiscount(discount); promoCode.setLastUseDate(lastUseDate); promoCode.setCreateDate(new Date()); promoCode.setUserName(admin.getUsername()); promoCode.setType(type); promoCodeService.save(promoCode); } return R.ok(null, "生成成功"); } LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getAdminId, admin.getId()); List list = tEquipmentService.list(query); TEquipment equipment = list.get(0); if (list.size() == 0) { // "要有机器才能购买优惠码"; return R.fail("没有机器"); } //0折优惠码需要支付 if (type.equals("0") && discount == 0) { if (admin.getPromoCodeOpen() == null || admin.getPromoCodeOpen().equals("1")) { Long equipmentId = equipment.getId(); Double money = null; LambdaQueryWrapper query1 = Wrappers.lambdaQuery(); query1.eq(TPrice::getName, "优惠码"); List prices = priceService.list(query1); for (TPrice price : prices) { if (price.getName().equals("优惠码")) { money = price.getPrice(); } } Long client6 = Long.parseLong(equipment.getClientId().substring(equipment.getClientId().length() - 6)); String sn = orderService.initSn(client6); String orderNo = sn; String productName = "优惠码"; BigDecimal price = BigDecimal.valueOf(money * number); BigDecimal cutPrice = price.multiply(new BigDecimal(100)).divide(new BigDecimal(100)); BigDecimal amount = cutPrice; String productDesc = ""; String commonParameter = ""; if (addMode.equals("2") && StringUtils.isNotEmpty(codeNum)) { commonParameter = codeNum; } String returnUrl = null; String notifyUrl = JoinpayConstant.Notify_Url_PromoCode; String isShowPic = "1"; String openId = null; String authCode = null; String appid = null; String transactionModel = null; String tradeMerchantNo = null; String buyerId = null; String isAlt = "0"; String altType = null; String altUrl = null; BigDecimal marketingAmount = null; // frpCode = "WEIXIN_NATIVE"; TOrder order1 = new TOrder(); order1.setId(IDGenerator.orderID()); order1.setSn(sn); order1.setType(0); order1.setAdminId(admin.getId()); order1.setProductName(productName); order1.setPrice(price); order1.setEquipmentId(equipmentId); order1.setClientId(equipment.getClientId()); order1.setStatus(0); order1.setFrpCode(frpCode); order1.setRefundTrxNo(String.valueOf(month)); order1.setCreateDate(new Date()); order1.setModifyDate(new Date()); payFeign.addOrder(order1); JSONArray altInfo = new JSONArray(); String result = null; try { result = joinpayMchService.uniPay( orderNo, amount, productName, productDesc, commonParameter, returnUrl, notifyUrl, frpCode, isShowPic, openId, authCode, appid, transactionModel, tradeMerchantNo, buyerId, isAlt, altType, altInfo, altUrl, marketingAmount ); } catch (Exception e) { e.printStackTrace(); return R.fail("申请支付失败"); } JSONObject resultJson = JSONObject.parseObject(result); // 汇聚支付支付申请返回支付二维码图片 String rd_Pic = resultJson.getString("rd_Pic"); if (resultJson == null || StringUtils.isBlank(rd_Pic)) { return R.fail("找不到支付图片"); } JSONObject kindData = new JSONObject(); kindData.put("sn", sn); kindData.put("price", price); kindData.put("image", rd_Pic); return R.ok(kindData); } } Long client6 = Long.parseLong(equipment.getClientId().substring(equipment.getClientId().length() - 6)); List codes = new ArrayList<>(); if (addMode.equals("1")) { for (int i = 0; i < number; i++) { String code = orderService.initSn(client6); StringBuffer str = new StringBuffer(); str.append(code.substring(0, 6)); codes.add(str.toString()); } } else { codes.add(codeNum); } Long data = Calendar.getInstance().getTimeInMillis(); Float mm = month * 10; String m = String.valueOf(mm); String[] split = m.split("\\."); String th = split[0]; Long t = Long.valueOf(th); Long mon = 30L * 24L * 60L * 60L * 1000L; Long d = data + ((mon * t) / 10); Date lastUseDate = new Date(Long.parseLong(String.valueOf(d))); for (String code : codes) { TPromoCode promoCode = new TPromoCode(); promoCode.setCode(Long.parseLong(code)); promoCode.setAdminId(String.valueOf(admin.getId())); promoCode.setIsUse("0"); promoCode.setDiscount(discount); promoCode.setLastUseDate(lastUseDate); promoCode.setCreateDate(new Date()); promoCode.setUserName(admin.getUsername()); promoCode.setType(type); promoCodeService.save(promoCode); } return R.ok("生成成功"); } @ApiOperation(value = "获取优惠码列表") @GetMapping("/pagePromoCode") public ResponseModel> pagePromoCode(String adminId, String code, String isUse, Date useStratDate, Date useEndDate, Date createStratDate, Date createEndDate, long current, long size) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); if (StringUtils.isNotEmpty(adminId)) { TAdmin admin = adminService.getById(adminId); if (admin.getType() != 0 && admin.getType() != 1) { query.eq(TPromoCode::getAdminId, adminId); } if (admin.getId() == 2738) { LambdaQueryWrapper adminQuery = Wrappers.lambdaQuery(); adminQuery.isNull(TAdmin::getCompanyType).or() .eq(TAdmin::getCompanyType, "0"); List adminIds = adminService.list(adminQuery).stream() .map(TAdmin::getId).collect(Collectors.toList()); query.in(TPromoCode::getAdminId, adminIds); } // 七云平台管理员 if (admin.getId() == 2739) { LambdaQueryWrapper adminQuery = Wrappers.lambdaQuery(); adminQuery.eq(TAdmin::getCompanyType, "1"); List adminIds = adminService.list(adminQuery).stream() .map(TAdmin::getId).collect(Collectors.toList()); query.in(TPromoCode::getAdminId, adminIds); } } else { return R.fail(A0001); } if (StringUtils.isNotEmpty(code)) { query.eq(TPromoCode::getCode, code); } if (StringUtils.isNotEmpty(isUse)) { query.like(TPromoCode::getIsUse, isUse); } if (useStratDate != null && useEndDate != null) { query.gt(TPromoCode::getUseDate, useStratDate); query.lt(TPromoCode::getUseDate, useEndDate); } if (createStratDate != null && createEndDate != null) { query.gt(TPromoCode::getCreateDate, createStratDate); query.lt(TPromoCode::getCreateDate, createEndDate); } query.orderByDesc(TPromoCode::getCreateDate); Page page = new Page<>(current, size, true); IPage iPage = promoCodeService.page(page, query); return R.ok(iPage); } @ApiOperation(value = "导出优惠码列表") @GetMapping("/export") public Object export(HttpServletResponse response, String adminId, String code, String isUse, Date useStratDate, Date useEndDate, Date createStratDate, Date createEndDate, long current, long size) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); String ifForeign = "0"; String head = "优惠码数据-"; if (StringUtils.isNotEmpty(adminId)) { TAdmin admin = adminService.getById(adminId); if (StringUtils.isNotEmpty(admin.getIfForeign()) && admin.getIfForeign().equals("1")) { ifForeign = admin.getIfForeign(); head = "PromoCode-"; } if (admin.getType() != 0 && admin.getType() != 1) { query.eq(TPromoCode::getAdminId, adminId); } // 申泽平台管理员 if (admin.getId() == 2738) { LambdaQueryWrapper adminQuery = Wrappers.lambdaQuery(); adminQuery.isNull(TAdmin::getCompanyType).or() .eq(TAdmin::getCompanyType, "0"); List adminIds = adminService.list(adminQuery).stream() .map(TAdmin::getId).collect(Collectors.toList()); query.in(TPromoCode::getAdminId, adminIds); } // 七云平台管理员 if (admin.getId() == 2739) { LambdaQueryWrapper adminQuery = Wrappers.lambdaQuery(); adminQuery.eq(TAdmin::getCompanyType, "1"); List adminIds = adminService.list(adminQuery).stream() .map(TAdmin::getId).collect(Collectors.toList()); query.in(TPromoCode::getAdminId, adminIds); } } else { return R.fail(A0001); } if (StringUtils.isNotEmpty(code)) { query.eq(TPromoCode::getCode, code); } if (StringUtils.isNotEmpty(isUse)) { query.like(TPromoCode::getIsUse, isUse); } if (useStratDate != null && useEndDate != null) { query.gt(TPromoCode::getUseDate, useStratDate); query.lt(TPromoCode::getUseDate, useEndDate); } if (createStratDate != null && createEndDate != null) { query.gt(TPromoCode::getCreateDate, createStratDate); query.lt(TPromoCode::getCreateDate, createEndDate); } Page page = new Page<>(current, size, true); IPage iPage = promoCodeService.page(page, query); List list = iPage.getRecords(); Workbook workbook = null; if (ifForeign.equals("0")) { List promoCodeTargets = promoCodeService.findById(list); ExportParams exportParams = new ExportParams("优惠码记录", "sheet1"); workbook = ExcelExportUtil.exportExcel(exportParams, PromoCodeTarget.class, promoCodeTargets); } else { List promoCodeTargetEns = promoCodeService.exportPromoCode(list); ExportParams exportParams = new ExportParams("Promo code record", "sheet1"); workbook = ExcelExportUtil.exportExcel(exportParams, PromoCodeTargetEn.class, promoCodeTargetEns); } if (workbook != null) { OutputStream os = null; try { os = response.getOutputStream(); SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(head + format.format(new Date()) + ".xls", "UTF-8")); workbook.write(os); return JsonMessage.success("导出成功"); } catch (Exception e) { e.printStackTrace(); return JsonMessage.success("导出错误"); } finally { try { os.close(); workbook.close(); } catch (IOException e) { e.printStackTrace(); } } } return JsonMessage.success("导出成功"); } @ApiOperation(value = "查询优惠码几折") @RequestMapping(value = "/getCodeDiscount", method = RequestMethod.GET) @ResponseBody public Object getCodeDiscount(String code) { if (!StringUtils.isEmpty(code)) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.in(TPromoCode::getCode, code); wrapper.in(TPromoCode::getIsUse, "0"); wrapper.orderByDesc(TPromoCode::getCreateDate); List list = promoCodeService.list(wrapper); if (list == null) { return null; } TPromoCode promoCode = list.get(0); Float discount = promoCode.getDiscount(); String type = promoCode.getType(); JSONObject kindData = new JSONObject(); kindData.put("type", type.equals("1") ? type : "0"); kindData.put("discount", discount); return JsonMessage.success(kindData.toString()); } else { return null; } } @ApiOperation(value = "批量删除优惠码") @PostMapping(value = "/deletes") @ResponseBody public ResponseModel deletes(@RequestBody Long[] ids) { if (ids == null) { return R.fail(ResponseCodesEnum.A0001); } if (ids.length > 0) { ArrayList idList = new ArrayList<>(); for (int i = 0; i < ids.length; i++) { idList.add(ids[i]); } promoCodeService.removeByIds(idList); } return R.ok(); } }