123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621 |
- 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.feign.bean.PayFeign;
- import com.szwl.constant.JoinpayConstant;
- 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.entity.*;
- import com.szwl.model.utils.DateUtils;
- import com.szwl.service.*;
- 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;
- /**
- * <p>
- * 优惠码列表 前端控制器
- * </p>
- *
- * @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<IPage<TPromoCode>> getTPromoCode(@RequestParam String code) {
- LambdaQueryWrapper<TPromoCode> query = Wrappers.lambdaQuery();
- query.eq(TPromoCode::getCode,code);
- Page<TPromoCode> page = new Page<>(1, 10, true);
- IPage<TPromoCode> iPage = promoCodeService.page(page, query);
- return R.ok(iPage);
- }
- @ApiOperation(value = "获取优惠码")
- @GetMapping("/getPromoCode")
- public ResponseModel<TPromoCode> getPromoCode(@RequestParam String code) {
- LambdaQueryWrapper<TPromoCode> query = Wrappers.lambdaQuery();
- String[] split = code.split("-");
- query.eq(TPromoCode::getCode,split[0]);
- query.eq(TPromoCode::getAdminId,split[1]);
- List<TPromoCode> list = promoCodeService.list(query);
- if(list.size()>0){
- return R.ok(list.get(0));
- }
- return R.ok();
- }
- @ApiOperation(value = "获取优惠码")
- @GetMapping("/selectTPromoCode")
- public ResponseModel<TPromoCode> selectTPromoCode(@RequestParam String code,@RequestParam String adminId) {
- LambdaQueryWrapper<TPromoCode> query = Wrappers.lambdaQuery();
- query.eq(TPromoCode::getCode,code);
- query.eq(TPromoCode::getAdminId,adminId);
- List<TPromoCode> list = promoCodeService.list(query);
- return R.ok(list.get(0));
- }
- @ApiOperation(value = "小程序获取优惠码")
- @GetMapping("/getCode")
- public ResponseModel<TPromoCode> getCode(String clientId, String code) {
- if(StringUtils.isEmpty(clientId)){
- return null;
- }
- LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
- query.eq(TEquipment::getClientId,clientId);
- List<TEquipment> list = tEquipmentService.list(query);
- TEquipment equipment = list.get(0);
- LambdaQueryWrapper<TPromoCode> query1 = Wrappers.lambdaQuery();
- query1.eq(TPromoCode::getCode,code);
- query1.eq(TPromoCode::getAdminId,equipment.getAdminId());
- List<TPromoCode> 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<TEquipment> query = Wrappers.lambdaQuery();
- query.eq(TEquipment::getClientId,clientId);
- List<TEquipment> list = tEquipmentService.list(query);
- TEquipment equipment = list.get(0);
- LambdaQueryWrapper<TPromoCode> query1 = Wrappers.lambdaQuery();
- query1.eq(TPromoCode::getCode,code);
- query1.eq(TPromoCode::getAdminId,equipment.getAdminId());
- List<TPromoCode> list1 = promoCodeService.list(query1);
- if(list1.size()>0){
- TPromoCode tPromoCode = list1.get(0);
- tPromoCode.setIsUse("1");
- tPromoCode.setUseBy(equipment.getName());
- 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) {
- int num = Integer.parseInt(number);
- List<String> codes = new ArrayList<>();
- 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());
- }
- 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<TPromoCode> query = Wrappers.lambdaQuery();
- query.eq(TPromoCode::getWxId,wxId);
- // if(flag.equals("YHJ5")||flag.equals("YHJ10")){
- // query.eq(TPromoCode::getType,"2");
- // List<TPromoCode> list = promoCodeService.list(query);
- // if(list.size()>0){
- // return R.ok(1,"此券每人限领一张,您已领取过,不能再领!");
- // }
- // }
- query.eq(TPromoCode::getType,"2");
- List<TPromoCode> 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<TPromoCode> query = Wrappers.lambdaQuery();
- query.eq(TPromoCode::getCode,code);
- query.eq(TPromoCode::getIsUse,"0");
- List<TPromoCode> 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<TPromoCode> query = Wrappers.lambdaQuery();
- query.eq(TPromoCode::getWxId,wxId);
- query.eq(TPromoCode::getIsUse,"0");
- query.eq(TPromoCode::getType,"2");
- List<TPromoCode> list = promoCodeService.list(query);
- return R.ok(list,"成功");
- }
- @GetMapping("/checkYHJList")
- public ResponseModel<?> checkYHJList(Long wxId) {
- if(wxId==null){
- return R.fail(A0001);
- }
- LambdaQueryWrapper<TPromoCode> query = Wrappers.lambdaQuery();
- query.eq(TPromoCode::getWxId,wxId);
- query.eq(TPromoCode::getType,"2");
- List<TPromoCode> list = promoCodeService.list(query);
- if(list.size()>0){
- return R.ok(true,"已领取");
- }else {
- return R.ok(false,"未领取");
- }
- }
- @GetMapping("/getYHJ")
- public ResponseModel<TPromoCode> getYHJ(@RequestParam String code) {
- if(StringUtils.isEmpty(code)){
- return R.fail(A0001);
- }
- LambdaQueryWrapper<TPromoCode> query = Wrappers.lambdaQuery();
- query.eq(TPromoCode::getCode,code);
- query.eq(TPromoCode::getType,"2");
- List<TPromoCode> 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(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);
- }
- TAdmin admin = adminService.getById(adminId);
- if(String.valueOf(admin.getId()).equals("1")){
- List<String> codes =new ArrayList<>();
- for(int i=0;i<number;i++){
- StringBuilder num = new StringBuilder();
- Random random = new Random();
- for (int j = 0; j < 8; j++) {
- num.append(String.valueOf(random.nextInt(10)));
- }
- String code = num.toString();
- codes.add(code);
- }
- 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);
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String sd = sdf.format(new Date(Long.parseLong(String.valueOf(d))));
- 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<TEquipment> query = Wrappers.lambdaQuery();
- query.eq(TEquipment::getAdminId,admin.getId());
- List<TEquipment> 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<TPrice> query1 = Wrappers.lambdaQuery();
- query1.eq(TPrice::getName,"优惠码");
- List<TPrice> prices = priceService.list(query1);
- for(TPrice price:prices){
- if(price.getName().equals("优惠码")){
- money = price.getPrice();
- }
- }
- String sn = orderService.initSn(equipmentId);
- 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 = "";
- 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.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 equipmentId = equipment.getId();
- List<String> codes =new ArrayList<>();
- for(int i=0;i<number;i++){
- String code = orderService.initSn(equipmentId);
- StringBuffer str = new StringBuffer();
- str.append(code.substring(0,6));
- codes.add(str.toString());
- }
- 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);
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String sd = sdf.format(new Date(Long.parseLong(String.valueOf(d))));
- 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,"生成成功");
- }
- @ApiOperation(value = "获取优惠码列表")
- @GetMapping("/pagePromoCode")
- public ResponseModel<IPage<?>> pagePromoCode(String adminId , String code, String isUse, Date useStratDate,Date useEndDate,Date createStratDate,Date createEndDate, long current, long size ) {
- LambdaQueryWrapper<TPromoCode> 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<TAdmin> adminQuery = Wrappers.lambdaQuery();
- adminQuery.isNull(TAdmin::getCompanyType).or()
- .eq(TAdmin::getCompanyType, "0");
- List<Long> adminIds = adminService.list(adminQuery).stream()
- .map(TAdmin::getId).collect(Collectors.toList());
- query.in(TPromoCode::getAdminId,adminIds);
- }
- // 七云平台管理员
- if (admin.getId() == 2739) {
- LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
- adminQuery.eq(TAdmin::getCompanyType, "1");
- List<Long> 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<TPromoCode> page = new Page<>(current, size, true);
- IPage<TPromoCode> 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<TPromoCode> 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<TAdmin> adminQuery = Wrappers.lambdaQuery();
- adminQuery.isNull(TAdmin::getCompanyType).or()
- .eq(TAdmin::getCompanyType, "0");
- List<Long> adminIds = adminService.list(adminQuery).stream()
- .map(TAdmin::getId).collect(Collectors.toList());
- query.in(TPromoCode::getAdminId,adminIds);
- }
- // 七云平台管理员
- if (admin.getId() == 2739) {
- LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
- adminQuery.eq(TAdmin::getCompanyType, "1");
- List<Long> 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<TPromoCode> page = new Page<>(current, size, true);
- IPage<TPromoCode> iPage = promoCodeService.page(page, query);
- List<TPromoCode> list = iPage.getRecords();
- List<PromoCodeTarget> promoCodeTargets = promoCodeService.findById(list);
- ExportParams exportParams = new ExportParams("优惠码记录", "sheet1");
- Workbook workbook = ExcelExportUtil.exportExcel(exportParams, PromoCodeTarget.class, promoCodeTargets);
- 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("优惠码数据" + 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<TPromoCode> wrapper = new LambdaQueryWrapper<>();
- wrapper.in(TPromoCode::getCode,code);
- wrapper.in(TPromoCode::getIsUse,"0");
- TPromoCode promoCode = promoCodeService.getOne(wrapper);
- if(promoCode == null) {
- return null;
- }
- Float discount = promoCode.getDiscount();
- return JsonMessage.success(discount);
- }else{
- return null;
- }
- }
- }
|