Ver Fonte

Merge remote-tracking branch 'origin/V1.1.7' into V1.1.7

yumeng há 4 anos atrás
pai
commit
8329fbe7cf

+ 7 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -351,6 +351,7 @@ public class SysUserController {
     public Result<SysUser> edit(@RequestBody JSONObject jsonObject) {
         Result<SysUser> result = new Result<SysUser>();
         try {
+            //根据id查询用户信息
             SysUser sysUser = sysUserService.getById(jsonObject.getString("id"));
             sysBaseAPI.addLog("编辑用户,id: " + jsonObject.getString("id"), CommonConstant.LOG_TYPE_2, 2);
             if (sysUser == null) {
@@ -358,18 +359,19 @@ public class SysUserController {
             } else {
                 SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
                 user.setUpdateTime(new Date());
+                user.setLeaderName(user.getLeaderName().trim());
                 //String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), sysUser.getSalt());
                 user.setPassword(sysUser.getPassword());
-                String roles = jsonObject.getString("selectedroles");
-                String departs = jsonObject.getString("selecteddeparts");
+                String roles = jsonObject.getString("selectedroles");//用户角色
+                String departs = jsonObject.getString("selecteddeparts");//用户部门
                 if (!Check.isNull(departs)) {
                     SysDepart depart = departService.getById(departs);
                     if (!Check.isNull(depart)) {
                         user.setOrgCode(depart.getOrgCode());
                     }
                 }
-                sysUserService.editUserWithRole(user, roles);
-                sysUserService.editUserWithDepart(user, departs);
+                sysUserService.editUserWithRole(user, roles);//修改角色
+                sysUserService.editUserWithDepart(user, departs);//修改部门
                 sysUserService.updateNullPhoneEmail();
 
                 userCompanyService.addOrUpdateUserWithCompany(user);
@@ -383,7 +385,7 @@ public class SysUserController {
                                 memberQueryWrapper.eq("user_id", user.getId());
                                 ProjectMember updateMember = new ProjectMember();
                                 updateMember.setRoleCode(sysRole.getRoleCode());
-                                memberService.update(updateMember, memberQueryWrapper);
+                                memberService.update(updateMember, memberQueryWrapper);//更新项目人员角色信息
                             }
                         }
                     };

+ 20 - 0
module-common/src/main/java/cn/com/ctop/common/module/entity/SysUserDepart.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.Date;
 
 @Data
 @TableName("sys_user_depart")
@@ -19,6 +20,25 @@ public class SysUserDepart implements Serializable {
 	private String userId;
 	/**部门id*/
 	private String depId;
+
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 创建人id
+	 */
+	private String createUserId;
+
+
+	public SysUserDepart(String id, String userId, String depId, Date createTime, String createUserId) {
+		this.id = id;
+		this.userId = userId;
+		this.depId = depId;
+		this.createTime = createTime;
+		this.createUserId = createUserId;
+	}
+
 	public SysUserDepart(String id, String userId, String depId) {
 		super();
 		this.id = id;

+ 7 - 1
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SysUserMapper.xml

@@ -276,8 +276,10 @@ SELECT
             role.role_code = 'designTeamLeader'
     </select>
 
+    <!-- 查询用户列表-->
     <select id="queryPageList" resultType="cn.com.ctop.common.module.entity.SysUser">
-        SELECT t1.*,t3.depart_name ,role.role_name
+        SELECT t4.* from (
+        SELECT t1.*,t3.depart_name ,role.role_name,t2.create_time AS updTime
         FROM sys_user t1
         LEFT JOIN sys_user_depart t2 ON t1.id = t2.user_id
         LEFT JOIN sys_depart t3 ON t2.dep_id = t3.id
@@ -311,6 +313,10 @@ SELECT
         <if test="sex != null and sex != ''">
             AND t1.sex =#{sex}
         </if>
+        ORDER BY updTime DESC
+        limit 99999
+        ) t4
+        GROUP BY t4.id
     </select>
     <select id="getUserMapByMap" resultType="com.alibaba.fastjson.JSONObject">
         select id,realname from sys_user

+ 7 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/SysUserServiceImpl.java

@@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CacheConstant;
 import org.jeecg.common.constant.CommonConstant;
@@ -372,9 +373,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public void addUserWithDepart(SysUser user, String selectedParts) {
 //		this.save(user);  //保存角色的时候已经添加过一次了
         if (oConvertUtils.isNotEmpty(selectedParts)) {
+            LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
             String[] arr = selectedParts.split(",");
             for (String deaprtId : arr) {
                 SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId);
+                userDeaprt.setCreateUserId(loginUser.getId());
+                userDeaprt.setCreateTime(new Date());//添加创建时间 和 创建人id
                 sysUserDepartMapper.insert(userDeaprt);
             }
         }
@@ -406,11 +410,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 }
             }
         }
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         //先删后加
         sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
         if (oConvertUtils.isNotEmpty(departs)) {
             for (String departId : arr) {
                 SysUserDepart userDepart = new SysUserDepart(user.getId(), departId);
+                userDepart.setCreateUserId(loginUser.getId());
+                userDepart.setCreateTime(new Date());
                 sysUserDepartMapper.insert(userDepart);
             }
         }

+ 3 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouCrowdPackMapper.java

@@ -33,7 +33,9 @@ public interface KuaishouCrowdPackMapper extends BaseMapper<KuaishouCrowdPack> {
 
     void replaceBatch(@Param(value = "list") List<KuaishouCrowdPack> list);
 
-    Long queryProjectCount(@Param(value = "signature") String signature);
+    Integer queryProjectCount(@Param(value = "signature") String signature);
 
     KuaishouCrowdPack queryByAccountId(@Param(value = "accountId") Long accountId,@Param(value = "orientationId") Long orientationId);
+
+    Integer queryAccountCount(@Param(value = "signature") String signature);
 }

+ 15 - 7
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouCrowdPackMapper.xml

@@ -57,8 +57,7 @@
         ELSE ''
         END as 'statusStr',
         IFNULL(t1.signature,'') as 'signature',
-        IFNULL(cover_num,0) as 'coverNum',
-        IFNULL((SELECT COUNT(1) FROM ctop_kuaishou_crowd_package WHERE signature = t1.signature),0) as 'accountCount'
+        IFNULL(cover_num,0) as 'coverNum'
         FROM ctop_kuaishou_crowd_package t1
         LEFT JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
         LEFT JOIN (
@@ -98,7 +97,7 @@
                  INNER JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
                  INNER JOIN ctop_project t3 ON t2.project_id = t3.id
         WHERE t1.signature = #{signature}
-          AND  t1.data_status = 0
+          AND t1.data_status = 0
     </select>
 
     <select id="queryRelAccounts" resultType="com.alibaba.fastjson.JSONObject">
@@ -123,6 +122,7 @@
                          where signature = #{signature}
                          GROUP BY account_id
                      ) t2 ON t1.account_id = t2.account_id
+                     where signature is not NULL
                          AND `status` != 2
                         AND data_status = 1
                         AND t1.account_id is not null
@@ -141,7 +141,7 @@
                           SELECT t2.project_id, t1.account_id
                           FROM ctop_kuaishou_crowd_package t1
                                    INNER JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
-                                   LEFT JOIN(
+                                   INNER JOIN(
                               SELECT project_id, t3.project_name
                               FROM ctop_kuaishou_crowd_package t1
                                        INNER JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
@@ -158,10 +158,10 @@
              (
                  SELECT project_id, COUNT(1) as 'count'
                  FROM (
-                          SELECT t2.project_id, COUNT(1)
+                          SELECT DISTINCT t2.project_id, COUNT(1)
                           FROM ctop_kuaishou_crowd_package t1
                                    INNER JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
-                                   LEFT JOIN(
+                                   INNER JOIN(
                               SELECT project_id, t3.project_name
                               FROM ctop_kuaishou_crowd_package t1
                                        INNER JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
@@ -177,7 +177,7 @@
                  LEFT JOIN ctop_project tt3 ON tt2.project_id = tt3.id
     </select>
 
-    <select id="queryProjectCount" resultType="java.lang.Long">
+    <select id="queryProjectCount" resultType="java.lang.Integer">
         SELECT COUNT(1)
         FROM (SELECT t2.project_id
               FROM ctop_kuaishou_crowd_package t1
@@ -186,6 +186,14 @@
                 AND signature = #{signature}
               GROUP BY project_id) t
     </select>
+    <select id="queryAccountCount" resultType="java.lang.Integer">
+        SELECT COUNT(1)
+        FROM (
+                 SELECT account_id
+                 FROM ctop_kuaishou_crowd_package
+                 WHERE signature = #{signature}
+                 GROUP BY account_id) t
+    </select>
 
     <select id="queryByAccountId" resultType="cn.com.ctop.kuaishou.modules.ai.entity.KuaishouCrowdPack">
         SELECT *

+ 4 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouCrowdPackServiceImpl.java

@@ -65,8 +65,10 @@ public class KuaishouCrowdPackServiceImpl extends ServiceImpl<KuaishouCrowdPackM
         PageHelper.startPage(pageNo, pageSize, false);
         List<JSONObject> list = crowdPackMapper.queryPageList(kuaishouCrowdPack.getStatus(), kuaishouCrowdPack.getAccountName(), kuaishouCrowdPack.getOrientationName());
         for (JSONObject object : list) {
-            Long count = crowdPackMapper.queryProjectCount(object.getString("signature"));
-            object.put("projectCount", Check.isNull(count) ? 0 : count);
+            int count = crowdPackMapper.queryProjectCount(object.getString("signature"));
+            object.put("projectCount", count);
+            int accountCount = crowdPackMapper.queryAccountCount(object.getString("signature"));
+            object.put("accountCount", accountCount);
         }
         PageInfo pageInfo = new PageInfo(list);
         pageInfo.setTotal(total);

+ 7 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IKuaishouAccountBudgetService.java

@@ -1,13 +1,16 @@
 package cn.com.ctop.kuaishou.modules.batch.service;
 
+import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaishouAccountBudget;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
  * 账户日预算
+ *
  * @author jeecg-boot
- * @date   2020-04-26
  * @version V1.0
+ * @date 2020-04-26
  */
 public interface IKuaishouAccountBudgetService extends IService<KuaishouAccountBudget> {
 
@@ -18,6 +21,8 @@ public interface IKuaishouAccountBudgetService extends IService<KuaishouAccountB
      * @param advertiserId
      * @param accessToken
      */
-    void getAccountBudget(Long advertiserId, String accessToken);
+    JSONObject getAccountBudget(CtopOauthToken oauthToken);
+
+    void insertAccountBudget(Long advertiserId, String accessToken);
 
 }

+ 30 - 4
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouAccountBudgetServiceImpl.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.kuaishou.modules.batch.service.impl;
 
 
+import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.HttpUtils;
 import cn.com.ctop.common.module.utils.KuaishouInterfaceConstant;
@@ -10,21 +11,21 @@ import cn.com.ctop.kuaishou.modules.batch.mapper.KuaishouAccountBudgetMapper;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouAccountBudgetService;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
 /**
  * 账户日预算
+ *
  * @author jeecg-boot
- * @date   2020-04-26
  * @version V1.0
+ * @date 2020-04-26
  */
 @Slf4j
 @Service
@@ -37,12 +38,13 @@ public class KuaishouAccountBudgetServiceImpl extends ServiceImpl<KuaishouAccoun
 
     /**
      * 获取账户日预算结果
+     *
      * @param advertiserId
      * @param accessToken
      * @return
      */
     @Override
-    public void getAccountBudget(Long advertiserId, String accessToken) {
+    public void insertAccountBudget(Long advertiserId, String accessToken) {
         try {
             String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.ACCOUNT_BUDGET;
             Map<String, String> headers = new HashMap<>();
@@ -82,4 +84,28 @@ public class KuaishouAccountBudgetServiceImpl extends ServiceImpl<KuaishouAccoun
         }
 
     }
+
+    @Override
+    public JSONObject getAccountBudget(CtopOauthToken oauthToken) {
+        String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.ACCOUNT_BUDGET;
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Access-Token", oauthToken.getAccessToken());
+        headers.put("Content-Type", "application/json");
+        JSONObject json = new JSONObject();
+        json.put("advertiser_id", oauthToken.getAccountId());
+        String result = HttpUtils.kuaiShouhttpPostRequest(url, json.toJSONString(), headers);
+        JSONObject resultJson = JSONObject.parseObject(result);
+        if (!Check.isNull(resultJson)) {
+            Integer code = resultJson.getInteger("code");
+            if (code == 0) {
+                JSONObject dataJson = resultJson.getJSONObject("data");
+                if (!Check.isNull(dataJson)) {
+                    return dataJson;
+                }
+            } else {
+                log.error("获取账户日预算失败,返回信息:{}", resultJson);
+            }
+        }
+        return null;
+    }
 }

+ 9 - 9
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KsVideoReportMapper.xml

@@ -5,15 +5,15 @@
     <select id="getKuaiShouVideoReportByMap" resultType="com.alibaba.fastjson.JSONObject" parameterType="map">
         SELECT
         t1.*,
-        t2.clip_name as clip,
-        t2.plan_name as plan,
-        t2.shot_name as shot,
-        t2.design_team_leader_name as designLeader,
-        t2.video_name as materialName,
-        t2.cover_url as coverUrl,
-        t2.url as url ,
-        t2.channel_name AS channel,
-        t2.state_date as createTime
+        IFNULL(t2.clip_name,'-') as clip,
+        IFNULL(t2.plan_name,'-') as plan,
+        IFNULL(t2.shot_name,'-') as shot,
+        IFNULL(t2.design_team_leader_name,'-') as designLeader,
+        IFNULL(t2.video_name,'-') as materialName,
+        IFNULL(t2.cover_url,'-') as coverUrl,
+        IFNULL(t2.url,'-') as url ,
+        IFNULL(t2.channel_name,'-') AS channel,
+        IFNULL(t2.state_date,'-') as createTime
         FROM
         (select ${filed}
         from ctop_etl_kuaishou_account_material_report_daily t1