提交 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;
import com.mmc.iuav.user.model.qo.BUserAccountQO;
import com.mmc.iuav.user.model.vo.BUserAccountVO;
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.service.BackUserAccountService;
import io.swagger.annotations.*;
......@@ -119,4 +120,30 @@ public class BackUserAccountController extends BaseController {
public ResultBody deleteSuggestion(@RequestParam Integer 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 {
public ResultBody updateAliasImgByUid(@RequestBody AliasAndImgVo 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;
import com.mmc.iuav.user.entity.BackUserSuggestionDO;
import com.mmc.iuav.user.model.vo.BusinessCaseVO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
......@@ -27,4 +28,11 @@ public interface BackUserSuggestionDao {
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 {
*/
CompanyInfoDO getCompanyInfoById(Integer id);
/**
* 根据当前公司id查找到公司加盟的类型标签
* @param id 公司id
* @return {@link Integer}
*/
Integer getCompanyTagId(Integer id);
/**
* 单位数量查询
*
......
......@@ -122,4 +122,6 @@ public interface MessageDao {
Integer getUserMessageNum();
Integer getUserAndUserMessageNum();
List<UserMessageDO> selectMessageByCompanyInfoId(Integer companyInfoId);
}
......@@ -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.vo.BUserAccountVO;
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;
......@@ -108,4 +108,10 @@ public interface BackUserAccountService {
ResultBody getSuggestion(Integer backUserId);
ResultBody deleteSuggestion(Integer id);
ResultBody insertBusinessCase(BusinessCaseVO businessCaseVo);
ResultBody getBusinessCase(Integer backUserId);
ResultBody deleteBusinessCase(Integer backUserId);
}
......@@ -190,4 +190,6 @@ public interface CompanyService {
Integer getCompanyBindUserId(Integer userId1,Integer userId2,Integer backUserId);
ResultBody updateAliasImgByUid(AliasAndImgVo aliasAndImgVo);
ResultBody consultUserMessageNum(Integer companyInfoId);
}
......@@ -19,16 +19,12 @@ import com.mmc.iuav.user.enums.CompanyTypeEnums;
import com.mmc.iuav.user.enums.RoleEnums;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.BUserAccountQO;
import com.mmc.iuav.user.model.vo.BUserAccountVO;
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.model.vo.*;
import com.mmc.iuav.user.service.BackUserAccountService;
import com.mmc.iuav.user.service.CompanyService;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -343,4 +339,29 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
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;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.response.ResultEnum;
import com.mmc.iuav.user.client.PmsClient;
import com.mmc.iuav.user.dao.BackUserAccountDao;
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.dao.*;
import com.mmc.iuav.user.entity.*;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.CompanyInfoQO;
......@@ -23,6 +20,7 @@ import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
......@@ -47,6 +45,9 @@ public class CompanyServiceImpl implements CompanyService {
@Autowired
private CooperationDao cooperationDao;
@Autowired
private MessageDao messageDao;
@Override
public ResultBody addCompanyInfo(CompanyInfoVO companyInfo) {
int count = companyDao.countCompanyNames(companyInfo.getId(), companyInfo.getCompanyName());
......@@ -93,6 +94,8 @@ public class CompanyServiceImpl implements CompanyService {
@Override
public ResultBody<CompanyInfoVO> getCompanyInfoById(Integer id) {
CompanyInfoDO companyInfoDO = companyDao.getCompanyInfoById(id);
//根据公司id查找到当前加盟公司的标签
Integer companyTagId = companyDao.getCompanyTagId(id);
if (companyInfoDO != null) {
CompanyInfoVO companyInfoVO = companyInfoDO.buildCompanyInfoVO();
// 设置手机号
......@@ -106,6 +109,7 @@ public class CompanyServiceImpl implements CompanyService {
companyInfoVO.setBackUserId(backUserAccountId);
}
}
companyInfoVO.setCooperationTagId(companyTagId);
return ResultBody.success(companyInfoVO);
}
return ResultBody.success();
......@@ -380,4 +384,25 @@ public class CompanyServiceImpl implements CompanyService {
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 @@
from back_user_suggestion
where back_user_id = #{backUserId}
</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 from back_user_suggestion
where id = #{id,jdbcType=INTEGER}
</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 into back_user_suggestion
( id
......@@ -60,6 +71,10 @@
<if test="backUserId != null">#{backUserId,jdbcType=INTEGER},</if>
</trim>
</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 back_user_suggestion
<set>
......@@ -90,4 +105,10 @@
back_user_id = #{backUserId,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateBusinessCase">
update back_user_suggestion
set business_description = #{businessDescription},
business_video = #{businessVideo}
where id = #{id}
</update>
</mapper>
......@@ -328,4 +328,9 @@
left join company_member cm on cbu.company_info_id = cm.company_info_id
where bua.id = #{backUserId}
</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>
......@@ -212,7 +212,7 @@
INNER JOIN company_info ci ON cm.company_info_id = ci.id
left join contract_info cti on ua.order_no = cti.order_no
WHERE ci.id = #{companyInfoId}
AND ua.is_deleted = 0
AND ua.is_deleted = 0 limit 1
</select>
<select id="getUserApplyTagByContractId" resultType="com.mmc.iuav.user.entity.UserApplyTagDO">
......
......@@ -134,6 +134,14 @@ ORDER BY create_time desc
WHERE DATE (create_time) = CURDATE() AND back_user_id IS NULL ) AS distinct_pairs
</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 into message
<trim prefix="(" suffix=")" suffixOverrides=",">
......
......@@ -18,4 +18,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms
newTag: bd6df2ea696fb755021254c2553041540866ddd0
newTag: 4365f13e1fc245f102d1ef8a935eecc7cc0a464d
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论