提交 661cdbbc 作者: 刘明祎-运维用途

Merge branch 'develop'

流水线 #9202 已通过 于阶段
in 2 分 28 秒
package com.mmc.iuav.user.model.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BusinessCaseVO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "绑定的后台账户")
private Integer backUserId;
@ApiModelProperty(value = "业务案例说明(除了飞手团队其他的)")
private String businessDescription;
@ApiModelProperty(value = "业务案例视频")
private String businessVideo;
}
...@@ -8,6 +8,7 @@ import com.mmc.iuav.user.entity.BackUserSuggestionDO; ...@@ -8,6 +8,7 @@ import com.mmc.iuav.user.entity.BackUserSuggestionDO;
import com.mmc.iuav.user.model.qo.BUserAccountQO; import com.mmc.iuav.user.model.qo.BUserAccountQO;
import com.mmc.iuav.user.model.vo.BUserAccountVO; import com.mmc.iuav.user.model.vo.BUserAccountVO;
import com.mmc.iuav.user.model.vo.BackUserAccountVO; import com.mmc.iuav.user.model.vo.BackUserAccountVO;
import com.mmc.iuav.user.model.vo.BusinessCaseVO;
import com.mmc.iuav.user.model.vo.NewMessageVO; import com.mmc.iuav.user.model.vo.NewMessageVO;
import com.mmc.iuav.user.service.BackUserAccountService; import com.mmc.iuav.user.service.BackUserAccountService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
...@@ -119,4 +120,30 @@ public class BackUserAccountController extends BaseController { ...@@ -119,4 +120,30 @@ public class BackUserAccountController extends BaseController {
public ResultBody deleteSuggestion(@RequestParam Integer id) { public ResultBody deleteSuggestion(@RequestParam Integer id) {
return backUserAccountService.deleteSuggestion(id); return backUserAccountService.deleteSuggestion(id);
} }
@ApiOperation("添加业务案例")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("insertBusinessCase")
public ResultBody insertBusinessCase(@RequestBody BusinessCaseVO businessCaseVo, HttpServletRequest request) {
Integer backUserId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
businessCaseVo.setBackUserId(backUserId);
return backUserAccountService.insertBusinessCase(businessCaseVo);
}
@ApiOperation("查询业务案例通过backUserId")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("getBusinessCase")
public ResultBody getBusinessCase(@RequestParam Integer backUserId) {
return backUserAccountService.getBusinessCase(backUserId);
}
@ApiOperation("删除业务案例通过backUserId")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("deleteBusinessCase")
public ResultBody deleteBusinessCase(@RequestParam Integer id) {
return backUserAccountService.deleteBusinessCase(id);
}
} }
...@@ -163,4 +163,11 @@ public class CompanyController extends BaseController { ...@@ -163,4 +163,11 @@ public class CompanyController extends BaseController {
public ResultBody updateAliasImgByUid(@RequestBody AliasAndImgVo aliasAndImgVo) { public ResultBody updateAliasImgByUid(@RequestBody AliasAndImgVo aliasAndImgVo) {
return companyService.updateAliasImgByUid(aliasAndImgVo); return companyService.updateAliasImgByUid(aliasAndImgVo);
} }
@ApiOperation(value = "统计每周用户咨询客服次数")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@GetMapping("consultUserMessageNum")
public ResultBody consultUserMessageNum(@RequestParam Integer companyInfoId) {
return companyService.consultUserMessageNum(companyInfoId);
}
} }
package com.mmc.iuav.user.dao; package com.mmc.iuav.user.dao;
import com.mmc.iuav.user.entity.BackUserSuggestionDO; import com.mmc.iuav.user.entity.BackUserSuggestionDO;
import com.mmc.iuav.user.model.vo.BusinessCaseVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
...@@ -27,4 +28,11 @@ public interface BackUserSuggestionDao { ...@@ -27,4 +28,11 @@ public interface BackUserSuggestionDao {
int updateByPrimaryKey(BackUserSuggestionDO record); int updateByPrimaryKey(BackUserSuggestionDO record);
void insertBusinessCase(Integer backUserId, String businessDescription, String businessVideo);
List<BusinessCaseVO> selectBusinessCaseByUserId(Integer id);
void deleteBusinessCase(Integer backUserId);
void updateBusinessCase(BusinessCaseVO businessCaseVO);
} }
...@@ -45,6 +45,13 @@ public interface CompanyDao { ...@@ -45,6 +45,13 @@ public interface CompanyDao {
*/ */
CompanyInfoDO getCompanyInfoById(Integer id); CompanyInfoDO getCompanyInfoById(Integer id);
/**
* 根据当前公司id查找到公司加盟的类型标签
* @param id 公司id
* @return {@link Integer}
*/
Integer getCompanyTagId(Integer id);
/** /**
* 单位数量查询 * 单位数量查询
* *
......
...@@ -122,4 +122,6 @@ public interface MessageDao { ...@@ -122,4 +122,6 @@ public interface MessageDao {
Integer getUserMessageNum(); Integer getUserMessageNum();
Integer getUserAndUserMessageNum(); Integer getUserAndUserMessageNum();
List<UserMessageDO> selectMessageByCompanyInfoId(Integer companyInfoId);
} }
...@@ -7,7 +7,7 @@ import com.mmc.iuav.user.model.dto.LoginSuccessDTO; ...@@ -7,7 +7,7 @@ import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.BUserAccountQO; import com.mmc.iuav.user.model.qo.BUserAccountQO;
import com.mmc.iuav.user.model.vo.BUserAccountVO; import com.mmc.iuav.user.model.vo.BUserAccountVO;
import com.mmc.iuav.user.model.vo.BackUserAccountVO; import com.mmc.iuav.user.model.vo.BackUserAccountVO;
import io.swagger.models.auth.In; import com.mmc.iuav.user.model.vo.BusinessCaseVO;
import java.util.List; import java.util.List;
...@@ -108,4 +108,10 @@ public interface BackUserAccountService { ...@@ -108,4 +108,10 @@ public interface BackUserAccountService {
ResultBody getSuggestion(Integer backUserId); ResultBody getSuggestion(Integer backUserId);
ResultBody deleteSuggestion(Integer id); ResultBody deleteSuggestion(Integer id);
ResultBody insertBusinessCase(BusinessCaseVO businessCaseVo);
ResultBody getBusinessCase(Integer backUserId);
ResultBody deleteBusinessCase(Integer backUserId);
} }
...@@ -190,4 +190,6 @@ public interface CompanyService { ...@@ -190,4 +190,6 @@ public interface CompanyService {
Integer getCompanyBindUserId(Integer userId1,Integer userId2,Integer backUserId); Integer getCompanyBindUserId(Integer userId1,Integer userId2,Integer backUserId);
ResultBody updateAliasImgByUid(AliasAndImgVo aliasAndImgVo); ResultBody updateAliasImgByUid(AliasAndImgVo aliasAndImgVo);
ResultBody consultUserMessageNum(Integer companyInfoId);
} }
...@@ -19,16 +19,12 @@ import com.mmc.iuav.user.enums.CompanyTypeEnums; ...@@ -19,16 +19,12 @@ import com.mmc.iuav.user.enums.CompanyTypeEnums;
import com.mmc.iuav.user.enums.RoleEnums; import com.mmc.iuav.user.enums.RoleEnums;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO; import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.BUserAccountQO; import com.mmc.iuav.user.model.qo.BUserAccountQO;
import com.mmc.iuav.user.model.vo.BUserAccountVO; import com.mmc.iuav.user.model.vo.*;
import com.mmc.iuav.user.model.vo.BackUserAccountVO;
import com.mmc.iuav.user.model.vo.CompanyInfoVO;
import com.mmc.iuav.user.model.vo.NewMessageVO;
import com.mmc.iuav.user.service.BackUserAccountService; import com.mmc.iuav.user.service.BackUserAccountService;
import com.mmc.iuav.user.service.CompanyService; import com.mmc.iuav.user.service.CompanyService;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -343,4 +339,29 @@ public class BackUserAccountServiceImpl implements BackUserAccountService { ...@@ -343,4 +339,29 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
return ResultBody.success(); return ResultBody.success();
} }
@Override
public ResultBody insertBusinessCase(BusinessCaseVO businessCaseVo) {
Integer backUserId = businessCaseVo.getBackUserId();
String businessDescription = businessCaseVo.getBusinessDescription();
String businessVideo = businessCaseVo.getBusinessVideo();
if(businessCaseVo.getId() != null) {
backUserSuggestionDao.updateBusinessCase(businessCaseVo);
return ResultBody.success();
}
backUserSuggestionDao.insertBusinessCase(backUserId, businessDescription, businessVideo);
return ResultBody.success();
}
@Override
public ResultBody getBusinessCase(Integer id) {
List<BusinessCaseVO> businessCaseVo = backUserSuggestionDao.selectBusinessCaseByUserId(id);
return ResultBody.success(businessCaseVo);
}
@Override
public ResultBody deleteBusinessCase(Integer id) {
backUserSuggestionDao.deleteBusinessCase(id);
return ResultBody.success();
}
} }
...@@ -4,10 +4,7 @@ import com.mmc.iuav.page.PageResult; ...@@ -4,10 +4,7 @@ import com.mmc.iuav.page.PageResult;
import com.mmc.iuav.response.ResultBody; import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.response.ResultEnum; import com.mmc.iuav.response.ResultEnum;
import com.mmc.iuav.user.client.PmsClient; import com.mmc.iuav.user.client.PmsClient;
import com.mmc.iuav.user.dao.BackUserAccountDao; import com.mmc.iuav.user.dao.*;
import com.mmc.iuav.user.dao.CompanyDao;
import com.mmc.iuav.user.dao.CooperationDao;
import com.mmc.iuav.user.dao.UserServiceDao;
import com.mmc.iuav.user.entity.*; import com.mmc.iuav.user.entity.*;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO; import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.CompanyInfoQO; import com.mmc.iuav.user.model.qo.CompanyInfoQO;
...@@ -23,6 +20,7 @@ import org.springframework.util.CollectionUtils; ...@@ -23,6 +20,7 @@ import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -47,6 +45,9 @@ public class CompanyServiceImpl implements CompanyService { ...@@ -47,6 +45,9 @@ public class CompanyServiceImpl implements CompanyService {
@Autowired @Autowired
private CooperationDao cooperationDao; private CooperationDao cooperationDao;
@Autowired
private MessageDao messageDao;
@Override @Override
public ResultBody addCompanyInfo(CompanyInfoVO companyInfo) { public ResultBody addCompanyInfo(CompanyInfoVO companyInfo) {
int count = companyDao.countCompanyNames(companyInfo.getId(), companyInfo.getCompanyName()); int count = companyDao.countCompanyNames(companyInfo.getId(), companyInfo.getCompanyName());
...@@ -93,6 +94,8 @@ public class CompanyServiceImpl implements CompanyService { ...@@ -93,6 +94,8 @@ public class CompanyServiceImpl implements CompanyService {
@Override @Override
public ResultBody<CompanyInfoVO> getCompanyInfoById(Integer id) { public ResultBody<CompanyInfoVO> getCompanyInfoById(Integer id) {
CompanyInfoDO companyInfoDO = companyDao.getCompanyInfoById(id); CompanyInfoDO companyInfoDO = companyDao.getCompanyInfoById(id);
//根据公司id查找到当前加盟公司的标签
Integer companyTagId = companyDao.getCompanyTagId(id);
if (companyInfoDO != null) { if (companyInfoDO != null) {
CompanyInfoVO companyInfoVO = companyInfoDO.buildCompanyInfoVO(); CompanyInfoVO companyInfoVO = companyInfoDO.buildCompanyInfoVO();
// 设置手机号 // 设置手机号
...@@ -106,6 +109,7 @@ public class CompanyServiceImpl implements CompanyService { ...@@ -106,6 +109,7 @@ public class CompanyServiceImpl implements CompanyService {
companyInfoVO.setBackUserId(backUserAccountId); companyInfoVO.setBackUserId(backUserAccountId);
} }
} }
companyInfoVO.setCooperationTagId(companyTagId);
return ResultBody.success(companyInfoVO); return ResultBody.success(companyInfoVO);
} }
return ResultBody.success(); return ResultBody.success();
...@@ -380,4 +384,25 @@ public class CompanyServiceImpl implements CompanyService { ...@@ -380,4 +384,25 @@ public class CompanyServiceImpl implements CompanyService {
return ResultBody.success(); return ResultBody.success();
} }
@Override
public ResultBody consultUserMessageNum(Integer companyInfoId) {
int count = 0;
List<CompanyMemberDO> companyMemberDOS = companyDao.selectUserAndRoleList(companyInfoId);
if (companyMemberDOS == null || companyMemberDOS.isEmpty()) {
return ResultBody.error("无管理员");
}
//查询公司单位 客服id集合
Set<Integer> userAccountIds = companyMemberDOS.stream().map(CompanyMemberDO::getUserAccountId).collect(Collectors.toSet());
List<UserMessageDO> userMessageDOS = messageDao.selectMessageByCompanyInfoId(companyInfoId);
if (userMessageDOS == null || userMessageDOS.isEmpty()) {
return ResultBody.error("本单位近七天无用户与客服聊天记录");
}
for (UserMessageDO message : userMessageDOS) {
if (userAccountIds.contains(message.getReceiverUserId())) {
count++;
}
}
return ResultBody.success(count);
}
} }
...@@ -29,11 +29,22 @@ ...@@ -29,11 +29,22 @@
from back_user_suggestion from back_user_suggestion
where back_user_id = #{backUserId} where back_user_id = #{backUserId}
</select> </select>
<select id="selectBusinessCaseByUserId" resultType="com.mmc.iuav.user.model.vo.BusinessCaseVO">
select id,back_user_id, business_description, business_video
from back_user_suggestion
where back_user_id = #{backUserId}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from back_user_suggestion delete from back_user_suggestion
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}
</delete> </delete>
<delete id="deleteBusinessCase">
delete
from back_user_suggestion
where id = #{id}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.mmc.iuav.user.entity.BackUserSuggestionDO" useGeneratedKeys="true"> <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.mmc.iuav.user.entity.BackUserSuggestionDO" useGeneratedKeys="true">
insert into back_user_suggestion insert into back_user_suggestion
( id ( id
...@@ -60,6 +71,10 @@ ...@@ -60,6 +71,10 @@
<if test="backUserId != null">#{backUserId,jdbcType=INTEGER},</if> <if test="backUserId != null">#{backUserId,jdbcType=INTEGER},</if>
</trim> </trim>
</insert> </insert>
<insert id="insertBusinessCase">
insert into back_user_suggestion (back_user_id, business_description, business_video)
values (#{backUserId}, #{businessDescription}, #{businessVideo})
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.mmc.iuav.user.entity.BackUserSuggestionDO"> <update id="updateByPrimaryKeySelective" parameterType="com.mmc.iuav.user.entity.BackUserSuggestionDO">
update back_user_suggestion update back_user_suggestion
<set> <set>
...@@ -90,4 +105,10 @@ ...@@ -90,4 +105,10 @@
back_user_id = #{backUserId,jdbcType=INTEGER} back_user_id = #{backUserId,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}
</update> </update>
<update id="updateBusinessCase">
update back_user_suggestion
set business_description = #{businessDescription},
business_video = #{businessVideo}
where id = #{id}
</update>
</mapper> </mapper>
...@@ -328,4 +328,9 @@ ...@@ -328,4 +328,9 @@
left join company_member cm on cbu.company_info_id = cm.company_info_id left join company_member cm on cbu.company_info_id = cm.company_info_id
where bua.id = #{backUserId} where bua.id = #{backUserId}
</select> </select>
<select id="getCompanyTagId" resultType="java.lang.Integer">
select cooperation_tag_id from company_member cm
left join user_tag ut on cm.user_account_id = ut.user_account_id
WHERE cm.is_leader = 1 and cm.company_info_id = #{id} LIMIT 1
</select>
</mapper> </mapper>
...@@ -212,7 +212,7 @@ ...@@ -212,7 +212,7 @@
INNER JOIN company_info ci ON cm.company_info_id = ci.id INNER JOIN company_info ci ON cm.company_info_id = ci.id
left join contract_info cti on ua.order_no = cti.order_no left join contract_info cti on ua.order_no = cti.order_no
WHERE ci.id = #{companyInfoId} WHERE ci.id = #{companyInfoId}
AND ua.is_deleted = 0 AND ua.is_deleted = 0 limit 1
</select> </select>
<select id="getUserApplyTagByContractId" resultType="com.mmc.iuav.user.entity.UserApplyTagDO"> <select id="getUserApplyTagByContractId" resultType="com.mmc.iuav.user.entity.UserApplyTagDO">
......
...@@ -134,6 +134,14 @@ ORDER BY create_time desc ...@@ -134,6 +134,14 @@ ORDER BY create_time desc
WHERE DATE (create_time) = CURDATE() AND back_user_id IS NULL ) AS distinct_pairs WHERE DATE (create_time) = CURDATE() AND back_user_id IS NULL ) AS distinct_pairs
</select> </select>
<select id="selectMessageByCompanyInfoId" resultType="com.mmc.iuav.user.entity.UserMessageDO">
SELECT DISTINCT sender_user_id, receiver_user_id
FROM user_message
WHERE back_user_id = 1
AND create_time &gt;= CURDATE() - INTERVAL 7 DAY
AND create_time &lt; CURDATE();
</select>
<insert id="insertSystemMessage"> <insert id="insertSystemMessage">
insert into message insert into message
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
......
...@@ -18,4 +18,4 @@ patches: ...@@ -18,4 +18,4 @@ patches:
images: images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG - name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms
newTag: bd6df2ea696fb755021254c2553041540866ddd0 newTag: 4365f13e1fc245f102d1ef8a935eecc7cc0a464d
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论