Procházet zdrojové kódy

修复数据库字符集问题

LeoN před 5 roky
rodič
revize
5ca6f7a153

+ 11 - 2
src/main/java/com/mokamrp/privates/controller/CorpController.java

@@ -5,8 +5,11 @@ import com.mokamrp.privates.constant.HttpStatus;
 import com.mokamrp.privates.entity.CorpIndexHandle;
 import com.mokamrp.privates.entity.PostCorpWxLoginHandle;
 import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.interceptor.AuthUser;
 import com.mokamrp.privates.mapper.pojo.Corp;
+import com.mokamrp.privates.mapper.pojo.User;
 import com.mokamrp.privates.service.CorpService;
+import com.mokamrp.privates.service.UserCorpService;
 import com.mokamrp.privates.utils.StringUtils;
 import com.mokamrp.privates.utils.http.HttpUtils;
 import com.xxl.sso.core.conf.Conf;
@@ -35,6 +38,9 @@ public class CorpController extends BaseController<Corp>{
     @Autowired
     public CorpService corpService;
 
+    @Autowired
+    public UserCorpService userCorpService;
+
     /**
      * 查询企业列表
      * @param corpIndexHandle
@@ -42,11 +48,14 @@ public class CorpController extends BaseController<Corp>{
      * @return
      */
     @PostMapping("/indexMake")
-    public Object indexMake(@Valid @RequestBody CorpIndexHandle corpIndexHandle, BindingResult bindingResult){
+    public Object indexMake(@Valid @RequestBody CorpIndexHandle corpIndexHandle, @AuthUser User authUser, BindingResult bindingResult){
         if (bindingResult.hasErrors()) {
             return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
         }
-        Object res = corpService.selectCorpList(corpIndexHandle);
+        if (authUser.getIsSuperAdmin() != 1){
+            corpIndexHandle.setUserId(authUser.getId());
+        }
+        Map<String,Object> res = corpService.selectCorpList(corpIndexHandle);
         return AjaxResult.success(res);
     }
 

+ 1 - 1
src/main/java/com/mokamrp/privates/mapper/CorpMapper.java

@@ -18,5 +18,5 @@ import java.util.List;
  */
 @Component
 public interface CorpMapper extends BaseMapper<Corp> {
-    public List<Corp> selectCorpList(IPage<Corp> page, @Param("userId") Integer userId, @Param("corpName") String corpName);
+    public List<Corp> selectCorpList( @Param("userId") Integer userId, @Param("corpName") String corpName);
 }

+ 3 - 8
src/main/java/com/mokamrp/privates/mapper/CorpMapper.xml

@@ -32,14 +32,9 @@
     </sql>
 
     <select id="selectCorpList" resultType="com.mokamrp.privates.mapper.pojo.Corp">
-        SELECT A.* FROM mc_corp AS A
-        <if test="userId != null">
-            RIGHT JOIN private_user_corp AS B ON B.corp_id = A.id
-        </if>
-        <where>
-            <if test="userId != null">and B.user_id = #{userId} </if>
-            <if test="corpName != null">and A.name like CONCAT('%',#{corpName},'%')</if>
-        </where>
+        SELECT * FROM mc_corp
+
+           where name = #{corpName}
 
     </select>
 

+ 3 - 1
src/main/java/com/mokamrp/privates/mapper/pojo/Corp.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -16,8 +17,9 @@ import java.util.Date;
  * @author leon
  * @since 2021-04-19
  */
+@Data
 @TableName("mc_corp")
-public class Corp extends Model<Corp> {
+public class Corp  extends Model<Corp>{
 
     private static final long serialVersionUID = 1L;
 

+ 2 - 1
src/main/java/com/mokamrp/privates/service/CorpService.java

@@ -5,6 +5,7 @@ import com.mokamrp.privates.entity.CorpIndexHandle;
 import com.mokamrp.privates.mapper.pojo.Corp;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -23,5 +24,5 @@ public interface CorpService extends IService<Corp> {
     public List<Corp> getCorpInfoByCorpIds(List<Integer> corps);
 
 
-    public Object selectCorpList(CorpIndexHandle corpIndexHandle);
+    public Map<String,Object> selectCorpList(CorpIndexHandle corpIndexHandle);
 }

+ 7 - 0
src/main/java/com/mokamrp/privates/service/UserCorpService.java

@@ -6,6 +6,7 @@ import com.mokamrp.privates.mapper.pojo.User;
 import com.mokamrp.privates.mapper.pojo.UserCorp;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -22,9 +23,15 @@ public interface UserCorpService extends IService<UserCorp> {
     //. 获取指定管理账户管辖的企业信息
     public List<Corp> getCorpsByUserId(Integer userId);
 
+    //. 获取指定管理账户管辖的企业信息 支持分页
+    public Map<String,Object> getCorpsInPageByUserId(Integer userId, Integer page, Integer pageSize);
+
     //. 获取所有企业信息
     public List<Corp> getAllCorps();
 
+    //. 获取所有企业信息 支持分页
+    public Map<String, Object> getAllCorpsInPage(Integer page, Integer pageSize);
+
     //. 获取用户管理的企业ID
     public List<Integer> getAuthUserCorpIds(String userId);
 

+ 3 - 3
src/main/java/com/mokamrp/privates/service/impl/CorpServiceImpl.java

@@ -39,11 +39,11 @@ public class CorpServiceImpl extends ServiceImpl<CorpMapper, Corp> implements Co
         return res;
     }
 
-    public Object selectCorpList(CorpIndexHandle corpIndexHandle){
+    public Map<String,Object> selectCorpList(CorpIndexHandle corpIndexHandle){
         Integer page = corpIndexHandle.getPage();
         Integer pagesize = corpIndexHandle.getPageSize();
-        Page<Corp> pageObj = new Page<>(page, pagesize);
-        List<Corp> res = corpMapper.selectCorpList(pageObj,corpIndexHandle.getUserId(),corpIndexHandle.getCorpName());
+        Page<Corp> pageObj = new Page<Corp>(page, pagesize);
+        List<Corp> res = corpMapper.selectCorpList(corpIndexHandle.getUserId(),corpIndexHandle.getCorpName());
         Map<String, Object> resMap = new HashMap<String, Object>();
         resMap.put("list", res);
         resMap.put("total", pageObj.getTotal());

+ 42 - 2
src/main/java/com/mokamrp/privates/service/impl/UserCorpServiceImpl.java

@@ -1,6 +1,7 @@
 package com.mokamrp.privates.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mokamrp.privates.mapper.UserCorpMapper;
 import com.mokamrp.privates.mapper.pojo.Corp;
@@ -12,7 +13,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -33,7 +36,6 @@ public class UserCorpServiceImpl extends ServiceImpl<UserCorpMapper, UserCorp> i
 
     /**
      * 获取指定管理账户管辖的企业信息
-     *
      * @param userId
      * @return
      */
@@ -48,8 +50,27 @@ public class UserCorpServiceImpl extends ServiceImpl<UserCorpMapper, UserCorp> i
     }
 
     /**
+     * 获取指定管理账户管辖的企业信息 支持分页
+     * @param userId
+     * @param page
+     * @param pageSize
+     * @return
+     */
+    public Map<String,Object> getCorpsInPageByUserId(Integer userId, Integer page, Integer pageSize){
+        List<Integer> corpIds = new ArrayList<Integer>();
+        Page<UserCorp> pageObj = this.page(new Page<UserCorp>(page,pageSize),new QueryWrapper<UserCorp>().eq("user_id", userId));
+        List<UserCorp> corps = pageObj.getRecords();
+        for (UserCorp userCorp : corps) {
+            corpIds.add(userCorp.getCorpId());
+        }
+        Map<String,Object> res = new HashMap<>();
+        res.put("list",corpService.getCorpInfoByCorpIds(corpIds));
+        res.put("total",pageObj.getTotal());
+        return res;
+    }
+
+    /**
      * 获取所有企业信息
-     *
      * @return
      */
     public List<Corp> getAllCorps() {
@@ -62,6 +83,25 @@ public class UserCorpServiceImpl extends ServiceImpl<UserCorpMapper, UserCorp> i
         return res;
     }
 
+    /**
+     * 获取所有企业信息 支持分页
+     * @param page
+     * @param pageSize
+     * @return
+     */
+    public Map<String, Object> getAllCorpsInPage(Integer page, Integer pageSize){
+        List<Integer> corpIds = new ArrayList<Integer>();
+        Page<UserCorp> pageObj = this.page(new Page<>(page,pageSize));
+        List<UserCorp> corps = pageObj.getRecords();
+        for (UserCorp userCorp : corps) {
+            corpIds.add(userCorp.getCorpId());
+        }
+        Map<String,Object> res = new HashMap<>();
+        res.put("list",corpService.getCorpInfoByCorpIds(corpIds));
+        res.put("total",pageObj.getTotal());
+        return res;
+    }
+
 
     /**
      * 获取指定管理账户管辖的企业ID

+ 1 - 1
src/main/resources/application-local.properties

@@ -1,7 +1,7 @@
 server.port=8085
 
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.url=jdbc:mysql://172.18.71.27:3306/mochat?serverTimezone=GMT%2b8
+spring.datasource.url=jdbc:mysql://172.18.71.27:3306/mochat?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=UTF-8
 spring.datasource.username=typer
 spring.datasource.password=jch9sh_shl
 spring.datasource.max-idle=10

+ 1 - 1
src/main/resources/application-prod.properties

@@ -1,7 +1,7 @@
 server.port=8085
 
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.url=jdbc:mysql://rm-uf6s9smcl373jjenc35930.mysql.rds.aliyuncs.com:3306/mochat?serverTimezone=GMT%2b8
+spring.datasource.url=jdbc:mysql://rm-uf6s9smcl373jjenc35930.mysql.rds.aliyuncs.com:3306/mochat?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=UTF-8
 spring.datasource.username=mochat
 spring.datasource.password=MoChat666$%MOchaT
 spring.datasource.max-idle=10

+ 1 - 1
src/main/resources/application-test.properties

@@ -1,7 +1,7 @@
 server.port=8085
 
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.url=jdbc:mysql://172.18.71.27:3306/mochat?serverTimezone=GMT%2b8
+spring.datasource.url=jdbc:mysql://172.18.71.27:3306/mochat?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=UTF-8
 spring.datasource.username=typer
 spring.datasource.password=jch9sh_shl
 spring.datasource.max-idle=10