songyh 3 سال پیش
والد
کامیت
be86db5d15
19فایلهای تغییر یافته به همراه1042 افزوده شده و 16 حذف شده
  1. 1 1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java
  2. 0 2
      jeecg-boot-report/src/main/java/cn/com/ctop/report/JeecgBootReportApplication.java
  3. 60 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/controller/TestController.java
  4. 29 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/entity/AccountAttributionInfo.java
  5. 504 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/entity/KuaishouAccountReportDailyDw.java
  6. 77 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/entity/SysRole.java
  7. 164 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/entity/UserAllocation.java
  8. 8 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/AccountAttributionInfoMapper.java
  9. 38 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/SysRoleMapper.java
  10. 20 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/UserAllocationMapper.java
  11. 29 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/xml/AccountAttributionInfoMapper.xml
  12. 29 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/xml/SysRoleMapper.xml
  13. 8 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/xml/UserAllocationMapper.xml
  14. 9 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/service/AccountAttributionInfoService.java
  15. 15 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/service/IUserAllocationService.java
  16. 17 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/service/impl/AccountAttributionInfoServiceImpl.java
  17. 28 0
      jeecg-boot-report/src/main/java/cn/com/ctop/report/service/impl/UserAllocationServiceImpl.java
  18. 4 11
      jeecg-boot-report/src/main/resources/application-dev.yml
  19. 2 2
      jeecg-boot-report/src/main/resources/application.yml

+ 1 - 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java

@@ -854,7 +854,7 @@ public class QueryGenerator {
 				return "'"+str.substring(0,str.length()-1)+"%'";
 			}
 		}else {
-			if(str.indexOf("%")>=0) {
+			if(str.contains("%")) {
 				if(DataBaseConstant.DB_TYPE_SQLSERVER.equals(getDbType())){
 					if(str.startsWith("'") && str.endsWith("'")){
 						return "N"+str;

+ 0 - 2
jeecg-boot-report/src/main/java/cn/com/ctop/report/JeecgBootReportApplication.java

@@ -10,9 +10,7 @@ import org.springframework.context.annotation.ComponentScan;
 @SpringBootApplication(exclude = {ShiroAnnotationProcessorAutoConfiguration.class, ShiroAutoConfiguration.class, ShiroBeanAutoConfiguration.class})
 @ComponentScan(basePackages = {"org.jeecg", "cn.com.ctop"})
 public class JeecgBootReportApplication {
-
     public static void main(String[] args) {
         SpringApplication.run(JeecgBootReportApplication.class, args);
     }
-
 }

+ 60 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/controller/TestController.java

@@ -0,0 +1,60 @@
+package cn.com.ctop.report.controller;
+
+import cn.com.ctop.report.entity.UserAllocation;
+import cn.com.ctop.report.mapper.SysRoleMapper;
+import cn.com.ctop.report.service.IUserAllocationService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.PermissionData;
+import org.jeecg.common.system.vo.LoginUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+@RestController
+@RequestMapping("report")
+public class TestController {
+    @Autowired
+    private IUserAllocationService userAllocationService;
+
+    @GetMapping(value = "/sqlList")
+    @PermissionData(pageComponent="jeecg/JeecgDemoList")
+    public Result<IPage<UserAllocation>> loadSqlPermissonList(UserAllocation jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                              HttpServletRequest req) {
+        Result<IPage<UserAllocation>> result = new Result<IPage<UserAllocation>>();
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String sql = joinSql(user);
+        IPage<UserAllocation> pageList = userAllocationService.queryListWithPermission(pageSize, pageNo);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    //运营角色
+    private String joinSql(LoginUser user) {
+        String sql = "";
+        //判定账户角色
+        String roleCode = sysRoleMapper.getRoleCodeByUserId(user.getId());
+        if("admin".equals(roleCode)){
+            //管理员,全角色权限
+            return sql;
+        }
+        //TODO 公司负责人角色没有
+        if("company".equals(roleCode)){
+            //查询公司orgCode
+            String companyCode = "";
+            sql = " and org_code like '"+companyCode+"%' ";
+            return sql;
+        }
+        return sql;
+    }
+
+    @Resource
+    private SysRoleMapper sysRoleMapper;
+}

+ 29 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/entity/AccountAttributionInfo.java

@@ -0,0 +1,29 @@
+package cn.com.ctop.report.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+@Data
+@TableName("ctop_account_attribution_info")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class AccountAttributionInfo {
+    @TableId
+    private String id;
+    private Long accountId;
+    private Long projectId;
+    private Long productId;
+    private String advertiserId;
+    private String companyId;
+    private String accountName;
+    private String projectName;
+    private String advertiserName;
+    private String companyName;
+    private String saleId;
+    private String userId;
+    private String orgCode;
+}

+ 504 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/entity/KuaishouAccountReportDailyDw.java

@@ -0,0 +1,504 @@
+package cn.com.ctop.report.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("kuaishou_account_report_daily_dw")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class KuaishouAccountReportDailyDw {
+    private Long accountId;
+    private Long statDate;
+    /**
+     * 项目id
+     */
+    private Long projectId;
+    /**
+     * 产品id
+     */
+    private Long productId;
+    /**
+     * 广告主id
+     */
+    private String advertiserId;
+    /**
+     * 公司id
+     */
+    private String companyId;
+    /**
+     * 账户名称
+     */
+    private String accountName;
+    /**
+     * 项目名称
+     */
+    private String projectName;
+    /**
+     * 广告主名称
+     */
+    private String advertiserName;
+    /**
+     * 公司名称
+     */
+    private String companyName;
+    /**
+     * 销售id
+     */
+    private String saleId;
+    /**
+     * 运营id
+     */
+    private String userId;
+    /**
+     * 机构编码
+     */
+    private String orgCode;
+    /**
+     * 花费(元)
+     */
+    private BigDecimal charge;
+    /**
+     * 封面曝光数
+     */
+    private Long show;
+    /**
+     * 封面点击数
+     */
+    private Long photoClick;
+    /**
+     * 素材曝光数
+     */
+    private Long aclick;
+    /**
+     * 行为数
+     */
+    private Long bclick;
+    /**
+     * 封面点击率
+     */
+    private BigDecimal photoClickRatio;
+    /**
+     * 3s播放率
+     */
+    private BigDecimal play3sRatio;
+    /**
+     * 行为率
+     */
+    private BigDecimal actionRatio;
+    /**
+     * 平均千次曝光花费(元)
+     */
+    private BigDecimal impression1kCost;
+    /**
+     * 平均点击单价(元)
+     */
+    private BigDecimal photoClickCost;
+    /**
+     * 平均行为单价(元)
+     */
+    private BigDecimal actionCost;
+    /**
+     * 分享数
+     */
+    private Long share;
+    /**
+     * 评论数
+     */
+    private Long comment;
+    /**
+     * 点赞数
+     */
+    private Long like;
+    /**
+     * 新增关注数
+     */
+    private Long follow;
+    /**
+     * 取消关注数
+     */
+    private Long cancelFollow;
+    /**
+     * 举报数
+     */
+    private Long report;
+    /**
+     * 拉黑数
+     */
+    private Long block;
+    /**
+     * 减少此类作品数
+     */
+    private Long negative;
+    /**
+     * 提交按钮点击数(历史字段,同下方“表单提交数”,预计年底删除该字段)
+     */
+    private Long submit;
+    /**
+     * 应用下载数据-安卓下载开始数
+     */
+    private Long downloadStarted;
+    /**
+     * 应用下载数据-安卓下载完成数
+     */
+    private Long downloadCompleted;
+    /**
+     * 应用下载数据-激活数
+     */
+    private Long activation;
+    /**
+     * 应用下载数据-首日付费次数
+     */
+    private Long eventPayFirstDay;
+    /**
+     * 应用下载数据-首日付费金额
+     */
+    private BigDecimal eventPayPurchaseAmountFirstDay;
+    /**
+     * 应用下载数据-首日ROI
+     */
+    private BigDecimal eventPayFirstDayRoi;
+    /**
+     * 应用下载数据-付费次数
+     */
+    private Long eventPay;
+    /**
+     * 应用下载数据-付费金额
+     */
+    private BigDecimal eventPayPurchaseAmount;
+    /**
+     * 应用下载数据-ROI
+     */
+    private BigDecimal eventPayRoi;
+    /**
+     * 应用下载数据-注册数
+     */
+    private Long eventRegister;
+    /**
+     * 应用下载数据-注册成本
+     */
+    private BigDecimal eventRegisterCost;
+    /**
+     * 应用下载数据-注册率
+     */
+    private BigDecimal eventRegisterRatio;
+    /**
+     * 应用下载数据-完件数
+     */
+    private Long eventJinJianApp;
+    /**
+     * 应用下载数据-完件成本
+     */
+    private BigDecimal eventJinJianAppCost;
+    /**
+     * 应用下载数据-授信数
+     */
+    private Long eventCreditGrantApp;
+    /**
+     * 应用下载数据-授信成本
+     */
+    private BigDecimal eventCreditGrantAppCost;
+    /**
+     * 应用下载数据-授信率
+     */
+    private BigDecimal eventCreditGrantAppRatio;
+    /**
+     * 应用下载数据-付款成功数
+     */
+    private Long eventOrderPaid;
+    /**
+     * 应用下载数据-付款成功金额
+     */
+    private BigDecimal eventOrderPaidPurchaseAmount;
+    /**
+     * 应用下载数据-单次付款成本
+     */
+    private BigDecimal eventOrderPaidCost;
+    /**
+     * 应用下载数据-次留数(仅支持分日查询)
+     */
+    private Long eventNextDayStay;
+    /**
+     * 应用下载数据-次留成本(仅支持分日查询)
+     */
+    private BigDecimal eventNextDayStayCost;
+    /**
+     * 应用下载数据-次留率(仅支持分日查询)
+     */
+    private BigDecimal eventNextDayStayRatio;
+    /**
+     * 落地页数据-表单提交数
+     */
+    private Long formCount;
+    /**
+     * 落地页数据-表单提交单价
+     */
+    private BigDecimal formCost;
+    /**
+     * 落地页数据-表单提交点击率
+     */
+    private BigDecimal formActionRatio;
+    /**
+     * 落地页数据-落地页完件数
+     */
+    private Long eventJinJianLandingPage;
+    /**
+     * 落地页数据-落地页完件成本
+     */
+    private BigDecimal eventJinJianLandingPageCost;
+    /**
+     * 落地页数据-落地页授信数
+     */
+    private Long eventCreditGrantLandingPage;
+    /**
+     * 落地页数据-落地页授信成本
+     */
+    private BigDecimal eventCreditGrantLandingPageCost;
+    /**
+     * 落地页数据-落地页授信率
+     */
+    private BigDecimal eventCreditGrantLandingPageRatio;
+    /**
+     * 落地页数据-有效线索数
+     */
+    private Long eventValidClues;
+    /**
+     * 落地页数据-有效线索成本
+     */
+    private BigDecimal eventValidCluesCost;
+    /**
+     * 微信复制数
+     */
+    private Long eventAddWechat;
+    /**
+     * 微信复制成本
+     */
+    private BigDecimal eventAddWechatCost;
+    /**
+     * 微信复制率
+     */
+    private BigDecimal eventAddWechatRatio;
+    /**
+     * 智能电话-确认接通数
+     */
+    private Long eventGetThrough;
+    /**
+     * 智能电话-确认接通成本
+     */
+    private BigDecimal eventGetThroughCost;
+    /**
+     * 智能电话-确认接通率
+     */
+    private BigDecimal eventGetThroughRatio;
+    /**
+     * 唤醒应用数
+     */
+    private Long eventAppInvoked;
+    /**
+     * 唤醒应用成本
+     */
+    private BigDecimal eventAppInvokedCost;
+    /**
+     * 唤醒应用率
+     */
+    private BigDecimal eventAppInvokedRatio;
+    /**
+     * 落地页授信率
+     */
+    private BigDecimal eventCreditGrantLandingRatio;
+    /**
+     * 5s播放率
+     */
+    private BigDecimal play5sRatio;
+    /**
+     * 完播率
+     */
+    private BigDecimal playEndRatio;
+    /**
+     * 新增付费人数
+     */
+    private BigDecimal eventNewUserPay;
+    /**
+     * 新增付费人数成本
+     */
+    private BigDecimal eventNewUserPayCost;
+    /**
+     * 新增付费人数率
+     */
+    private BigDecimal eventNewUserPayRatio;
+    /**
+     * 平均千次素材曝光花费(元)
+     */
+    private BigDecimal click1kCost;
+    /**
+     * 商品成交数
+     */
+    private Long adProductCnt;
+    /**
+     * 商品访问数
+     */
+    private Long eventGoodsView;
+    /**
+     * 涨粉量
+     */
+    private Long merchantRecoFans;
+    /**
+     * 小店推广roi
+     */
+    private BigDecimal eventOrderAmountRoi;
+    /**
+     * 商品访问成本
+     */
+    private BigDecimal eventGoodsViewCost;
+    /**
+     * 涨粉成本
+     */
+    private BigDecimal merchantRecoFansCost;
+    /**
+     * 按钮点击数
+     */
+    private Long eventButtonClick;
+    /**
+     * 按钮点击成本
+     */
+    private BigDecimal eventButtonClickCost;
+    /**
+     * 按钮点击率
+     */
+    private BigDecimal eventButtonClickRatio;
+    /**
+     * 订单支付率
+     */
+    private BigDecimal eventOrderPaidRoi;
+    /**
+     * 新增完件人数
+     */
+    private Long eventNewUserJinjianApp;
+    /**
+     * 新增完件成本
+     */
+    private BigDecimal eventNewUserJinjianAppCost;
+    /**
+     * 新增完件人数率
+     */
+    private BigDecimal eventNewUserJinjianAppRoi;
+    /**
+     * 新增授信人数
+     */
+    private Long eventNewUserCreditGrantApp;
+    /**
+     * 新增授信人数成本
+     */
+    private BigDecimal eventNewUserCreditGrantAppCost;
+    /**
+     * 新增授信人数率
+     */
+    private BigDecimal eventNewUserCreditGrantAppRoi;
+
+    private Long eventNewUserJinjianPage;
+    private BigDecimal eventNewUserJinjianPageCost;
+    private BigDecimal eventNewUserJinjianPageRoi;
+    private Long eventNewUserCreditGrantPage;
+    private BigDecimal eventNewUserCreditGrantPageCost;
+    private BigDecimal eventNewUserCreditGrantPageRoi;
+    /**
+     * 预约表单数
+     */
+    private Long eventAppointForm;
+    /**
+     * 预约表单点击成本
+     */
+    private BigDecimal eventAppointFormCost;
+    /**
+     * 预约表单点击率
+     */
+    private BigDecimal eventAppointFormRatio;
+    /**
+     * 预约跳转点击数
+     */
+    private Long eventAppointJumpClick;
+    /**
+     * 预约跳转点击成本
+     */
+    private BigDecimal eventAppointJumpClickCost;
+    /**
+     * 预约跳转点击率
+     */
+    private BigDecimal eventAppointJumpClickRatio;
+    /**
+     * 联盟广告收入
+     */
+    private Long unionEventPayPurchaseAmount7d;
+    /**
+     * 联盟变现ROI
+     */
+    private BigDecimal unionEventPayPurchaseAmount7dRoi;
+
+    private String placementType;
+
+    private String adScene;
+
+    private Long eventOrderSuccessed;
+    private BigDecimal adPhotoPlayed10sRatio;
+    private BigDecimal keyActionCost;
+    /**
+     * 添加购物车成本
+     */
+    private BigDecimal eventAddShoppingCartCost;
+
+    /**
+     * 广告观看次数转化率
+     */
+    private BigDecimal eventAdWatchTimesRatio;
+    private BigDecimal eventOutboundCallCost;
+    private Long eventOutboundCall;
+    private BigDecimal actionNewRatio;
+
+    /**
+     * 广告观看
+     */
+    private Long eventWatchAppAd;
+    /**
+     * 落地页多转化成本
+     */
+    private BigDecimal eventMultiConversionCost;
+    private Long eventPhoneCardActivate;
+    private BigDecimal adPhotoPlayed75percentRatio;
+    private BigDecimal keyActionRatio;
+    /**
+     * 广告观看次数成本
+     */
+    private BigDecimal eventAdWatchTimesCost;
+    /**
+     * 添加购物车数
+     */
+    private Long eventAddShoppingCart;
+    private Long keyAction;
+
+    /**
+     * 落地页多转化次数
+     */
+    private Long eventMultiConversion;
+    private Long eventWechatConnected;
+    /**
+     * 附加组件表单提交
+     */
+    private Long eventDspGiftForm;
+    private Long eventIntentionConfirmed;
+    private Long eventPhoneGetThrough;
+    /**
+     * 落地页多转化率
+     */
+    private BigDecimal eventMultiConversionRatio;
+    private BigDecimal eventMeasurementHouse;
+    private BigDecimal adPhotoPlayed2sRatio;
+    private BigDecimal eventOutboundCallRatio;
+    /**
+     * 广告观看次数
+     */
+    private Long eventAdWatchTimes;
+}

+ 77 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/entity/SysRole.java

@@ -0,0 +1,77 @@
+package cn.com.ctop.report.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 角色表
+ * </p>
+ *
+ * @Author scott
+ * @since 2018-12-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysRole implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+
+    /**
+     * 角色名称
+     */
+    @Excel(name="角色名",width=15)
+    private String roleName;
+
+    /**
+     * 角色编码
+     */
+    @Excel(name="角色编码",width=15)
+    private String roleCode;
+
+    /**
+          * 描述
+     */
+    @Excel(name="描述",width=60)
+    private String description;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+}

+ 164 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/entity/UserAllocation.java

@@ -0,0 +1,164 @@
+package cn.com.ctop.report.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 用户分配
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2019-08-08
+ */
+@Data
+@TableName("ctop_user_allocation")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "ctop_user_allocation对象", description = "用户分配")
+public class UserAllocation implements Serializable {
+
+    /**
+     * 主键ID
+     */
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "主键ID")
+    private Long id;
+    /**
+     * 登陆人id
+     */
+    @Excel(name = "登陆人id", width = 15)
+    @ApiModelProperty(value = "登陆人id")
+    private String userId;
+
+
+    @Excel(name = "登陆人名称", width = 15)
+    @ApiModelProperty(value = "登陆人名称")
+    private String userName;
+
+    /**
+     * 账户id --授权
+     */
+    @Excel(name = "账户id --授权", width = 15)
+    @ApiModelProperty(value = "账户id --授权")
+    private Long accountId;
+    /**
+     * 广告主ID
+     */
+    @Excel(name = "广告主ID", width = 15)
+    @ApiModelProperty(value = "广告主ID")
+    @Dict(dicCode = "id", dictTable = "ctop_advertiser", dicText = "name")
+    private String advertiserId;
+
+    private String systemType;
+
+    /**
+     * 项目id
+     */
+    @Dict(dicCode = "id", dictTable = "ctop_project", dicText = "project_name")
+    private Long projectId;
+
+    /**
+     * 输入账号  --登陆
+     */
+    @Excel(name = "输入账号  --登陆", width = 15)
+    @ApiModelProperty(value = "输入账号  --登陆")
+    private String accountName;
+
+    /**
+     * 预警 金额
+     */
+    private BigDecimal warningAmount;
+
+    /**
+     * 预警 比例
+     */
+    private BigDecimal warningProportion;
+
+    /**
+     * 创建时间
+     */
+    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    /**
+     * 授权名称
+     */
+    @Excel(name = "授权名称", width = 15)
+    @ApiModelProperty(value = "授权名称")
+    private String authName;
+
+    /**
+     * 授权开始时间
+     */
+    @Excel(name = "授权开始时间", width = 15)
+    @ApiModelProperty(value = "授权开始时间")
+    private String authBeginTime;
+
+
+    /**
+     * 0 启动
+     * 1 禁用
+     */
+    private Integer accountStatus;
+
+    /**
+     * 检测链接预警
+     * 0 启动
+     * 1 禁用
+     */
+    private Integer monitoringLink;
+
+    /**
+     * 检测链接预警
+     * 0 启动
+     * 1 禁用
+     */
+    private Integer landingPage;
+
+    /**
+     * 是否开启删评论
+     * 0 启动
+     * 1 禁用
+     */
+    private Integer deleteComment;
+    /**
+     * 自动投放,0关闭,1开启
+     */
+    private Integer autoDelivery;
+    /**
+     * 物料类型 0-不同步,1应用包,(2人群包,3定向包)
+     */
+    private String materialType;
+
+    /**
+     * 修改时间
+     */
+    @Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+    /**
+     * 平台类型 1 头条 2快手
+     */
+    @Excel(name = "平台类型 1 头条 2快手", width = 15)
+    @ApiModelProperty(value = "平台类型 1 头条 2快手")
+    private String mediaId;
+}

+ 8 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/AccountAttributionInfoMapper.java

@@ -0,0 +1,8 @@
+package cn.com.ctop.report.mapper;
+
+import cn.com.ctop.report.entity.AccountAttributionInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface AccountAttributionInfoMapper extends BaseMapper<AccountAttributionInfo> {
+    void reloadData();
+}

+ 38 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/SysRoleMapper.java

@@ -0,0 +1,38 @@
+package cn.com.ctop.report.mapper;
+
+import cn.com.ctop.report.entity.SysRole;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 角色表 Mapper 接口
+ * </p>
+ *
+ * @Author scott
+ * @since 2018-12-19
+ */
+public interface SysRoleMapper extends BaseMapper<SysRole> {
+    String getRoleIdByRoleCode(@Param("roleCode") String roleCode);
+
+    String getRoleCodeByUserId(@Param("userId") String userId);
+    /**
+     * @Author scott
+     * @Date 2019/12/13 16:12
+     * @Description: 删除角色与用户关系
+     */
+    @Delete("delete from sys_user_role where role_id = #{roleId}")
+    void deleteRoleUserRelation(@Param("roleId") String roleId);
+
+
+    /**
+     * @Author scott
+     * @Date 2019/12/13 16:12
+     * @Description: 删除角色与权限关系
+     */
+    @Delete("delete from sys_role_permission where role_id = #{roleId}")
+    void deleteRolePermissionRelation(@Param("roleId") String roleId);
+
+    SysRole queryRoleByUserId(@Param("userId") String userId);
+}

+ 20 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/UserAllocationMapper.java

@@ -0,0 +1,20 @@
+package cn.com.ctop.report.mapper;
+
+import cn.com.ctop.report.entity.UserAllocation;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Description: 用户分配
+ * @Author: jeecg-boot
+ * @Date: 2019-08-08
+ * @Version: V1.0
+ */
+public interface UserAllocationMapper extends BaseMapper<UserAllocation> {
+    IPage<UserAllocation> queryListWithPermission(Page<UserAllocation> page, String sql);
+}

+ 29 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/xml/AccountAttributionInfoMapper.xml

@@ -0,0 +1,29 @@
+<?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="cn.com.ctop.report.mapper.AccountAttributionInfoMapper">
+
+    <insert id="reloadData">
+        replace into ctop_account_attribution_info(id, account_id, project_id, product_id, advertiser_id, company_id,
+                                          account_name, project_name, advertiser_name, company_name, sale_id, user_id,
+                                          org_code)
+        select cua.account_id,
+               cua.account_id,
+               cp.id,
+               product.id,
+               ca.id,
+               uc.company_id,
+               cua.auth_name,
+               cp.project_name,
+               ca.name,
+               uc.company_name,
+               cp.sale_id,
+               su.id,
+               su.org_code
+        from ctop_user_allocation cua
+                 left join ctop_project cp on cua.project_id = cp.id
+                 left join ctop_advertiser ca on ca.id = cua.advertiser_id
+                 left join sys_user su on su.id = cua.user_id
+                 left join user_company uc on uc.user_id = cua.user_id
+                 left join ctop_product product on product.id = cp.product_id where cua.account_id is not null;
+    </insert>
+</mapper>

+ 29 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/xml/SysRoleMapper.xml

@@ -0,0 +1,29 @@
+<?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="cn.com.ctop.report.mapper.SysRoleMapper">
+
+    <!-- 根据roleCode获取roleId -->
+    <select id="getRoleIdByRoleCode" resultType="java.lang.String">
+        select id
+        from sys_role
+        where role_code = #{roleCode}
+    </select>
+
+    <!-- 根据userId获取角色code -->
+    <select id="getRoleCodeByUserId" resultType="java.lang.String">
+        select c.role_code
+        from sys_user a
+                 left join sys_user_role b on a.id = b.user_id
+                 left join sys_role c on b.role_id = c.id
+        where a.id = #{userId}
+    </select>
+
+
+    <select id="queryRoleByUserId" resultType="cn.com.ctop.report.entity.SysRole">
+        SELECT t2.role_name,t2.role_code
+        FROM sys_user_role t1
+                 LEFT JOIN sys_role t2 ON t1.role_id = t2.id
+        WHERE t1.user_id = #{userId} LIMIT 1
+    </select>
+
+</mapper>

+ 8 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/mapper/xml/UserAllocationMapper.xml

@@ -0,0 +1,8 @@
+<?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="cn.com.ctop.report.mapper.UserAllocationMapper">
+
+    <select id="queryListWithPermission" resultType="cn.com.ctop.report.entity.UserAllocation">
+        select * from user_allocation where 1=1 ${permissionSql}
+    </select>
+</mapper>

+ 9 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/service/AccountAttributionInfoService.java

@@ -0,0 +1,9 @@
+package cn.com.ctop.report.service;
+
+import cn.com.ctop.report.entity.AccountAttributionInfo;
+import cn.com.ctop.report.entity.UserAllocation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface AccountAttributionInfoService extends IService<AccountAttributionInfo> {
+    void reloadData();
+}

+ 15 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/service/IUserAllocationService.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.report.service;
+
+import cn.com.ctop.report.entity.UserAllocation;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 用户分配
+ * @Author: jeecg-boot
+ * @Date: 2019-08-08
+ * @Version: V1.0
+ */
+public interface IUserAllocationService extends IService<UserAllocation> {
+    IPage<UserAllocation> queryListWithPermission(Integer pageSize, Integer pageNo);
+}

+ 17 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/service/impl/AccountAttributionInfoServiceImpl.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.report.service.impl;
+
+import cn.com.ctop.report.entity.AccountAttributionInfo;
+import cn.com.ctop.report.mapper.AccountAttributionInfoMapper;
+import cn.com.ctop.report.service.AccountAttributionInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import javax.annotation.Resource;
+
+public class AccountAttributionInfoServiceImpl extends ServiceImpl<AccountAttributionInfoMapper, AccountAttributionInfo> implements AccountAttributionInfoService {
+    @Resource
+    private AccountAttributionInfoMapper accountAttributionInfoMapper;
+    @Override
+    public void reloadData() {
+        accountAttributionInfoMapper.reloadData();
+    }
+}

+ 28 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/report/service/impl/UserAllocationServiceImpl.java

@@ -0,0 +1,28 @@
+package cn.com.ctop.report.service.impl;
+
+import cn.com.ctop.report.entity.UserAllocation;
+import cn.com.ctop.report.mapper.UserAllocationMapper;
+import cn.com.ctop.report.service.IUserAllocationService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 用户分配
+ * @Author: jeecg-boot
+ * @Date: 2019-08-08
+ * @Version: V1.0
+ */
+@Service
+public class UserAllocationServiceImpl extends ServiceImpl<UserAllocationMapper, UserAllocation> implements IUserAllocationService {
+
+    @Override
+    public IPage<UserAllocation> queryListWithPermission(Integer pageSize, Integer pageNo) {
+        Page<UserAllocation> page = new Page<>(pageNo, pageSize);
+        //就是调用这个QueryGenerator.installAuthJdbc方法获取权限sql
+        String sql = QueryGenerator.installAuthJdbc(UserAllocation.class);
+        return this.baseMapper.queryListWithPermission(page, sql);
+    }
+}

+ 4 - 11
jeecg-boot-report/src/main/resources/application-dev.yml

@@ -5,7 +5,6 @@ server:
     include-exception: true
     include-stacktrace: ALWAYS
     include-message: ALWAYS
-
   compression:
     enabled: true
     min-response-size: 1024
@@ -20,7 +19,7 @@ spring:
     nacos:
       discovery:
         server-addr: 127.0.0.1:8848
-        service: jeecg-cloud-finance
+        service: jeecg-cloud-report
   servlet:
      multipart:
         max-file-size: 10MB
@@ -106,16 +105,10 @@ spring:
         connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
       datasource:
         master:
-          url: jdbc:mysql://139.186.165.84:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
-          username: hcst
-          password: hcst@2020
+          url: jdbc:mysql://192.168.1.187:4000/application?characterEncoding=UTF-8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
+          username: root
+          password: hcst@2021
           driver-class-name: com.mysql.jdbc.Driver
-          # 多数据源配置
-          #multi-datasource1:
-          #url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
-          #username: root
-          #password: root
-          #driver-class-name: com.mysql.cj.jdbc.Driver
   #redis 配置
   redis:
     database: 0

+ 2 - 2
jeecg-boot-report/src/main/resources/application.yml

@@ -1,11 +1,11 @@
 server:
   port: 7005
   servlet:
-    context-path: /finance
+    context-path: /reportModule
 
 spring:
   application:
-    name: jeecg-cloud-finance
+    name: jeecg-cloud-report
   profiles:
     active: @activatedProperties@
   main: