Commit 5f1eab7b authored by 周健威's avatar 周健威

Merge branch 'master' into base-modify

parents e81aae2b 5a8d6353
......@@ -12,6 +12,7 @@ import com.github.wxiaoqi.security.admin.mapper.UserMapper;
import com.github.wxiaoqi.security.admin.vo.AuthorityMenuTree;
import com.github.wxiaoqi.security.admin.vo.GroupUsers;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import io.swagger.models.auth.In;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -106,6 +107,21 @@ public class GroupBiz extends BaseBiz<GroupMapper, Group> {
}
}
/**
* 新增用户修改用户组(角色信息)
* @param userId
* @param groupIds
*/
@CacheClear(pre = "permission")
public void modifyUserGroups(int userId, List<Integer> groupIds) {
mapper.deleteGroupMembersByUserId(userId);
if (!StringUtils.isEmpty(groupIds)) {
for (Integer groupId : groupIds) {
mapper.insertGroupMembersById(groupId, userId);
}
}
}
/**
* 变更群组关联的菜单
*
......
......@@ -9,6 +9,7 @@ import java.util.List;
public interface GroupMapper extends Mapper<Group> {
public void deleteGroupMembersById (@Param("groupId") int groupId);
public void deleteGroupLeadersById (@Param("groupId") int groupId);
public void deleteGroupMembersByUserId (@Param("userId") int userId);
public void insertGroupMembersById (@Param("groupId") int groupId,@Param("userId") int userId);
public void insertGroupLeadersById (@Param("groupId") int groupId,@Param("userId") int userId);
public List<Group> selectMemberGroupByUserId(@Param("userId") int userId);
......
......@@ -12,10 +12,8 @@ import com.github.wxiaoqi.security.admin.vo.MenuTree;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.Query;
import lombok.Data;
......@@ -24,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
......@@ -66,14 +63,22 @@ public class UserController extends CommonBaseController {
//内部类
@Data
public static class AddUserDTO extends User {
public static class UserVO extends User {
List<Integer> dataLimit;
List<Integer> members;
}
@RequestMapping(value = "",method = RequestMethod.POST)
@IgnoreClientToken
public ObjectRestResponse<User> add(@RequestBody AddUserDTO dto){
public ObjectRestResponse<User> add(@RequestBody UserVO vo){
handleDataLimit(vo);
userBiz.insertSelective(vo);
//添加权限关系
groupBiz.modifyUserGroups(vo.getId(), vo.getMembers());
return new ObjectRestResponse();
}
private void handleDataLimit(@RequestBody UserVO dto) {
if(null != dto.getDataLimit()) {
if(dto.getDataLimit().contains(CURRENT_COMPANY)) {
dto.setDataCompany(dto.getCompanyId().toString());
......@@ -85,12 +90,6 @@ public class UserController extends CommonBaseController {
dto.setDataAll(DATA_ALL_TRUE);
}
}
userBiz.insertSelective(dto);
//添加权限关系
for(Integer groupId : dto.getMembers()) {
groupBiz.modifyGroupUsers(groupId, dto.getId().toString(), null);
}
return new ObjectRestResponse();
}
@RequestMapping(value = "/front/info", method = RequestMethod.GET)
......@@ -147,8 +146,11 @@ public class UserController extends CommonBaseController {
@RequestMapping(value = "/{id}",method = RequestMethod.PUT)
@ResponseBody
public ObjectRestResponse<User> update(@RequestBody User entity){
userBiz.updateSelectiveById(entity);
public ObjectRestResponse<User> update(@RequestBody UserVO vo){
handleDataLimit(vo);
userBiz.updateSelectiveById(vo);
//添加权限关系
groupBiz.modifyUserGroups(vo.getId(), vo.getMembers());
return new ObjectRestResponse<User>();
}
@RequestMapping(value = "/{id}",method = RequestMethod.DELETE)
......
......@@ -36,6 +36,11 @@
<delete id="deleteGroupLeadersById">
delete from base_group_leader where group_id = #{groupId}
</delete>
<delete id="deleteGroupMembersByUserId">
delete from base_group_member where user_id = #{userId}
</delete>
<insert id="insertGroupMembersById">
insert into base_group_member (
group_id,user_id
......
......@@ -9,8 +9,10 @@ import com.google.common.collect.Lists;
import com.xinxincaravan.caravan.vehicle.common.RestResponse;
import com.xinxincaravan.caravan.vehicle.constant.RedisKey;
import com.xinxincaravan.caravan.vehicle.entity.BranchCompany;
import com.xinxincaravan.caravan.vehicle.entity.BranchCompanyStockInfo;
import com.xinxincaravan.caravan.vehicle.feign.dto.UserDTO;
import com.xinxincaravan.caravan.vehicle.mapper.BranchCompanyMapper;
import com.xinxincaravan.caravan.vehicle.util.excel.ExcelImport;
import com.xinxincaravan.caravan.vehicle.vo.BranchCompanyVo;
import com.xinxincaravan.caravan.vehicle.vo.PageDataVo;
import lombok.extern.slf4j.Slf4j;
......@@ -28,7 +30,9 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
......@@ -97,7 +101,7 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
if(addrTown!=null) {
criteria.andCondition(" addr_town = '" + addrTown + "'");
}
if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) {
if(userDTO != null && DATA_ALL_FALSE.equals(userDTO.getDataAll())) {
if(StringUtils.isNotBlank(userDTO.getDataZone())) {
criteria.andIn(COMPANY_ZONE_ID, userDTO.dataZone2List());
}
......@@ -178,5 +182,38 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
List<BranchCompany> zoneCompanys = selectByExample(example);
return zoneCompanys;
}
public RestResponse<String> importExcel(MultipartFile multipartfile, HttpServletRequest request){
try {
List<String[]> readExcel = ExcelImport.getExcelData(multipartfile);
if(readExcel.size()<1){
return RestResponse.codeAndMessage(1001,"导入不能没数据!!!");
}
List<BranchCompanyStockInfo> list=new ArrayList<>();
for (int i = 1; i < readExcel.size(); i++) {
String[] str = readExcel.get(i);
BranchCompany branchCompany=new BranchCompany();
branchCompany.setName(str[0]);
branchCompany=mapper.selectOne(branchCompany);
if(branchCompany!=null){
BranchCompany branchCompany1=new BranchCompany();
if(str.length>1){
branchCompany1.setLeader(str[1]);
}
if(str.length>2){
branchCompany1.setLeaderContactInfo(str[2]);
}
if(branchCompany1!=null&&(StringUtils.isNotBlank(branchCompany1.getLeader())||StringUtils.isNotBlank(branchCompany1.getLeaderContactInfo()))){
branchCompany1.setId(branchCompany.getId());
mapper.updateByPrimaryKeySelective(branchCompany1);
}
}
}
}catch (Exception e){
e.printStackTrace();
return RestResponse.codeAndMessage(10001,"网络异常!");
}
return RestResponse.suc();
}
}
......@@ -285,4 +285,8 @@ public class BranchCompanyStockService {
}
return RestResponse.suc();
}
public String getInfoById(Integer id) {
return branchCompanyStockInfoMapper.selectInfoById(id);
}
}
......@@ -11,6 +11,9 @@ import com.xinxincaravan.caravan.vehicle.constant.RedisKey;
import com.xinxincaravan.caravan.vehicle.entity.Campsite;
import com.xinxincaravan.caravan.vehicle.feign.dto.UserDTO;
import com.xinxincaravan.caravan.vehicle.mapper.CampsiteMapper;
import com.xinxincaravan.caravan.vehicle.mapper.ConstantMapper;
import com.xinxincaravan.caravan.vehicle.mapper.SysRegionMapper;
import com.xinxincaravan.caravan.vehicle.util.excel.ExcelImport;
import com.xinxincaravan.caravan.vehicle.vo.CampsiteVo;
import com.xinxincaravan.caravan.vehicle.vo.PageDataVo;
import lombok.extern.slf4j.Slf4j;
......@@ -28,9 +31,12 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
......@@ -53,6 +59,12 @@ public class CampsiteBiz extends BaseBiz<CampsiteMapper, Campsite> {
@Value("${campsitePic.baseUploadPath}")
private String baseUploadPath ;
@Autowired
private SysRegionMapper sysRegionMapper;
@Autowired
private ConstantMapper constantMapper;
/**
* 按主键获取公司
* @param id
......@@ -98,7 +110,7 @@ public class CampsiteBiz extends BaseBiz<CampsiteMapper, Campsite> {
if(addrTown!=null) {
criteria.andCondition(" addr_town = '" + addrTown + "'");
}
if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) {
if(userDTO != null && DATA_ALL_FALSE.equals(userDTO.getDataAll())) {
if(StringUtils.isNotBlank(userDTO.getDataZone())) {
criteria.andIn(COMPANY_ZONE_ID, userDTO.dataZone2List());
}
......@@ -180,4 +192,67 @@ public class CampsiteBiz extends BaseBiz<CampsiteMapper, Campsite> {
return zoneCompanys;
}
public RestResponse<String> importExcel(MultipartFile multipartfile, HttpServletRequest request){
try {
List<String[]> readExcel = ExcelImport.getExcelData(multipartfile);
if(readExcel.size()<1){
return RestResponse.codeAndMessage(1001,"导入不能没数据!!!");
}
Date date=new Date();
List<Campsite> list=new ArrayList<>();
for (int i = 1; i < readExcel.size(); i++) {
String[] str = readExcel.get(i);
Campsite campsite=new Campsite();
String name=str[0];
String status=str[1];
String zone=str[2];
String province = str[3];
String city = str[4];
String town = str[5];
String addr_detail=str[6];
BigDecimal latitude=new BigDecimal(str[7]);
BigDecimal longitude=new BigDecimal(str[8]);
if(str.length>9){
String leader=str[9];
campsite.setLeader(leader);
}
if(str.length>10){
String leader_contact_info=str[10];
campsite.setLeaderContactInfo(leader_contact_info);
}
Integer branch_type=1;
Integer zone_id=constantMapper.getTypebyname(zone,4);
if(zone_id==null){
zone_id=1;
}
Integer addr_province=sysRegionMapper.getNumberV2(province,1);
Integer addr_city=sysRegionMapper.getNumberV2(city,2);
Integer addr_town=sysRegionMapper.getNumberV2(town,3);
campsite.setAddrProvince(addr_province);
campsite.setAddrCity(addr_city);
campsite.setAddrTown(addr_town);
campsite.setAddrDetail(addr_detail);
campsite.setStatus(4);
campsite.setName(name);
campsite.setLatitude(latitude);
campsite.setLongitude(longitude);
campsite.setCreateTime(date);
campsite.setUpdateTime(date);
campsite.setZoneId(zone_id);
campsite.setBranchType(branch_type);
//list.add(campsite);
mapper.insertSelective(campsite);
}
/* if(list.size()>0){
}*/
}catch (Exception e){
e.printStackTrace();
return RestResponse.codeAndMessage(10001,"网络异常!");
}
return RestResponse.suc();
}
}
......@@ -40,4 +40,9 @@ public class BranchCompanyStockInfo {
private String companyPic;
/**
* 详情
*/
private String info;
}
\ No newline at end of file
......@@ -16,4 +16,6 @@ public interface BranchCompanyStockInfoMapper extends Mapper<BranchCompanyStockI
List<Integer> selectAllPrice();
int addCompamyList(@Param("list") List<BranchCompanyStockInfo> list);
String selectInfoById(Integer id);
}
\ No newline at end of file
package com.xinxincaravan.caravan.vehicle.mapper;
import com.xinxincaravan.caravan.vehicle.entity.Constant;
import org.springframework.data.repository.query.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
......@@ -20,4 +21,7 @@ public interface ConstantMapper extends Mapper<Constant> {
* @return
*/
public int insertIgnoreOnDuplicate(Constant constant);
//获取code
public Integer getTypebyname(@Param("name") String name, @Param("type")Integer type);
}
......@@ -15,4 +15,6 @@ public interface SysRegionMapper extends Mapper<SysRegion> {
//获取地区的编号
public Integer getNumber(@Param("name") String name);
//获取地区的编号
public Integer getNumberV2(@Param("name") String name,@Param("type")Integer type);
}
......@@ -22,12 +22,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@RestController
@RequestMapping("/branchCompany")
@Slf4j
@IgnoreClientToken
@IgnoreUserToken
public class BranchCompanyController extends BaseController<BranchCompanyBiz> {
private static Integer MAX_DRIVING_LICENSE_SIZE = 10*1024*1024;//10M
......@@ -41,7 +43,7 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> {
@Autowired
private UserAuthConfig userAuthConfig;
@IgnoreUserToken
@RequestMapping(value ="/page",method = RequestMethod.GET)
public RestResponse<PageDataVo<BranchCompany>> page(@RequestParam Integer page, @RequestParam Integer limit,
@RequestParam(required = false) Integer addrProvince, @RequestParam(required = false) Integer addrCity,
......@@ -52,6 +54,14 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> {
return RestResponse.data(baseBiz.getAll(page,limit,addrProvince, addrCity, addrTown, userDTO));
}
@IgnoreUserToken
@RequestMapping(value = "/allPage", method = RequestMethod.GET)
public RestResponse<PageDataVo<BranchCompany>> allPage(@RequestParam Integer page, @RequestParam Integer limit,
@RequestParam(required = false) Integer addrProvince, @RequestParam(required = false) Integer addrCity,
@RequestParam(required = false) Integer addrTown) {
return RestResponse.data(baseBiz.getAll(page,limit,addrProvince, addrCity, addrTown, null));
}
@RequestMapping(value ="",method = RequestMethod.GET)
public RestResponse<List<BranchCompany>> getAll() {
return RestResponse.data(baseBiz.getAll());
......@@ -93,4 +103,16 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> {
return RestResponse.sucResponse();
}
/**
* 导入
* @param multipartfile
* @param request
* @return
*/
@PostMapping("importExcel")
public RestResponse importExcel(@RequestParam(value = "file") MultipartFile multipartfile,
HttpServletRequest request) {
return baseBiz.importExcel(multipartfile,request);
}
}
......@@ -65,6 +65,15 @@ public class BranchCompanyStockController {
return RestResponse.suc(branchCompanyStockService.selectById(id));
}
@GetMapping("info/{id}")
public RestResponse getInfo(@PathVariable("id") Integer id) {
if (id == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
return RestResponse.suc(branchCompanyStockService.getInfoById(id));
}
/**
* 添加
* @return
......
......@@ -7,6 +7,7 @@ import com.xinxincaravan.caravan.vehicle.biz.CampsiteBiz;
import com.xinxincaravan.caravan.vehicle.common.BaseController;
import com.xinxincaravan.caravan.vehicle.common.RestResponse;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import com.xinxincaravan.caravan.vehicle.entity.BranchCompany;
import com.xinxincaravan.caravan.vehicle.entity.Campsite;
import com.xinxincaravan.caravan.vehicle.feign.UserFeign;
import com.xinxincaravan.caravan.vehicle.feign.dto.UserDTO;
......@@ -17,6 +18,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.xml.ws.http.HTTPBinding;
import java.util.List;
@RestController
......@@ -33,7 +36,6 @@ public class CampsiteController extends BaseController<CampsiteBiz> {
@Autowired
private UserAuthConfig userAuthConfig;
@IgnoreUserToken
@RequestMapping(value ="/page",method = RequestMethod.GET)
public RestResponse<PageDataVo<Campsite>> page(@RequestParam Integer page, @RequestParam Integer limit,
@RequestParam(required = false) Integer addrProvince, @RequestParam(required = false) Integer addrCity,
......@@ -42,6 +44,14 @@ public class CampsiteController extends BaseController<CampsiteBiz> {
return RestResponse.data(baseBiz.getAll(page,limit,addrProvince, addrCity, addrTown, userDTO));
}
@IgnoreUserToken
@RequestMapping(value = "/allPage", method = RequestMethod.GET)
public RestResponse<PageDataVo<Campsite>> allPage(@RequestParam Integer page, @RequestParam Integer limit,
@RequestParam(required = false) Integer addrProvince, @RequestParam(required = false) Integer addrCity,
@RequestParam(required = false) Integer addrTown) {
return RestResponse.data(baseBiz.getAll(page,limit,addrProvince, addrCity, addrTown, null));
}
@RequestMapping(value ="",method = RequestMethod.GET)
public RestResponse<List<Campsite>> getAll() {
return RestResponse.data(baseBiz.getAll());
......@@ -82,5 +92,16 @@ public class CampsiteController extends BaseController<CampsiteBiz> {
baseBiz.del(id);
return RestResponse.sucResponse();
}
/**
* 导入
* @param multipartfile
* @param request
* @return
*/
@PostMapping("importExcel")
public RestResponse importExcel(@RequestParam(value = "file") MultipartFile multipartfile,
HttpServletRequest request) {
return baseBiz.importExcel(multipartfile,request);
}
}
......@@ -36,6 +36,9 @@
<select id="selectAllPrice" resultType="int">
select distinct price from branch_company_stock_info order by price
</select>
<select id="selectInfoById" resultType="String">
select info from branch_company_stock_info where id = #{id}
</select>
<insert id="addCompamyList" parameterType="java.util.List">
insert into branch_company_stock_info (
......
......@@ -18,5 +18,9 @@
insert ignore into constant(type,code,val) values (#{type},#{code},#{val})
</insert>
<select id="getTypebyname" resultType="java.lang.Integer">
select distinct `code` from constant where type=#{type} and val like CONCAT('%',#{name},'%') limit 1
</select>
</mapper>
\ No newline at end of file
......@@ -18,5 +18,8 @@
<select id="getNumber" resultType="Integer">
select `id` from sys_region where name like CONCAT('%',#{name},'%') limit 1
</select>
<select id="getNumberV2" resultType="Integer">
select `id` from sys_region where name like CONCAT('%',#{name},'%') and type=#{type} limit 1
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment