Browse Source

广告账户定制化

zq940222 6 months ago
parent
commit
a5327d16d3

+ 181 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/adsaccount/controller/AdsAccountController.java

@@ -0,0 +1,181 @@
+package org.jeecg.modules.demo.adsaccount.controller;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.demo.adsaccount.entity.AdsAccount;
+import org.jeecg.modules.demo.adsaccount.service.IAdsAccountService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: 广告账户管理
+ * @Author: jeecg-boot
+ * @Date:   2024-09-20
+ * @Version: V1.0
+ */
+@Tag(name="广告账户管理")
+@RestController
+@RequestMapping("/adsaccount/adsAccount")
+@Slf4j
+public class AdsAccountController extends JeecgController<AdsAccount, IAdsAccountService> {
+	@Autowired
+	private IAdsAccountService adsAccountService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param adsAccount
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "广告账户管理-分页列表查询")
+	@Operation(summary="广告账户管理-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<AdsAccount>> queryPageList(AdsAccount adsAccount,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<AdsAccount> queryWrapper = QueryGenerator.initQueryWrapper(adsAccount, req.getParameterMap());
+		Page<AdsAccount> page = new Page<AdsAccount>(pageNo, pageSize);
+		IPage<AdsAccount> pageList = adsAccountService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param adsAccount
+	 * @return
+	 */
+	@AutoLog(value = "广告账户管理-添加")
+	@Operation(summary="广告账户管理-添加")
+	@RequiresPermissions("adsaccount:ads_account:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody AdsAccount adsAccount) {
+		adsAccount.setCreatedAt(new Date());
+		adsAccountService.save(adsAccount);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param adsAccount
+	 * @return
+	 */
+	@AutoLog(value = "广告账户管理-编辑")
+	@Operation(summary="广告账户管理-编辑")
+	@RequiresPermissions("adsaccount:ads_account:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody AdsAccount adsAccount) {
+		adsAccount.setUpdatedAt(new Date());
+		adsAccountService.updateById(adsAccount);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "广告账户管理-通过id删除")
+	@Operation(summary="广告账户管理-通过id删除")
+	@RequiresPermissions("adsaccount:ads_account:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		adsAccountService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "广告账户管理-批量删除")
+	@Operation(summary="广告账户管理-批量删除")
+	@RequiresPermissions("adsaccount:ads_account:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.adsAccountService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "广告账户管理-通过id查询")
+	@Operation(summary="广告账户管理-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<AdsAccount> queryById(@RequestParam(name="id",required=true) String id) {
+		AdsAccount adsAccount = adsAccountService.getById(id);
+		if(adsAccount==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(adsAccount);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param adsAccount
+    */
+    @RequiresPermissions("adsaccount:ads_account:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, AdsAccount adsAccount) {
+        return super.exportXls(request, adsAccount, AdsAccount.class, "广告账户管理");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequiresPermissions("adsaccount:ads_account:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, AdsAccount.class);
+    }
+
+}

+ 109 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/adsaccount/entity/AdsAccount.java

@@ -0,0 +1,109 @@
+package org.jeecg.modules.demo.adsaccount.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 广告账户管理
+ * @Author: jeecg-boot
+ * @Date:   2024-09-20
+ * @Version: V1.0
+ */
+@Data
+@TableName("ads_account")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="广告账户管理")
+public class AdsAccount implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.AUTO)
+    @Schema(description = "id")
+    private Integer id;
+	/**关联用户ID*/
+	@Excel(name = "关联用户ID", width = 15, dictTable = "user_login", dicText = "username", dicCode = "id")
+	@Dict(dictTable = "user_login", dicText = "username", dicCode = "id")
+    @Schema(description = "关联用户ID")
+    private Integer userId;
+	/**账号*/
+	@Excel(name = "账号", width = 15)
+    @Schema(description = "账号")
+    private String accountId;
+	/**账号名*/
+	@Excel(name = "账号名", width = 15)
+    @Schema(description = "账号名")
+    private String accountName;
+	/**账号渠道*/
+	@Excel(name = "账号渠道", width = 15, dicCode = "account_channel")
+	@Dict(dicCode = "account_channel")
+    @Schema(description = "账号渠道")
+    private String accountChannel;
+	/**账号分类*/
+	@Excel(name = "账号分类", width = 15, dicCode = "account_category")
+	@Dict(dicCode = "account_category")
+    @Schema(description = "账号分类")
+    private String accountCategory;
+	/**账号状态*/
+	@Excel(name = "账号状态", width = 15, dicCode = "account_status")
+	@Dict(dicCode = "account_status")
+    @Schema(description = "账号状态")
+    private String accountStatus;
+	/**检查状态*/
+	@Excel(name = "检查状态", width = 15, dicCode = "review_status")
+	@Dict(dicCode = "review_status")
+    @Schema(description = "检查状态")
+    private String reviewStatus;
+	/**币种*/
+	@Excel(name = "币种", width = 15, dicCode = "currency_code")
+	@Dict(dicCode = "currency_code")
+    @Schema(description = "币种")
+    private String currencyCode;
+	/**公司*/
+	@Excel(name = "公司", width = 15)
+    @Schema(description = "公司")
+    private String company;
+	/**网址*/
+	@Excel(name = "网址", width = 15)
+    @Schema(description = "网址")
+    private String website;
+	/**领域*/
+	@Excel(name = "领域", width = 15)
+    @Schema(description = "领域")
+    private String industry;
+	/**邮箱*/
+	@Excel(name = "邮箱", width = 15)
+    @Schema(description = "邮箱")
+    private String email;
+	/**删除标识*/
+	@Excel(name = "删除标识", width = 15)
+    @Schema(description = "删除标识")
+    @TableLogic(value="0",delval="1")
+    private Integer isDeleted;
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @Schema(description = "创建时间")
+    private Date createdAt;
+	/**更新时间*/
+	@Excel(name = "更新时间", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @Schema(description = "更新时间")
+    private Date updatedAt;
+}

+ 17 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/adsaccount/mapper/AdsAccountMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.demo.adsaccount.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.demo.adsaccount.entity.AdsAccount;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 广告账户管理
+ * @Author: jeecg-boot
+ * @Date:   2024-09-20
+ * @Version: V1.0
+ */
+public interface AdsAccountMapper extends BaseMapper<AdsAccount> {
+
+}

+ 5 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/adsaccount/mapper/xml/AdsAccountMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.demo.adsaccount.mapper.AdsAccountMapper">
+
+</mapper>

+ 14 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/adsaccount/service/IAdsAccountService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.demo.adsaccount.service;
+
+import org.jeecg.modules.demo.adsaccount.entity.AdsAccount;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 广告账户管理
+ * @Author: jeecg-boot
+ * @Date:   2024-09-20
+ * @Version: V1.0
+ */
+public interface IAdsAccountService extends IService<AdsAccount> {
+
+}

+ 19 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/adsaccount/service/impl/AdsAccountServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.demo.adsaccount.service.impl;
+
+import org.jeecg.modules.demo.adsaccount.entity.AdsAccount;
+import org.jeecg.modules.demo.adsaccount.mapper.AdsAccountMapper;
+import org.jeecg.modules.demo.adsaccount.service.IAdsAccountService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 广告账户管理
+ * @Author: jeecg-boot
+ * @Date:   2024-09-20
+ * @Version: V1.0
+ */
+@Service
+public class AdsAccountServiceImpl extends ServiceImpl<AdsAccountMapper, AdsAccount> implements IAdsAccountService {
+
+}