|
@@ -18,6 +18,8 @@ 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.param.PromoCodeParam;
|
|
|
+import com.szwl.model.param.SugarDoParam;
|
|
|
import com.szwl.model.utils.DateUtils;
|
|
|
import com.szwl.service.*;
|
|
|
import com.szwl.util.IDGenerator;
|
|
@@ -584,6 +586,150 @@ public class TPromoCodeController {
|
|
|
return R.ok(iPage);
|
|
|
}
|
|
|
|
|
|
+ @ApiOperation(value = "优惠码列表")
|
|
|
+ @PostMapping("/list")
|
|
|
+ public ResponseModel<IPage<?>> selectSugarRecord(@RequestBody PromoCodeParam param) {
|
|
|
+ String adminId = param.getAdminId();
|
|
|
+ Long code = param.getCode();
|
|
|
+ String isUse = param.getIsUse();
|
|
|
+ String useStartDate = param.getUseStartDate();
|
|
|
+ String useEndDate = param.getUseEndDate();
|
|
|
+ String createStartDate = param.getCreateStartDate();
|
|
|
+ String createEndDate = param.getCreateEndDate();
|
|
|
+ long current = param.getCurrent();
|
|
|
+ long size = param.getSize();
|
|
|
+ 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 (code != null) {
|
|
|
+ query.eq(TPromoCode::getCode, code);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(isUse)) {
|
|
|
+ query.like(TPromoCode::getIsUse, isUse);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(useStartDate) && StringUtils.isNotEmpty(useEndDate)) {
|
|
|
+ query.gt(TPromoCode::getUseDate, useStartDate);
|
|
|
+ query.lt(TPromoCode::getUseDate, useEndDate);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(createStartDate) && StringUtils.isNotEmpty(createEndDate)) {
|
|
|
+ query.gt(TPromoCode::getCreateDate, createStartDate);
|
|
|
+ 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 = "导出制作记录")
|
|
|
+ @PostMapping("/exportList")
|
|
|
+ public void exportList(@RequestBody PromoCodeParam param, HttpServletResponse response) {
|
|
|
+ String adminId = param.getAdminId();
|
|
|
+ Long code = param.getCode();
|
|
|
+ String isUse = param.getIsUse();
|
|
|
+ String useStartDate = param.getUseStartDate();
|
|
|
+ String useEndDate = param.getUseEndDate();
|
|
|
+ String createStartDate = param.getCreateStartDate();
|
|
|
+ String createEndDate = param.getCreateEndDate();
|
|
|
+ LambdaQueryWrapper<TPromoCode> 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<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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (code != null) {
|
|
|
+ query.eq(TPromoCode::getCode, code);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(isUse)) {
|
|
|
+ query.like(TPromoCode::getIsUse, isUse);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(useStartDate) && StringUtils.isNotEmpty(useEndDate)) {
|
|
|
+ query.gt(TPromoCode::getUseDate, useStartDate);
|
|
|
+ query.lt(TPromoCode::getUseDate, useEndDate);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(createStartDate) && StringUtils.isNotEmpty(createEndDate)) {
|
|
|
+ query.gt(TPromoCode::getCreateDate, createStartDate);
|
|
|
+ query.lt(TPromoCode::getCreateDate, createEndDate);
|
|
|
+ }
|
|
|
+ List<TPromoCode> list = promoCodeService.list(query);
|
|
|
+ Workbook workbook = null;
|
|
|
+ if (ifForeign.equals("0")) {
|
|
|
+ List<PromoCodeTarget> promoCodeTargets = promoCodeService.findById(list);
|
|
|
+ ExportParams exportParams = new ExportParams("优惠码记录", "sheet1");
|
|
|
+ workbook = ExcelExportUtil.exportExcel(exportParams, PromoCodeTarget.class, promoCodeTargets);
|
|
|
+ } else {
|
|
|
+ List<PromoCodeTargetEn> 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);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } finally {
|
|
|
+ try {
|
|
|
+ os.close();
|
|
|
+ workbook.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@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) {
|