zyp 3 days ago
parent
commit
54a074095b

+ 209 - 43
fs-company-app/src/main/java/com/fs/app/controller/CommonController.java

@@ -1,65 +1,231 @@
 package com.fs.app.controller;
 
 
-
-import cn.hutool.core.util.IdUtil;
-import cn.hutool.core.util.XmlUtil;
-import cn.hutool.json.JSONUtil;
-import com.baidubce.appbuilder.model.agentbuilder.AgentBuilderResult;
-import com.fs.ai.service.IBaiduAIService;
+import cn.jiguang.common.resp.APIConnectionException;
+import cn.jiguang.common.resp.APIRequestException;
+import com.fs.app.annotation.Login;
+import com.fs.app.utils.CityTreeUtil;
 import com.fs.app.utils.JwtUtils;
+import com.fs.app.vo.CityVO;
+import com.fs.common.config.FSConfig;
 
-import com.fs.chat.config.QwConfig;
-import com.fs.chat.config.WxConfig;
-import com.fs.chat.domain.*;
-import com.fs.chat.service.*;
-import com.fs.common.core.redis.RedisCache;
-import com.fs.company.domain.CompanyConfig;
-import com.fs.company.service.ICompanyConfigService;
-import com.fs.his.service.*;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.domain.R;
+import com.fs.common.exception.file.OssException;
+import com.fs.common.utils.StringUtils;
+import com.fs.common.utils.file.FileUploadUtils;
+import com.fs.company.domain.CompanyUser;
+import com.fs.company.service.ICompanySmsLogsService;
+import com.fs.company.service.ICompanyUserService;
+import com.fs.company.service.ICompanyVoiceLogsService;
+import com.fs.core.config.ServerConfig;
+import com.fs.crm.service.*;
+import com.fs.his.domain.FsCity;
+import com.fs.his.service.IFsAppVersionService;
+import com.fs.his.service.IFsCityService;
+import com.fs.jpush.service.JpushService;
 
-import com.fs.his.utils.ConfigUtil;
+import com.fs.system.oss.CloudStorageService;
+import com.fs.system.oss.OSSFactory;
 import com.fs.system.service.ISysConfigService;
 import com.fs.system.service.ISysDictDataService;
-import com.fs.voice.utils.StringUtil;
-import com.fs.wx.kf.dto.*;
-import com.fs.wx.kf.service.IWeixinKfService;
-import com.fs.wx.kf.vo.WeixinKfMsgItemVO;
-import com.fs.wx.kf.vo.WeixinKfMsgVO;
-import com.fs.wx.kf.vo.WeixinKfUserItemVO;
-import com.fs.wx.kf.vo.WeixinKfUserVO;
-import com.google.code.kaptcha.Producer;
-import com.qq.weixin.mp.aes.AesException;
-import com.qq.weixin.mp.aes.WXBizMsgCrypt;
+import com.fs.system.vo.DictVO;
+import com.fs.voice.service.IVoiceService;
+import com.google.common.collect.Lists;
 import io.swagger.annotations.Api;
-import org.apache.commons.lang3.StringUtils;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.web.bind.annotation.*;
-import org.w3c.dom.Element;
+import org.springframework.web.multipart.MultipartFile;
 
-import javax.annotation.Resource;
-import java.util.ArrayList;
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
 import java.util.List;
-import java.util.concurrent.TimeUnit;
-import java.util.logging.Logger;
-import java.util.stream.Collectors;
-
-import static com.fs.common.constant.FsConstants.REDIS_CHAT_NEXTCURSOR;
-import static com.fs.common.constant.FsConstants.REDIS_CHAT_SESSION;
+import java.util.Map;
 
 
 @Api("公共接口")
 @RestController
 @RequestMapping(value="/app/common")
-public class CommonController {
-
-    @Autowired
+public class CommonController extends AppBaseController {
+	@Autowired
     JwtUtils jwtUtils;
-    @Autowired
-    private ISysDictDataService dictDataService;
-    @Autowired
-    ConfigUtil configUtil;
+	@Autowired
+	private ServerConfig serverConfig;
+	@Autowired
+	private ISysDictDataService dictDataService;
+
+	@Autowired
+	ICrmCustomerUserService crmCustomerUserService;
+	@Autowired
+	ICrmCustomerService crmCustomerService;
+
+	@Autowired
+	private ICrmMsgService msgService;
+
+	@Autowired
+	private ISysConfigService configService;
+
+	@Autowired
+	private ICrmEventService eventService;
+
+	@Autowired
+	private IVoiceService voiceService;
+
+	@Autowired
+	ICompanyUserService userService;
+	@Autowired
+	private IFsAppVersionService fsAppVersionService;
+	@Autowired
+	private IFsCityService fsCityService;
+	@Autowired
+	private JpushService jpushService;
+
+	@Autowired
+	private ICrmCustomerHisOrderService crmCustomerHisOrderService;
+
+
+
+	@Autowired
+	private ICompanySmsLogsService smsLogsService;
+
+	@Autowired
+	private ICompanyVoiceLogsService voiceLogsService;
+
+	@Autowired
+	private ICompanyUserService companyUserService;
+
+	@Autowired
+	private ICrmCustomerContactsService crmCustomerContactsService;
+
+	public static final Logger LOGGER = LoggerFactory.getLogger(CommonController.class);
+
+
+	@ApiOperation("获取城市数据")
+	@GetMapping("/getCitys")
+	@Cacheable("cityData")
+	public R getCitys(){
+		List<FsCity> list=fsCityService.selectFsCityList(new FsCity());
+		List<CityVO> cityVOS = Lists.newArrayList();
+		for (FsCity city : list){
+			CityVO cityVO = new CityVO();
+			cityVO.setV(city.getCityId());
+			cityVO.setN(city.getCityName());
+			cityVO.setPid(city.getParentId());
+			cityVOS.add(cityVO);
+		}
+		return R.ok().put("data", CityTreeUtil.list2TreeConverter(cityVOS, "0"));
+
+	}
+
+	/**
+	 * 通用上传请求
+	 */
+	@ApiOperation("上传")
+	@PostMapping("/upload")
+	public R uploadFile(MultipartFile file) throws Exception
+	{
+		try
+		{
+			// 上传文件路径
+			String filePath = FSConfig.getUploadPath();
+			// 上传并返回新文件名称
+			String fileName = FileUploadUtils.upload(filePath, file);
+			String url = serverConfig.getUrl() + fileName;
+			AjaxResult ajax = AjaxResult.success();
+			ajax.put("fileName", fileName);
+			ajax.put("url", url);
+			return R.ok().put("fileName",fileName).put("url",url);
+		}
+		catch (Exception e)
+		{
+			return R.error(e.getMessage());
+		}
+	}
+
+
+	@ApiOperation("获取数据字典")
+	@GetMapping("/getDicts")
+//	@Cacheable(value= "dicts")
+	public R getDicts(
+	){
+		return R.ok();
+
+
+	}
+	@ApiOperation("获取数据字典")
+	@GetMapping("/getDictByKey")
+	public R getDictByKey(@ApiParam(required = false, name = "key", value = "key") @RequestParam(value = "key", required = false) String key){
+		List<DictVO> dictVOS=dictDataService.selectDictDataListByType(key);
+		return R.ok().put("data",dictVOS);
+	}
+
+	@Login
+	@ApiOperation("推送测试")
+	@GetMapping(value = "/pushText")
+	public R pushText()
+	{
+		CompanyUser companyUser=userService.selectCompanyUserById(Long.parseLong(getUserId()));
+		if(StringUtils.isEmpty(companyUser.getJpushId())){
+			return R.error("推送ID不存在");
+		}
+		Map<String, String> extrasMap=new HashMap<>();
+		extrasMap.put("customerId","1111");
+		extrasMap.put("type","1");
+		try {
+			jpushService.sendRegisterIdPush("客户消息","您有一个客户消息",extrasMap,companyUser.getJpushId());
+		} catch (APIConnectionException e) {
+			e.printStackTrace();
+			return R.error(e.getMessage());
+		} catch (APIRequestException e) {
+			e.printStackTrace();
+			return R.error(e.getMessage());
+		}
+		return R.ok();
+	}
+
+	@ApiOperation("获取系统配置")
+	@GetMapping(value = "/getConfig")
+	public R getConfig()
+	{
+		String sysConfig=configService.selectConfigByKey("sys:config");
+		return R.ok().put("sysConfig",sysConfig);
+	}
+	@ApiOperation("获取选择员工")
+	@GetMapping("/getSelectUserList")
+	public R getSelectUserList(HttpServletRequest request,
+	@ApiParam(required = false, name = "nickName", value = "nickName") @RequestParam(value = "nickName", required = false) String nickName
+	)
+	{
+		CompanyUser map=new CompanyUser();
+		map.setNickName(nickName);
+		map.setCompanyId(getCompanyId());
+		map.setIsDel(0);
+		map.setStatus("0");
+		List<CompanyUser> list = userService.selectCompanyUserList(map);
+		return R.ok().put("data",list);
+	}
+
+	@ApiOperation("上传")
+	@PostMapping("uploadOSS")
+	public R uploadOSS(@RequestParam("file") MultipartFile file) throws Exception
+	{
+
+		if (file.isEmpty())
+		{
+			throw new OssException("上传文件不能为空");
+		}
+		// 上传文件
+		String fileName = file.getOriginalFilename();
+		String suffix = fileName.substring(fileName.lastIndexOf("."));
+		CloudStorageService storage = OSSFactory.build();
+		String url = storage.uploadSuffix(file.getBytes(), suffix);
+		return R.ok().put("url",url);
+	}
 
 
 

+ 1 - 2
fs-company-app/src/main/resources/application.yml

@@ -5,5 +5,4 @@ server:
 # Spring配置
 spring:
   profiles:
-    active: dev
-#    active: druid-sxjz
+    active: druid-fcky-test

+ 9 - 2
fs-service/src/main/java/com/fs/company/mapper/CompanyUserMapper.java

@@ -93,14 +93,18 @@ public interface CompanyUserMapper
 
     List<CompanyUser> selectAllUsersList(CompanyUser user);
     @Select({"<script> " +
-            "select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,u.open_id,u.id_card, d.dept_name, d.leader from company_user u\n" +
+            "select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,u.open_id,u.id_card, d.dept_name, d.leader, u.is_audit,\n" +
+            "               cr.role_id, cr.role_name\n" +
+            "        from company_user u\n" +
+            "        left join company_user_role cur on cur.user_id = u.user_id\n" +
+            "        left join company_role cr on cr.role_id = cur.role_id\n" +
             "        left join company_dept d on u.dept_id = d.dept_id\n" +
             "        where u.del_flag = '0' and u.status=0\n" +
             "        <if test=\"companyId != null  \">\n" +
             "            AND u.company_id = #{companyId}\n" +
             "        </if>\n" +
             "        <if test=\"nickName != null and nickName != ''\">\n" +
-            "            AND u.nick_name like concat(#{nickName}, '%')\n" +
+            "            AND u.nick_name like concat('%', #{nickName}, '%')\n" +
             "        </if>\n" +
             "        <if test=\"phonenumber != null and phonenumber != ''\">\n" +
             "            AND u.phonenumber like concat('%', #{phonenumber}, '%')\n" +
@@ -113,6 +117,9 @@ public interface CompanyUserMapper
             "        </if>\n" +
             "        <if test=\"deptId != null and deptId != 0\">\n" +
             "            AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM company_dept t WHERE find_in_set(#{deptId}, ancestors) ))\n" +
+            "        </if>\n" +
+            "        <if test=\"isAudit != null\">\n" +
+            "            AND u.is_audit = #{isAudit}\n" +
             "        </if>"+
             "</script>"})
     List<CompanyUserVO> selectMyUserList(CompanyUser user);

+ 1 - 1
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseServiceImpl.java

@@ -488,7 +488,7 @@ public class FsUserCourseServiceImpl implements IFsUserCourseService
 
     @Override
     public R createCourseSortLink(FsCourseLinkCreateParam param) {
-        String json = configService.selectConfigByKey("h5.course.config");
+        String json = configService.selectConfigByKey("course.config");
         CourseConfig config = JSONUtil.toBean(json, CourseConfig.class);
 
         //新增链接表信息

+ 1 - 1
fs-service/src/main/resources/mapper/company/CompanyTagUserMapper.xml

@@ -105,7 +105,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectUserListByMap" resultType="com.fs.company.vo.CompanyTagUserVO">
         select
             fu.user_id,
-            fu.nickname as userName
+            fu.nick_name as userName
         from company_tag_user ctu
         inner join fs_user fu on fu.user_id = ctu.user_id
         where ctu.company_id = #{params.companyId} and

+ 1 - 1
fs-service/src/main/resources/mapper/course/FsCourseWatchCommentMapper.xml

@@ -60,7 +60,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="videoId != null "> and fs_course_watch_comment.video_id = #{videoId}</if>
             <if test="nickName != null and nickName != '' ">and fs_user.nick_name like concat('%', #{nickName}, '%')</if>
             <if test="isAll != null and isAll == true and keywords != null and keywords !='' ">
-                AND (fs_user.nickname LIKE concat('%',#{keywords},'%')
+                AND (fs_user.nick_name LIKE concat('%',#{keywords},'%')
                 or  fs_user_course.course_name LIKE concat('%',#{keywords},'%')
                 or  fs_user_course_video.title LIKE concat('%',#{keywords},'%')
                 )

+ 3 - 3
fs-service/src/main/resources/mapper/course/FsUserCourseMapper.xml

@@ -96,7 +96,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select
         fu.user_id,
         fucv.video_id,
-        fu.nickname as nickName,
+        fu.nick_name as nickName,
         fu.username as userName,
         fu.avatar,
         fu.phone as phoneNumber,
@@ -109,7 +109,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="params.keyword != null and params.keyword != ''">
             and (
             fu.user_id = #{params.keyword}
-            or fu.nickname like concat('%', #{params.keyword}, '%')
+            or fu.nick_name like concat('%', #{params.keyword}, '%')
             or fu.username like concat('%', #{params.keyword}, '%')
             or fu.phone = #{params.keyword}
             )
@@ -132,7 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 and fcwl.log_type = 3
             </otherwise>
         </choose>
-        group by fu.user_id, fucv.video_id, fu.nickname, fu.username, fu.avatar, fu.phone, fu.create_time
+        group by fu.user_id, fucv.video_id, fu.nick_name, fu.username, fu.avatar, fu.phone, fu.create_time
     </select>
 
 

+ 7 - 7
fs-service/src/main/resources/mapper/his/FsUserMapper.xml

@@ -226,7 +226,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             </otherwise>
         </choose>
         <if test="keyword != null and keyword !='' ">
-            AND (fs_user.nickname LIKE concat('%',#{keyword},'%')
+            AND (fs_user.nick_name LIKE concat('%',#{keyword},'%')
             or  fs_user.phone LIKE concat('%',#{keyword},'%')
             )
         </if>
@@ -288,7 +288,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                     fs_user.create_time desc
                 </when>
                 <when test = "continueMissCourseSort == 1">
-                    fs_user.nickname asc
+                    fs_user.nick_name asc
                 </when>
             </choose>
         </if>
@@ -296,7 +296,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectFsUserPageListNew" resultType="com.fs.store.vo.h5.FsUserPageListVO">
         SELECT
         fs_user.user_id,
-        fs_user.nickname,
+        fs_user.nick_name,
         fs_user.avatar,
         fs_user.phone,
         fs_user.status,
@@ -321,7 +321,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 </foreach>
             </if>
             <if test="nickname != null and nickname != ''">
-                AND fs_user.nickname like concat(#{nickname},'%')
+                AND fs_user.nick_name like concat(#{nickname},'%')
             </if>
             <if test="phone != null and phone != ''">
                 AND fs_user.phone = #{phone}
@@ -349,7 +349,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 </foreach>
             </if>
             <if test="nickname != null and nickname!=''">
-                AND fs_user.nickname like concat(#{nickname},'%')
+                AND fs_user.nick_name like concat(#{nickname},'%')
             </if>
             <if test="phone != null and phone!=''">
                 AND fs_user.phone = #{phone}
@@ -528,11 +528,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectUserListByMap" resultType="com.fs.his.vo.OptionsVO">
         select
         u.user_id dictValue,
-        u.nickname dictLabel
+        u.nick_name dictLabel
         from fs_user u
         <where>
             <if test="params.nickName != null and params.nickName != ''">
-                u.nickname like concat('%', #{params.nickName}, '%')
+                u.nick_name like concat('%', #{params.nickName}, '%')
             </if>
         </where>
     </select>

+ 1 - 1
fs-service/src/main/resources/mapper/statis/FsStatsMemberDailyMapper.xml

@@ -14,7 +14,7 @@
         select
             #{date}					    as stat_date,
             u.user_id				    as user_id,
-            u.nickname				    as nick_name,
+            u.nick_name				    as nick_name,
             u.real_name				    as real_name,
             u.phone					    as phone,
             concat_ws(',', t.tag) 	    as tag,