提交 d519a300 作者: zhenjie

Merge branch 'develop'

......@@ -9,10 +9,10 @@ import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月31日 下午8:06:14
* @explain 类说明
*/
* @author 作者 geDuo
* @version 创建时间:2021年8月31日 下午8:06:14
* @explain 类说明
*/
@Builder
@Data
@AllArgsConstructor
......@@ -28,6 +28,6 @@ public class LoginSuccessDTO implements Serializable {
private String userName;
private String nickName;
private CompanyInfoVO companyInfoVO;
// private RoleInfoDTO roleInfo;
private RoleInfoDTO roleInfo;
}
package com.mmc.iuav.user.model.dto;
import com.mmc.iuav.user.model.vo.CompanyAuthVO;
import com.mmc.iuav.user.model.vo.CooperationTagVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
......@@ -23,10 +22,6 @@ public class UserAccountSimpleDTO implements Serializable {
private static final long serialVersionUID = 3451336520607073343L;
@ApiModelProperty(value = "用户id")
private Integer id;
@ApiModelProperty(value = "用户类型")
private Integer accountType;
@ApiModelProperty(value = "用户账号")
private String accountNo;
@ApiModelProperty(value = "用户uid")
private String uid;
@ApiModelProperty(value = "手机号")
......@@ -37,6 +32,8 @@ public class UserAccountSimpleDTO implements Serializable {
private String nickName;
@ApiModelProperty(value = "用户头像")
private String userImg;
@ApiModelProperty(value = "openid")
private String openid;
@ApiModelProperty(value = "用户性别:0未知、1男、2女")
private Integer userSex;
@ApiModelProperty(value = "用户邮箱")
......
package com.mmc.iuav.user.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author LW
* @date 2022/4/22 10:02
* 概要:
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WebsiteRangeDTO implements Serializable {
private String address;
private String name;
private Double lon;
private Double lat;
private Double distance;
}
......@@ -11,7 +11,6 @@ import javax.validation.constraints.NotNull;
/**
* @Author LW
*
* @date 2023/6/27 14:59 概要:
*/
@Data
......@@ -24,6 +23,9 @@ public class ApplyQO {
@ApiModelProperty(value = "申请状态", example = "0")
private Integer applyStatus;
@ApiModelProperty(value = "认证公司名称", example = "科比特")
private String companyName;
@ApiModelProperty(value = "开始时间", example = "2023-01-01 00:00:00")
private String startTime;
......
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;
/**
* @Author LW
* @date 2023/7/15 10:10
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ApplyTagEditVO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "标签id")
private Integer cooperationTagId;
@ApiModelProperty(value = "网点名称")
private String name;
@ApiModelProperty(value = "服务资质")
private String content;
@ApiModelProperty(value = "服务评价分数")
private Integer score;
@ApiModelProperty(value = "地址信息")
private String address;
@ApiModelProperty(value = "纬度")
private Double lat;
@ApiModelProperty(value = "经度")
private Double lon;
}
......@@ -55,18 +55,18 @@ public class BUserAccountVO implements Serializable {
@NotNull(message = "状态不能为空", groups = {Update.class})
private Integer accountStatus;
@ApiModelProperty(value = "角色", example = "1", hidden = true)
//@NotNull(message = "角色不能为空", groups = {Create.class, Update.class})
@ApiModelProperty(value = "角色", example = "1")
@NotNull(message = "角色不能为空", groups = {Create.class, Update.class})
private Integer roleId;
@ApiModelProperty(value = "能控制的用户资源来源",hidden = true)
@ApiModelProperty(value = "能控制的用户资源来源", hidden = true)
private Integer controlSource;
@ApiModelProperty(value = "电子邮箱", example = "220700100213@163.com")
@Email
private String email;
@ApiModelProperty(value = "所属公司ID",example = "0")
@ApiModelProperty(value = "所属公司ID", example = "0")
@NotNull(message = "所属公司不能为空", groups = {Create.class})
private Integer companyId;
......
package com.mmc.iuav.user.model.vo;
import com.mmc.iuav.user.model.dto.RoleInfoDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
......@@ -57,4 +58,6 @@ public class BackUserAccountVO implements Serializable {
private String address;
@ApiModelProperty(value = "单位信息")
private CompanyInfoVO companyInfoVO;
@ApiModelProperty(value = "角色信息")
private RoleInfoDTO roleInfoDTO;
}
package com.mmc.iuav.user.model.vo;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
......@@ -25,14 +24,12 @@ import java.util.List;
public class UserAccountVO implements Serializable {
private static final long serialVersionUID = 7067111726018678883L;
@ApiModelProperty(value = "用户id")
@NotNull(message = "用户id不能为空",groups = {Update.class})
@NotNull(message = "用户id不能为空", groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "用户类型")
private Integer accountType;
@ApiModelProperty(value = "用户uid")
private String uid;
@ApiModelProperty(value = "用户账号")
private String accountNo;
@ApiModelProperty(value = "手机号")
private String phoneNum;
@ApiModelProperty(value = "用户名称")
......
......@@ -59,6 +59,15 @@ public class UserApplyTagVO implements Serializable {
@ApiModelProperty(value = "加盟类型名称")
private String cooperationTagName;
@ApiModelProperty(value = "认证企业名称")
private String companyName;
@ApiModelProperty(value = "审批状态 0:申请中 1:通过 2:驳回")
private Integer approvalStatus;
@ApiModelProperty(value = "服务资质内容")
private String content;
@ApiModelProperty(value = "服务评价⭐⭐⭐⭐⭐")
private Integer score;
}
......@@ -39,8 +39,14 @@ public enum ResultEnum implements BaseErrorInfoInterface {
UPDATE_USER_ACCOUNT_REPEAT("7003", "修改后的账户名已存在"),
ADD_USER_ACCOUNT_NAME_EXISTS("7004", "新增账户名已经存在"),
ROLE_NAME_REPEAT_ERROR("8004", "角色名已存在"),
ROLE_AVL_USER_DELETE_ERROR("8005", "该角色下目前已关联多个用户账号,请先在用户列表中删除角色者账号");
ROLE_AVL_USER_DELETE_ERROR("8005", "该角色下目前已关联多个用户账号,请先在用户列表中删除角色者账号"),
UPDATE_ADMIN_ROLE_MENUS_ERROR("8006", "禁止修改超级管理员角色的权限"),
UPDATE_OWNER_ROLE_MENUS_ERROR("8007", "禁止修改与当前登录账号角色相同的角色权限"),
UPDATE_OWNER_ROLE_ERROR("8008", "禁止修改当前账号的角色"),
UPDATE_ADMIN_ROLE_ERROR("8009", "禁止修改admin账号的角色"),
ONLY_ONE_ADMIN_ERROR("8010", "禁止该账号获取超级管理员角色"),
DELETE_ADMIN_ERROR("8011", "禁止删除超级管理员角色账号"),
DELETE_YOURSELF_ERROR("8011", "禁止删除自己的账号");
/**
* 错误码
......
......@@ -2,6 +2,7 @@ package com.mmc.iuav.user.controller;
import com.mmc.iuav.group.Insert;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.LoginUserQO;
import com.mmc.iuav.user.model.vo.AppUserSucVO;
import com.mmc.iuav.user.model.vo.WxLoginVO;
......@@ -11,8 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* @author: zj
* @Date: 2023/5/15 15:50
......@@ -26,14 +25,14 @@ public class AuthController {
private AuthService authService;
@ApiOperation(value = "小程序登录/注册")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = AppUserSucVO.class) })
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppUserSucVO.class)})
@PostMapping("appletLogin")
public ResultBody appletLogin(@Validated(value = {Insert.class})@RequestBody WxLoginVO wxLoginVO){
public ResultBody appletLogin(@Validated(value = {Insert.class}) @RequestBody WxLoginVO wxLoginVO) {
return authService.appletLogin(wxLoginVO);
}
@ApiOperation(value = "平台账号密码登录")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) })
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = LoginSuccessDTO.class)})
@PostMapping("backEndLogin")
public ResultBody backEndLogin(
@ApiParam(value = "账号登录QO", required = true) @Validated @RequestBody LoginUserQO param) {
......@@ -41,9 +40,9 @@ public class AuthController {
}
@ApiOperation(value = "测试-小程序unionId登录/注册")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = AppUserSucVO.class) })
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppUserSucVO.class)})
@PostMapping("testAppletLogin")
public ResultBody testAppletLogin(@RequestParam String unionId){
public ResultBody testAppletLogin(@RequestParam String unionId) {
return authService.testAppletLogin(unionId);
}
}
......@@ -4,26 +4,17 @@ import com.mmc.iuav.group.Create;
import com.mmc.iuav.group.Update;
import com.mmc.iuav.group.UpdatePassword;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.client.PayClient;
import com.mmc.iuav.user.model.dto.BaseAccountDTO;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.dto.UserAccountSimpleDTO;
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.UserAccountVO;
import com.mmc.iuav.user.service.BackUserAccountService;
import com.mmc.iuav.user.service.UserAccountService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.security.NoSuchAlgorithmException;
import java.util.List;
/**
......@@ -33,7 +24,7 @@ import java.util.List;
@Api(tags = "后台用户相关接口")
@RequestMapping("/back-user/")
@RestController
public class BackUserAccountController extends BaseController{
public class BackUserAccountController extends BaseController {
@Autowired
private BackUserAccountService backUserAccountService;
......@@ -48,15 +39,15 @@ public class BackUserAccountController extends BaseController{
@ApiOperation(value = "账号-修改")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("updateBAccount")
public ResultBody updateBAccount(@Validated(value = {Update.class}) @RequestBody BUserAccountVO bUserAccountVO) {
return backUserAccountService.updateBAccount(bUserAccountVO);
public ResultBody updateBAccount(@Validated(value = {Update.class}) @RequestBody BUserAccountVO bUserAccountVO, HttpServletRequest request) {
return backUserAccountService.updateBAccount(bUserAccountVO, this.getUserLoginInfoFromRedis(request));
}
@ApiOperation(value = "账号-删除")
@ApiOperation(value = "账号-禁用(原删除)")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("removeBAccount")
public ResultBody removeBAccount(@RequestParam Integer userAccountId, HttpServletRequest request) {
return backUserAccountService.removeBAccount(userAccountId);
public ResultBody disableBAccount(@RequestParam Integer userAccountId, HttpServletRequest request) {
return backUserAccountService.disableBAccount(userAccountId, this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
@ApiOperation(value = "账号-列表")
......@@ -76,7 +67,7 @@ public class BackUserAccountController extends BaseController{
@ApiOperation(value = "账号管理-修改密码")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("updatePassword")
public ResultBody updatePassword(@Validated(value = {UpdatePassword.class}) @RequestBody BUserAccountVO account){
public ResultBody updatePassword(@Validated(value = {UpdatePassword.class}) @RequestBody BUserAccountVO account) {
return backUserAccountService.updatePassword(account);
}
......
......@@ -4,15 +4,9 @@ import com.mmc.iuav.group.Insert;
import com.mmc.iuav.group.Update;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.qo.ApplyQO;
import com.mmc.iuav.user.model.vo.CooperationTagVO;
import com.mmc.iuav.user.model.vo.UserApplyTagDetailsVO;
import com.mmc.iuav.user.model.vo.UserApplyTagVO;
import com.mmc.iuav.user.model.vo.UserCooperationTagVO;
import com.mmc.iuav.user.model.vo.*;
import com.mmc.iuav.user.service.CooperationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -27,7 +21,8 @@ import java.util.List;
@RequestMapping("/cooperation/")
@RestController
public class CooperationController extends BaseController {
@Autowired private CooperationService cooperationService;
@Autowired
private CooperationService cooperationService;
@ApiOperation(value = "加盟标签列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CooperationTagVO.class)})
......@@ -61,6 +56,31 @@ public class CooperationController extends BaseController {
return ResultBody.success(cooperationService.listUserApplyTag(applyQO));
}
@ApiOperation(value = "后台-编辑服务商信息")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("editUserApplyTag")
public ResultBody editUserApplyTag(@RequestBody ApplyTagEditVO applyTagEditVO) {
return cooperationService.editUserApplyTag(applyTagEditVO);
}
@ApiOperation(value = "后台-编辑详情信息")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ApplyTagEditVO.class)})
@GetMapping("editUserApplyTagDetails")
public ResultBody editUserApplyTagDetails(@RequestParam Integer id) {
return cooperationService.editUserApplyTagDetails(id);
}
@ApiOperation(value = "服务商网点数据")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("service/bitmap")
public ResultBody listServiceBitmapData(@ApiParam(value = "类型 注:按照渠道标签的id传入即可") @RequestParam Integer type,
@RequestParam Integer pageNo,
@RequestParam Integer pageSize,
@RequestParam Double lon,
@RequestParam Double lat) {
return ResultBody.success(cooperationService.listServiceBitmapData(type, pageNo, pageSize, lon, lat));
}
@ApiOperation(value = "强制删除")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("deleteApplyTag")
......
......@@ -69,7 +69,6 @@ public class RoleController extends BaseController {
return roleService.listRoleMenuInfo(roleId);
}
@ApiOperation(value = "修改角色菜单权限")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("updateRoleMenuInfo")
......
......@@ -105,11 +105,11 @@ public class UserAccountController extends BaseController {
return userAccountService.feignGetUserRcdInfo(userAccountId);
}
@ApiOperation(value = "账号-删除")
@ApiOperation(value = "账号-禁用(原删除)")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("removeAppAccount")
public ResultBody removeAppAccount(@RequestParam Integer userAccountId, HttpServletRequest request) {
return userAccountService.removeAppAccount(userAccountId);
public ResultBody disableAppAccount(@RequestParam Integer userAccountId, HttpServletRequest request) {
return userAccountService.disableAppAccount(userAccountId);
}
}
......@@ -26,29 +26,21 @@ public class WxController extends BaseController {
private WxService wxService;
@ApiOperation(value = "小程序-获取当前用户的小程序推荐码")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = String.class) })
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = String.class)})
@PostMapping("getAppletRcdCode")
public ResultBody getAppletRcdCode(HttpServletRequest request, @ApiParam(value = "小程序路径",example = "pages/welcome/index") @RequestParam String page) {
public ResultBody getAppletRcdCode(HttpServletRequest request, @ApiParam(value = "小程序路径", example = "pages/welcome/index") @RequestParam String page) {
return wxService.getUnLimitedQRCode(page, "currentUserAccountId=" + this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
@ApiOperation(value = "小程序-测试专用")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) })
@PostMapping("testDemo")
public ResultBody testDemo() {
return ResultBody.success("app:" + "wxService.getAccessToken()" + "sub: " + wxService.getSubAccessToken());
}
/**
* https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-link/urllink.generate.html#method-http
* (有效期最长不超过30天)
*
* @param path
* smsCode=SMS00003&scene=7 scene:表示用户用户来源渠道
* @param path smsCode=SMS00003&scene=7 scene:表示用户用户来源渠道
* @return
*/
@ApiOperation(value = "URL_Link")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = Integer.class) })
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = Integer.class)})
@GetMapping("createUrlLink")
public ResultBody createUrlLink(
@ApiParam(value = "小程序路径", required = false) @RequestParam(required = false) String path,
......@@ -57,7 +49,7 @@ public class WxController extends BaseController {
}
@ApiOperation(value = "监控微信公众号的事件变化通知", hidden = true)
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = String.class) })
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = String.class)})
@PostMapping("wxSendMessage")
public void wxSendMessage(HttpServletRequest req, HttpServletResponse resp) throws IOException {
req.setCharacterEncoding("UTF-8");
......@@ -69,9 +61,9 @@ public class WxController extends BaseController {
}
@ApiOperation(value = "生成小程序码")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) })
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("getAppletQRCode")
public ResultBody getAppletQRCode(@ApiParam(value = "小程序路径",example = "pages/welcome/index") @RequestParam String page,@ApiParam(value = "参数",example = "name=123&sex=456") @RequestParam String scene) {
public ResultBody getAppletQRCode(@ApiParam(value = "小程序路径", example = "pages/welcome/index") @RequestParam String page, @ApiParam(value = "参数", example = "name=123&sex=456") @RequestParam String scene) {
return wxService.getUnLimitedQRCode(page, scene);
}
}
......@@ -14,18 +14,21 @@ import java.util.List;
public interface BackUserAccountDao {
/**
* 添加后台用户
*
* @param backUserAccountDO
*/
void insertBackUserAccount(BackUserAccountDO backUserAccountDO);
/**
* 修改后台用户
*
* @param backUserAccountDO
*/
void updateBackUserAccount(BackUserAccountDO backUserAccountDO);
/**
* 查看用户详情
*
* @param backUserAccountId
* @return
*/
......@@ -33,6 +36,7 @@ public interface BackUserAccountDao {
/**
* 查询符合条件的用户个数
*
* @param bUserAccountQO
* @return
*/
......@@ -40,19 +44,22 @@ public interface BackUserAccountDao {
/**
* 查询符合条件的用户信息
*
* @param bUserAccountQO
* @return
*/
List<BackUserAccountDO> listBackUserAccount(BUserAccountQO bUserAccountQO);
/**
* 删除用户信息
* 禁用后台用户(原删除信息)
*
* @param id
*/
void removeBackUserAccountDO(Integer id);
void disableBackUserAccountDO(Integer id);
/**
* 远程调用查询用户信息
*
* @param bUserAccountQO
* @return
*/
......@@ -60,6 +67,7 @@ public interface BackUserAccountDao {
/**
* 验证用户密码
*
* @param id
* @return
*/
......@@ -67,6 +75,7 @@ public interface BackUserAccountDao {
/**
* 登录账号密码查询用户信息
*
* @param accountNo
* @param passWord
* @return
......@@ -75,6 +84,7 @@ public interface BackUserAccountDao {
/**
* 修改用户密码
*
* @param id
* @param passWord
*/
......@@ -82,6 +92,7 @@ public interface BackUserAccountDao {
/**
* 根据账号名称查询数量
*
* @param excludeId
* @param accountNo
* @return
......
package com.mmc.iuav.user.dao;
import com.mmc.iuav.user.entity.CooperationTagDO;
import com.mmc.iuav.user.entity.TagApplyResourceDO;
import com.mmc.iuav.user.entity.UserApplyTagDO;
import com.mmc.iuav.user.entity.UserTagDO;
import com.mmc.iuav.user.entity.*;
import com.mmc.iuav.user.model.qo.ApplyQO;
import com.mmc.iuav.user.model.vo.ApplyTagEditVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -47,6 +45,7 @@ public interface CooperationDao {
/**
* 根据用户id查询合作标签信息
*
* @param userAccountId
* @return
*/
......@@ -95,12 +94,14 @@ public interface CooperationDao {
/**
* 删除用户原来的标签
*
* @param userAccountId
*/
void removeUserTag(Integer userAccountId);
/**
* 添加用户合作加盟标签
*
* @param userAccountId
* @param cooperationTagIds
*/
......@@ -108,8 +109,15 @@ public interface CooperationDao {
/**
* 根据用户id查询用户拥有的合作标签
*
* @param uIds
* @return
*/
List<CooperationTagDO> listUserCooperationTagByUIds(@Param("uIds") List<Integer> uIds);
void addWebsiteInfo(ApplyTagEditVO applyTagEditVO);
int countServiceBitmapData(Integer type);
List<WebsiteInfoDO> listServiceBitmapData(Integer type, Double lon, Double lat, int pageNo, Integer pageSize);
}
......@@ -42,5 +42,11 @@ public interface RoleDao {
void batchAddMenuIds(Integer roleId, List<Integer> addMenuIds);
void batchDeleteMenuIds(Integer roleId, List<Integer> deleteMenuIds);
void updateUserRoleRel(Integer backUserAccountId, Integer roleId);
void insertUserRoleRel(Integer backUserAccountId, Integer roleId);
RoleInfoDO getRoleInfoByUserId(Integer backUserAccountId);
}
......@@ -2,7 +2,6 @@ package com.mmc.iuav.user.dao;
import com.mmc.iuav.user.entity.UserAccountDO;
import com.mmc.iuav.user.entity.UserRcdDO;
import com.mmc.iuav.user.model.qo.BUserAccountQO;
import com.mmc.iuav.user.model.qo.UserAccountQO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -56,15 +55,6 @@ public interface UserServiceDao {
List<Integer> listUserAccountIdsByDistrictCode(Integer provinceCode, Integer cityCode, Integer districtCode);
/**
* 登录账号密码查询用户信息
*
* @param accountNo
* @param passWord
* @return
*/
UserAccountDO getUserLoginInfo(String accountNo, String passWord);
/**
* 批量获取用户信息
*
* @param userAccountQO
......@@ -73,53 +63,12 @@ public interface UserServiceDao {
List<UserAccountDO> feignListUserAccount(UserAccountQO userAccountQO);
/**
* 删除用户
* 禁用用户(原删除)
*
* @param removeNO
* @param userAccountId
*/
void removeUserAccount(String removeNO, Integer userAccountId);
/**
* 根据账号名称查询数量
*
* @param excludeId
* @param accountNo
* @return
*/
int countUserAccountNo(Integer excludeId, String accountNo);
/**
* 查询用户数量
*
* @param param
* @return
*/
int countListBAccountPage(BUserAccountQO param);
/**
* 查询用户信息
*
* @param param
* @return
*/
List<UserAccountDO> listBAccountPage(BUserAccountQO param);
/**
* 修改用户密码
*
* @param id
* @param passWord
*/
void updatePassword(Integer id, String passWord);
/**
* 获取用户密码
*
* @param id
* @return
*/
UserAccountDO getUserAuthPwdInfo(Integer id);
void disableUserAccount(String removeNO, Integer userAccountId);
/**
* 根据id查询用户信息
......
......@@ -29,11 +29,12 @@ public class BackUserAccountDO implements Serializable {
private Integer provinceCode;
private Integer cityCode;
private Integer districtCode;
private Integer deleted;
private Integer disable;
private Date createTime;
private Date updateTime;
private String remark;
private String address;
private RoleInfoDO roleInfoDO;
public BackUserAccountDO(BUserAccountVO bUserAccountVO) {
this.id = bUserAccountVO.getId();
......@@ -48,8 +49,10 @@ public class BackUserAccountDO implements Serializable {
this.address = bUserAccountVO.getAddress();
}
public BackUserAccountVO buildBackUserAccountVO(){
return BackUserAccountVO.builder().id(this.id).uid(this.id).accountNo(this.accountNo).phoneNum(this.phoneNum).userName(this.userName).userSex(this.userSex).email(this.email)
.accountStatus(this.accountStatus).remark(this.remark).address(this.address).createTime(this.createTime).build();
public BackUserAccountVO buildBackUserAccountVO() {
return BackUserAccountVO.builder().id(this.id).uid(this.id).accountNo(this.accountNo).phoneNum(this.phoneNum)
.userName(this.userName).userSex(this.userSex).email(this.email).accountStatus(this.accountStatus)
.remark(this.remark).address(this.address).createTime(this.createTime)
.roleInfoDTO(this.roleInfoDO == null ? null : this.roleInfoDO.buildRoleInfoDTO()).build();
}
}
......@@ -53,7 +53,7 @@ public class RoleInfoDO {
/**
* 创建角色账号id
*/
private Integer userAccountId;
private Integer backUserAccountId;
/**
* 账号名称
*/
......
......@@ -3,7 +3,6 @@ package com.mmc.iuav.user.entity;
import com.mmc.iuav.user.model.dto.UserAccountSimpleDTO;
import com.mmc.iuav.user.model.vo.BUserAccountVO;
import com.mmc.iuav.user.model.vo.UserAccountVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
......@@ -21,8 +20,6 @@ import java.util.Date;
public class UserAccountDO implements Serializable {
private static final long serialVersionUID = 5007589179946146721L;
private Integer id;
private String accountNo;
private String password;
private String uid;
private String phoneNum;
private String userName;
......@@ -36,7 +33,7 @@ public class UserAccountDO implements Serializable {
private Integer accountStatus;
private String remark;
private Integer portType;
private Integer deleted;
private Integer disable;
private Date createTime;
private Date updateTime;
private Integer provinceCode;
......@@ -63,7 +60,6 @@ public class UserAccountDO implements Serializable {
public UserAccountDO(BUserAccountVO bUserAccountVO) {
this.id = bUserAccountVO.getId();
this.accountNo = bUserAccountVO.getAccountNo();
this.phoneNum = bUserAccountVO.getPhoneNum();
this.userName = bUserAccountVO.getUserName();
this.email = bUserAccountVO.getEmail();
......@@ -75,15 +71,15 @@ public class UserAccountDO implements Serializable {
}
public UserAccountVO buildUserAccountVO() {
return UserAccountVO.builder().id(this.id).uid(this.uid).accountNo(this.accountNo).phoneNum(this.phoneNum).userName(this.userName).nickName(this.nickName)
return UserAccountVO.builder().id(this.id).uid(this.uid).phoneNum(this.phoneNum).userName(this.userName).nickName(this.nickName)
.userImg(this.userImg).userSex(this.userSex).email(this.email).source(this.source).accountStatus(this.accountStatus).remark(this.remark).portType(this.portType)
.createTime(this.createTime).companyAuthStatus(this.companyAuthStatus == null || this.companyAuthStatus != 1 ? 0 : 1).cooperationTagId(this.cooperationTagId).companyName(this.companyName)
.tagName(this.tagName).build();
}
public UserAccountSimpleDTO buildUserAccountSimpleDTO() {
return UserAccountSimpleDTO.builder().id(this.id).uid(this.uid).accountNo(this.accountNo).phoneNum(this.phoneNum).userName(this.userName).nickName(this.nickName)
.userImg(this.userImg).userSex(this.userSex).email(this.email).source(this.source).accountStatus(this.accountStatus).portType(this.portType)
return UserAccountSimpleDTO.builder().id(this.id).uid(this.uid).phoneNum(this.phoneNum).userName(this.userName).nickName(this.nickName)
.userImg(this.userImg).openid(this.openId).userSex(this.userSex).email(this.email).source(this.source).accountStatus(this.accountStatus).portType(this.portType)
.companyAuthStatus(this.companyAuthStatus == null || this.companyAuthStatus != 1 ? 0 : 1).cooperationTagId(this.cooperationTagId).companyName(this.companyName)
.build();
}
......
package com.mmc.iuav.user.entity;
import com.mmc.iuav.user.model.vo.ApplyTagEditVO;
import com.mmc.iuav.user.model.vo.UserApplyTagVO;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -24,10 +25,22 @@ public class UserApplyTagDO implements Serializable {
private String remark;
private Date createTime;
private Integer applyStatus;
private String content;
private Integer score;
/** 辅助字段start */
/**
* 辅助字段start
*/
private String tagName;
/** 辅助字段end */
private String companyName;
private String address;
private String name;
private Double lat;
private Double lon;
/**
* 辅助字段end
*/
public UserApplyTagVO buildUserApplyTagVO() {
return UserApplyTagVO.builder()
.id(id)
......@@ -39,6 +52,9 @@ public class UserApplyTagDO implements Serializable {
.applyTime(createTime)
.approvalStatus(applyStatus)
.cooperationTagName(tagName)
.companyName(companyName)
.content(content)
.score(score)
.build();
}
......@@ -49,4 +65,12 @@ public class UserApplyTagDO implements Serializable {
this.applyPhone = userApplyTagVO.getApplyPhone();
this.remark = userApplyTagVO.getRemark();
}
public ApplyTagEditVO buildApplyTagEditVO() {
return ApplyTagEditVO.builder().id(id)
.cooperationTagId(cooperationTagId).name(name)
.address(address).lat(lat).lon(lon)
.content(content).score(score)
.build();
}
}
package com.mmc.iuav.user.entity;
import com.mmc.iuav.user.model.dto.WebsiteRangeDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author LW
* @date 2022/4/21 20:09 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WebsiteInfoDO implements Serializable {
private Integer id;
private String name;
private String address;
private Double lat;
private Double lon;
private Double distance;
private Integer type;
private Integer userApplyTag;
public WebsiteRangeDTO buildWebsiteRangeDTO() {
this.distance = this.distance == null ? 0 : (BigDecimal.valueOf(this.distance).setScale(2, BigDecimal.ROUND_HALF_DOWN)).doubleValue();
return WebsiteRangeDTO.builder()
.name(name)
.address(address)
.lon(this.lon)
.lat(this.lat)
.distance(this.distance / 1000)
.build();
}
}
package com.mmc.iuav.user.enums;
/**
* @author: zj
* @Date: 2023/7/13 11:18
*/
public enum RoleEnums {
ADMIN(1, "超级管理员"),
OPERATOR(2, "运营管理员"),
FINANCIAL(3, "财务"),
FRANCHISEE(4, "加盟商");
RoleEnums(Integer id, String roleName) {
this.id = id;
this.roleName = roleName;
}
private Integer id;
private String roleName;
public Integer getId() {
return this.id;
}
public String getRoleName() {
return this.roleName;
}
}
......@@ -2,6 +2,7 @@ package com.mmc.iuav.user.service;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.entity.BackUserAccountDO;
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;
......@@ -15,6 +16,7 @@ import java.util.List;
public interface BackUserAccountService {
/**
* 添加后台用户
*
* @param bUserAccountVO
* @return
*/
......@@ -22,20 +24,25 @@ public interface BackUserAccountService {
/**
* 添加后台用户信息
*
* @param bUserAccountVO
* @param loginSuccessDTO
* @return
*/
ResultBody updateBAccount(BUserAccountVO bUserAccountVO);
ResultBody updateBAccount(BUserAccountVO bUserAccountVO, LoginSuccessDTO loginSuccessDTO);
/**
* 删除后台用户
* @param userAccountId
* 禁用后台用户
*
* @param accountId
* @param backUserAccountId
* @return
*/
ResultBody removeBAccount(Integer userAccountId);
ResultBody disableBAccount(Integer accountId, Integer backUserAccountId);
/**
* 后台用户列表
*
* @param bUserAccountQO
* @return
*/
......@@ -43,6 +50,7 @@ public interface BackUserAccountService {
/**
* 内部远程调用查询用户信息
*
* @param bUserAccountQO
* @return
*/
......@@ -50,6 +58,7 @@ public interface BackUserAccountService {
/**
* 修改用户密码
*
* @param account
* @return
*/
......@@ -57,6 +66,7 @@ public interface BackUserAccountService {
/**
* 内部确认用户密码
*
* @param id
* @param authPwd
* @return
......@@ -65,6 +75,7 @@ public interface BackUserAccountService {
/**
* 登录账号密码查询用户信息
*
* @param accountNo
* @param passWord
* @return
......
......@@ -3,12 +3,12 @@ package com.mmc.iuav.user.service;
import com.mmc.iuav.page.PageResult;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.qo.ApplyQO;
import com.mmc.iuav.user.model.vo.ApplyTagEditVO;
import com.mmc.iuav.user.model.vo.CooperationTagVO;
import com.mmc.iuav.user.model.vo.UserApplyTagVO;
import com.mmc.iuav.user.model.vo.UserCooperationTagVO;
import java.util.List;
import java.util.Set;
/**
* @author: zj @Date: 2023/5/17 21:19
......@@ -31,6 +31,7 @@ public interface CooperationService {
/**
* 后台用户设置小程序用户等级标签
*
* @param userCooperationTagVO
* @return
*/
......@@ -51,4 +52,10 @@ public interface CooperationService {
ResultBody applyTagDetails(Integer id, Integer userAccountId);
ResultBody approvalApplyTag(Integer id, Boolean status);
ResultBody editUserApplyTag(ApplyTagEditVO applyTagEditVO);
ResultBody editUserApplyTagDetails(Integer id);
PageResult listServiceBitmapData(Integer type, Integer pageNo, Integer pageSize, Double lon, Double lat);
}
......@@ -3,9 +3,7 @@ package com.mmc.iuav.user.service;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.entity.UserAccountDO;
import com.mmc.iuav.user.model.dto.UserAccountSimpleDTO;
import com.mmc.iuav.user.model.qo.BUserAccountQO;
import com.mmc.iuav.user.model.qo.UserAccountQO;
import com.mmc.iuav.user.model.vo.BUserAccountVO;
import com.mmc.iuav.user.model.vo.UserAccountVO;
import java.util.List;
......@@ -65,39 +63,6 @@ public interface UserAccountService {
List<Integer> feignListUserAccountIds(Integer provinceCode, Integer cityCode, Integer districtCode);
/**
* 添加后台用户
*
* @param bUserAccountVO
* @return
*/
ResultBody insertBAccount(BUserAccountVO bUserAccountVO);
/**
* 删除用户信
*
* @param userAccountId
* @return
*/
ResultBody removeBAccount(Integer userAccountId);
/**
* 后台用户列表
*
* @param bUserAccountQO
* @return
*/
ResultBody listBAccountPage(BUserAccountQO bUserAccountQO);
/**
* 登录账号密码查询用户信息
*
* @param accountNo
* @param passWord
* @return
*/
UserAccountDO getUserLoginInfo(String accountNo, String passWord);
/**
* 内部获取用户列表
*
* @param userAccountQO
......@@ -106,31 +71,6 @@ public interface UserAccountService {
List<UserAccountSimpleDTO> feignListUserAccount(UserAccountQO userAccountQO);
/**
* 修改用户信息
*
* @param bUserAccountVO
* @return
*/
ResultBody updateBAccount(BUserAccountVO bUserAccountVO);
/**
* 修改用户密码
*
* @param account
* @return
*/
ResultBody updatePassword(BUserAccountVO account);
/**
* 验证用户密码
*
* @param id
* @param authPwd
* @return
*/
ResultBody feignAuthUserPwd(Integer id, String authPwd);
/**
* 授权手机号
*
* @param id
......@@ -185,7 +125,7 @@ public interface UserAccountService {
* @param userAccountId
* @return
*/
ResultBody removeAppAccount(Integer userAccountId);
ResultBody disableAppAccount(Integer userAccountId);
}
......@@ -11,8 +11,10 @@ import com.mmc.iuav.user.auth.PwdUtil;
import com.mmc.iuav.user.client.PayClient;
import com.mmc.iuav.user.constant.WxConstant;
import com.mmc.iuav.user.dao.CompanyAuthDao;
import com.mmc.iuav.user.dao.RoleDao;
import com.mmc.iuav.user.entity.BackUserAccountDO;
import com.mmc.iuav.user.entity.CompanyAuthDO;
import com.mmc.iuav.user.entity.RoleInfoDO;
import com.mmc.iuav.user.entity.UserAccountDO;
import com.mmc.iuav.user.enums.UserAccountStatus;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
......@@ -58,6 +60,9 @@ public class AuthServiceImpl implements AuthService {
private CompanyAuthDao companyAuthDao;
@Autowired
private RoleDao roleDao;
@Autowired
private CompanyService companyService;
@Autowired
......@@ -84,7 +89,7 @@ public class AuthServiceImpl implements AuthService {
unionId = json.getString(WxConstant.UNION_ID);
openId = json.getString(WxConstant.OPEN_ID);
sessionKey = json.getString(WxConstant.SESSION_KEY);
}else {
} else {
return ResultBody.error(ResultEnum.PARAM_ERROR);
}
//数据库查询用户信息
......@@ -102,7 +107,7 @@ public class AuthServiceImpl implements AuthService {
userAccountService.insertUserAccount(userAccountDO);
userAccountVO = userAccountDO.buildUserAccountVO();
payClient.createWallet(userAccountDO.getId());
}else {
} else {
uid = userAccountVO.getUid();
CompanyAuthDO companyAuthDO = companyAuthDao.getCompanyAuth(userAccountVO.getId());
if (companyAuthDO != null) {
......@@ -115,7 +120,7 @@ public class AuthServiceImpl implements AuthService {
map.put(JwtConstant.TOKEN_TYPE, JwtConstant.IUAV_TOKEN);
String token = JwtUtil.createJwt(map);
LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).userAccountId(userAccountVO.getId()).accountNo(userAccountVO.getAccountNo()).uid(uid)
LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).userAccountId(userAccountVO.getId()).uid(uid)
.userName(userAccountVO.getUserName()).nickName(userAccountVO.getNickName()).phoneNum(userAccountVO.getPhoneNum()).portType(100).build();
stringRedisTemplate.opsForValue().set(
......@@ -133,7 +138,7 @@ public class AuthServiceImpl implements AuthService {
if (user == null) {
return ResultBody.error(ResultEnum.LOGIN_ACCOUNT_NOT_EXIT_ERROR);
}
if (user.getAccountStatus() .equals(UserAccountStatus.DISABLE.getAccountStatus()) ) {
if (user.getAccountStatus().equals(UserAccountStatus.DISABLE.getAccountStatus())) {
return ResultBody.error(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR);
}
String loginPwd = "";
......@@ -147,12 +152,15 @@ public class AuthServiceImpl implements AuthService {
}
// 查询单位信息
CompanyInfoVO companyInfoVO = companyService.getCompanyInfoByBackUserAccountId(user.getId());
// 角色信息
RoleInfoDO roleInfoDO = roleDao.getRoleInfoByUserId(user.getId());
Map<String, Object> map = new HashMap<String, Object>();
map.put(JwtConstant.USER_ACCOUNT_ID, user.getId());
map.put(JwtConstant.TOKEN_TYPE, JwtConstant.M_TOKEN);
String token = JwtUtil.createJwt(map);
LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).userAccountId(user.getId()).accountNo(user.getAccountNo()).uid(user.getId() +"")
.userName(user.getUserName()).nickName(user.getUserName()).phoneNum(user.getPhoneNum()).portType(0).companyInfoVO(companyInfoVO == null ? null : companyInfoVO).build();
LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).userAccountId(user.getId()).accountNo(user.getAccountNo()).uid(user.getId() + "")
.userName(user.getUserName()).nickName(user.getUserName()).phoneNum(user.getPhoneNum()).portType(0).companyInfoVO(companyInfoVO == null ? null : companyInfoVO)
.roleInfo(roleInfoDO.buildRoleInfoDTO()).build();
stringRedisTemplate.opsForValue().set(
token, JSONObject.toJSONString(loginSuccessDTO),
JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS);
......@@ -173,7 +181,7 @@ public class AuthServiceImpl implements AuthService {
companyAuthStatus = companyAuthDO.getAuthStatus();
}
String token = JwtUtil.createJwt(map);
LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).userAccountId(userAccountVO.getId()).accountNo(userAccountVO.getAccountNo()).uid(userAccountVO.getUid())
LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).userAccountId(userAccountVO.getId()).uid(userAccountVO.getUid())
.userName(userAccountVO.getUserName()).nickName(userAccountVO.getNickName()).phoneNum(userAccountVO.getPhoneNum()).portType(100).build();
stringRedisTemplate.opsForValue().set(
token, JSONObject.toJSONString(loginSuccessDTO),
......@@ -196,7 +204,7 @@ public class AuthServiceImpl implements AuthService {
@Override
public ResultBody getLoginInfo(String randomLoginCode) {
String json = stringRedisTemplate.opsForValue().get(randomLoginCode);
if (StringUtils.isBlank(json)){
if (StringUtils.isBlank(json)) {
return ResultBody.error(ResultEnum.APPLET_LOGIN_ERROR);
}
LoginSuccessDTO loginSuccessDTO = JSONObject.parseObject(json, LoginSuccessDTO.class);
......
package com.mmc.iuav.user.service.impl;
import com.mmc.iuav.http.BizException;
import com.mmc.iuav.page.PageResult;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.response.ResultEnum;
import com.mmc.iuav.user.auth.PwdUtil;
import com.mmc.iuav.user.dao.BackUserAccountDao;
import com.mmc.iuav.user.dao.RoleDao;
import com.mmc.iuav.user.entity.BackUserAccountDO;
import com.mmc.iuav.user.entity.CompanyBackUserDO;
import com.mmc.iuav.user.entity.CompanyInfoDO;
import com.mmc.iuav.user.entity.RoleInfoDO;
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;
......@@ -16,6 +21,7 @@ import com.mmc.iuav.user.service.CompanyService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.security.NoSuchAlgorithmException;
import java.util.List;
......@@ -34,6 +40,9 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
@Autowired
private CompanyService companyService;
@Autowired
private RoleDao roleDao;
@Override
public ResultBody insertBAccount(BUserAccountVO bUserAccountVO) {
if (!bUserAccountVO.getPassWord().equals(bUserAccountVO.getAlertPwd())) {
......@@ -45,6 +54,9 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
if (count > 0) {
return ResultBody.error(ResultEnum.ADD_USER_ACCOUNT_NAME_EXISTS);
}
if (bUserAccountVO.getRoleId().equals(RoleEnums.ADMIN.getId())) {
return ResultBody.error(ResultEnum.ONLY_ONE_ADMIN_ERROR);
}
BackUserAccountDO backUserAccountDO = new BackUserAccountDO(bUserAccountVO);
try {
backUserAccountDO.setPassword(PwdUtil.securityPwd(bUserAccountVO.getPassWord()));
......@@ -52,8 +64,10 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
return ResultBody.error(ResultEnum.PWD_CREATE_ERROR);
}
backUserAccountDao.insertBackUserAccount(backUserAccountDO);
// 添加角色
roleDao.insertUserRoleRel(backUserAccountDO.getId(), bUserAccountVO.getRoleId());
// 添加单位信息
if (bUserAccountVO.getCompanyId() != null){
if (bUserAccountVO.getCompanyId() != null) {
CompanyBackUserDO companyBackUserDO = new CompanyBackUserDO();
companyBackUserDO.setBackUserAccountId(backUserAccountDO.getId());
companyBackUserDO.setCompanyInfoId(bUserAccountVO.getCompanyId());
......@@ -62,31 +76,54 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
return ResultBody.success();
}
@Transactional
@Override
public ResultBody updateBAccount(BUserAccountVO bUserAccountVO) {
public ResultBody updateBAccount(BUserAccountVO bUserAccountVO, LoginSuccessDTO loginSuccessDTO) {
// 判断账号是否重复
if (!StringUtils.isEmpty(bUserAccountVO.getAccountNo())) {
// 如果传入的名字不为空,就查找数据库,看名字是否重复
int count = backUserAccountDao.countUserAccountNo(bUserAccountVO.getId(), bUserAccountVO.getAccountNo());
if (count > 0) {
return ResultBody.error(ResultEnum.UPDATE_USER_ACCOUNT_REPEAT);
throw new BizException(ResultEnum.UPDATE_USER_ACCOUNT_REPEAT);
}
}
// 当前角色不是超级管理员,则不能修改为管理员账号
RoleInfoDO roleInfoDO = roleDao.getRoleInfoByUserId(bUserAccountVO.getId());
if (!roleInfoDO.getId().equals(RoleEnums.ADMIN.getId()) && bUserAccountVO.getRoleId().equals(RoleEnums.ADMIN.getId())) {
return ResultBody.error(ResultEnum.ONLY_ONE_ADMIN_ERROR);
}
// 不能修改自己的角色
if (loginSuccessDTO.getUserAccountId().toString().equals(bUserAccountVO.getId().toString())
&& !bUserAccountVO.getRoleId().toString().equals(roleInfoDO.getId())) {
return ResultBody.error(ResultEnum.UPDATE_OWNER_ROLE_ERROR);
}
// 不能修改admin账号的角色
if (bUserAccountVO.getId().equals(1) && !bUserAccountVO.getRoleId().equals(RoleEnums.ADMIN.getId())) {
return ResultBody.error(ResultEnum.UPDATE_ADMIN_ROLE_ERROR);
}
BackUserAccountDO userAccountDO = new BackUserAccountDO(bUserAccountVO);
backUserAccountDao.updateBackUserAccount(userAccountDO);
// 修改单位信息
if (bUserAccountVO.getCompanyId() != null){
if (bUserAccountVO.getCompanyId() != null) {
CompanyBackUserDO companyBackUserDO = new CompanyBackUserDO();
companyBackUserDO.setBackUserAccountId(userAccountDO.getId());
companyBackUserDO.setCompanyInfoId(bUserAccountVO.getCompanyId());
companyService.updateCompanyBackUser(companyBackUserDO);
}
roleDao.updateUserRoleRel(bUserAccountVO.getId(), bUserAccountVO.getRoleId());
return ResultBody.success();
}
@Override
public ResultBody removeBAccount(Integer userAccountId) {
backUserAccountDao.removeBackUserAccountDO(userAccountId);
public ResultBody disableBAccount(Integer accountId, Integer backUserAccountId) {
RoleInfoDO roleInfoDO = roleDao.getRoleInfoByUserId(accountId);
if (roleInfoDO.getSuperAdmin().equals(RoleEnums.ADMIN.getId())) {
return ResultBody.error(ResultEnum.DELETE_ADMIN_ERROR);
}
if (accountId.toString().equals(backUserAccountId.toString())) {
return ResultBody.error(ResultEnum.DELETE_YOURSELF_ERROR);
}
backUserAccountDao.disableBackUserAccountDO(accountId);
return ResultBody.success();
}
......@@ -102,11 +139,11 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
List<Integer> backUserIds = users.stream().map(BackUserAccountDO::getId).collect(Collectors.toList());
List<BackUserAccountVO> collect = users.stream().map(BackUserAccountDO::buildBackUserAccountVO).collect(Collectors.toList());
List<CompanyInfoDO> companyInfoDOList = companyService.listCompanyInfoByUID(backUserIds);
if (!companyInfoDOList.isEmpty()){
if (!companyInfoDOList.isEmpty()) {
Map<Integer, CompanyInfoDO> userCompanyNameMap = companyInfoDOList.stream().collect(Collectors.toMap(CompanyInfoDO::getBackUserAccountId, k -> k, (v1, v2) -> v2));
collect.forEach(d -> {
CompanyInfoDO companyInfoDO = userCompanyNameMap.get(d.getId());
if (companyInfoDO != null){
if (companyInfoDO != null) {
d.setCompanyName(companyInfoDO.getCompanyName());
d.setCompanyInfoVO(companyInfoDO.buildCompanyInfoVO());
}
......
......@@ -7,12 +7,9 @@ import com.mmc.iuav.response.ResultEnum;
import com.mmc.iuav.user.dao.CompanyAuthDao;
import com.mmc.iuav.user.dao.CooperationDao;
import com.mmc.iuav.user.entity.*;
import com.mmc.iuav.user.model.dto.WebsiteRangeDTO;
import com.mmc.iuav.user.model.qo.ApplyQO;
import com.mmc.iuav.user.model.vo.AttachmentVO;
import com.mmc.iuav.user.model.vo.CooperationTagVO;
import com.mmc.iuav.user.model.vo.UserApplyTagDetailsVO;
import com.mmc.iuav.user.model.vo.UserApplyTagVO;
import com.mmc.iuav.user.model.vo.UserCooperationTagVO;
import com.mmc.iuav.user.model.vo.*;
import com.mmc.iuav.user.service.CooperationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -26,9 +23,11 @@ import java.util.stream.Collectors;
*/
@Service
public class CooperationServiceImpl implements CooperationService {
@Autowired private CooperationDao cooperationDao;
@Autowired
private CooperationDao cooperationDao;
@Autowired private CompanyAuthDao companyAuthDao;
@Autowired
private CompanyAuthDao companyAuthDao;
@Override
public List<CooperationTagVO> listTag() {
......@@ -66,7 +65,7 @@ public class CooperationServiceImpl implements CooperationService {
// 删除原来的
cooperationDao.removeUserTag(userCooperationTagVO.getUserAccountId());
// 添加新的
if (!CollectionUtils.isEmpty(userCooperationTagVO.getCooperationTagIds())){
if (!CollectionUtils.isEmpty(userCooperationTagVO.getCooperationTagIds())) {
cooperationDao.batchInsertUserTag(userCooperationTagVO.getUserAccountId(), userCooperationTagVO.getCooperationTagIds());
}
return ResultBody.success();
......@@ -135,18 +134,53 @@ public class CooperationServiceImpl implements CooperationService {
int count =
cooperationDao.userTagInfo(
userApplyTag.getCooperationTagId(), userApplyTag.getUserAccountId());
if (status){
if (status) {
cooperationDao.updateApplyTagStatus(id, 1);
if (count == 0){
if (count == 0) {
// 审批通过往用户标签表中新增一条数据
UserTagDO userTagDO = new UserTagDO();
userTagDO.setUserAccountId(userApplyTag.getUserAccountId());
userTagDO.setCooperationTagId(userApplyTag.getCooperationTagId());
cooperationDao.insertUserTag(userTagDO);
}
}else {
} else {
cooperationDao.updateApplyTagStatus(id, 2);
}
return ResultBody.success();
}
@Override
public ResultBody editUserApplyTag(ApplyTagEditVO applyTagEditVO) {
//判断当前服务商是否通过审核
UserApplyTagDO userApplyTag = cooperationDao.getUserApplyTag(applyTagEditVO.getId());
if (!userApplyTag.getApplyStatus().equals(1)) {
return ResultBody.error("当前服务商暂未通过审核!");
}
// 编辑服务商信息
UserApplyTagDO userApplyTagDO = new UserApplyTagDO();
userApplyTagDO.setId(applyTagEditVO.getId());
userApplyTagDO.setContent(applyTagEditVO.getContent());
userApplyTagDO.setScore(applyTagEditVO.getScore());
cooperationDao.updateUserApplyTag(userApplyTagDO);
// 保存网点信息
cooperationDao.addWebsiteInfo(applyTagEditVO);
return ResultBody.success();
}
@Override
public ResultBody editUserApplyTagDetails(Integer id) {
UserApplyTagDO userApplyTag = cooperationDao.getUserApplyTag(id);
return ResultBody.success(userApplyTag == null ? null : userApplyTag.buildApplyTagEditVO());
}
@Override
public PageResult listServiceBitmapData(Integer type, Integer pageNo, Integer pageSize, Double lon, Double lat) {
int count = cooperationDao.countServiceBitmapData(type);
if (count == 0) {
return PageResult.buildPage(pageNo, pageSize, count);
}
List<WebsiteRangeDTO> list = cooperationDao.listServiceBitmapData(type, lon, lat, (pageNo - 1) * pageSize, pageSize)
.stream().map(WebsiteInfoDO::buildWebsiteRangeDTO).collect(Collectors.toList());
return PageResult.buildPage(pageNo, pageSize, count, list);
}
}
......@@ -16,6 +16,7 @@ import com.mmc.iuav.user.service.RoleService;
import com.mmc.iuav.user.util.MenuTreeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.List;
......@@ -40,7 +41,7 @@ public class RoleServiceImpl implements RoleService {
return ResultBody.error(ResultEnum.ROLE_NAME_REPEAT_ERROR);
}
RoleInfoDO rd = new RoleInfoDO(roleInfo);
rd.setUserAccountId(userLoginInfoFromRedis.getUserAccountId());
rd.setBackUserAccountId(userLoginInfoFromRedis.getUserAccountId());
rd.setRoleNo(CodeUtil.createRoleNo(roleDao.findList()));
roleDao.insertRoleInfo(rd);
return ResultBody.success();
......@@ -53,7 +54,7 @@ public class RoleServiceImpl implements RoleService {
if (count > 0) {
return ResultBody.error(ResultEnum.ROLE_NAME_REPEAT_ERROR);
}
rd.setUserAccountId(userLoginInfoFromRedis.getUserAccountId());
rd.setBackUserAccountId(userLoginInfoFromRedis.getUserAccountId());
roleDao.updateRoleInfo(rd);
return ResultBody.success();
}
......@@ -89,10 +90,17 @@ public class RoleServiceImpl implements RoleService {
return ResultBody.success(MenuTreeUtil.buildTreePCMenu(menuInfoDTOS));
}
@Transactional
@Override
public ResultBody updateRoleMenuInfo(RoleMenuInfoVO roleMenuInfoVO, LoginSuccessDTO userLoginInfoFromRedis) {
public ResultBody updateRoleMenuInfo(RoleMenuInfoVO roleMenuInfoVO, LoginSuccessDTO loginSuccessDTO) {
// 判断该角色的菜单是否可以修改
if (!CollectionUtils.isEmpty(roleMenuInfoVO.getMenuInfoIds())) {
RoleInfoDO roleInfo = roleDao.getRoleInfo(roleMenuInfoVO.getRoleId());
if (roleInfo.getSuperAdmin().equals(1)) {
return ResultBody.error(ResultEnum.UPDATE_ADMIN_ROLE_MENUS_ERROR);
}
if (roleMenuInfoVO.getRoleId().equals(loginSuccessDTO.getRoleInfo().getId())) {
return ResultBody.error(ResultEnum.UPDATE_OWNER_ROLE_MENUS_ERROR);
}
List<MenuInfoDO> menuInfoDOList = roleDao.listRoleMenuInfo(roleMenuInfoVO.getRoleId());
List<Integer> existMenuIds = menuInfoDOList.stream().map(MenuInfoDO::getId).collect(Collectors.toList());
// 新添加的权限
......@@ -105,7 +113,6 @@ public class RoleServiceImpl implements RoleService {
if (!CollectionUtils.isEmpty(deleteMenuIds)) {
roleDao.batchDeleteMenuIds(roleMenuInfoVO.getRoleId(), deleteMenuIds);
}
}
return ResultBody.success();
}
......
......@@ -4,16 +4,13 @@ import com.mmc.iuav.general.CodeUtil;
import com.mmc.iuav.page.PageResult;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.response.ResultEnum;
import com.mmc.iuav.user.auth.PwdUtil;
import com.mmc.iuav.user.dao.CooperationDao;
import com.mmc.iuav.user.dao.UserServiceDao;
import com.mmc.iuav.user.entity.CooperationTagDO;
import com.mmc.iuav.user.entity.UserAccountDO;
import com.mmc.iuav.user.entity.UserRcdDO;
import com.mmc.iuav.user.model.dto.UserAccountSimpleDTO;
import com.mmc.iuav.user.model.qo.BUserAccountQO;
import com.mmc.iuav.user.model.qo.UserAccountQO;
import com.mmc.iuav.user.model.vo.BUserAccountVO;
import com.mmc.iuav.user.model.vo.CompanyAuthVO;
import com.mmc.iuav.user.model.vo.CooperationTagVO;
import com.mmc.iuav.user.model.vo.UserAccountVO;
......@@ -26,7 +23,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -124,58 +120,6 @@ public class UserAccountServiceImpl implements UserAccountService {
}
@Override
public ResultBody insertBAccount(BUserAccountVO bUserAccountVO) {
if (!bUserAccountVO.getPassWord().equals(bUserAccountVO.getAlertPwd())) {
// 两次密码不一致
return ResultBody.error(ResultEnum.PWD_ALERT_ERROR);
}
// 获取新增的账户名是否已经存在
int count = userServiceDao.countUserAccountNo(null, bUserAccountVO.getAccountNo());
if (count > 0) {
return ResultBody.error(ResultEnum.ADD_USER_ACCOUNT_NAME_EXISTS);
}
UserAccountDO userAccountDO = new UserAccountDO(bUserAccountVO);
try {
userAccountDO.setPassword(PwdUtil.securityPwd(bUserAccountVO.getPassWord()));
} catch (NoSuchAlgorithmException e) {
return ResultBody.error(ResultEnum.PWD_CREATE_ERROR);
}
userAccountDO.setUid(CodeUtil.generateUserUID());
userAccountDO.setPortType(0);
userAccountDO.setOpenId(userAccountDO.getUid());
userAccountDO.setUnionId(userAccountDO.getUid());
userServiceDao.insertUserAccount(userAccountDO);
return ResultBody.success();
}
@Override
public ResultBody removeBAccount(Integer userAccountId) {
String removeNO = CodeUtil.removeUserAccount();
userServiceDao.removeUserAccount(removeNO, userAccountId);
return ResultBody.success();
}
@Override
public ResultBody listBAccountPage(BUserAccountQO param) {
int count = userServiceDao.countListBAccountPage(param);
if (count == 0) {
return ResultBody.success(PageResult.buildPage(param.getPageNo(), param.getPageSize(), count));
}
Integer pageNo = param.getPageNo();
param.buildCurrentPage();
List<UserAccountDO> users = userServiceDao.listBAccountPage(param);
List<UserAccountVO> collect = users.stream().map(UserAccountDO::buildUserAccountVO).collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, collect));
}
@Override
public UserAccountDO getUserLoginInfo(String accountNo, String passWord) {
UserAccountDO userAccountDO = userServiceDao.getUserLoginInfo(accountNo, passWord);
return userAccountDO;
}
@Override
public List<UserAccountSimpleDTO> feignListUserAccount(UserAccountQO userAccountQO) {
List<UserAccountDO> list = userServiceDao.feignListUserAccount(userAccountQO);
if (list == null) {
......@@ -203,56 +147,6 @@ public class UserAccountServiceImpl implements UserAccountService {
}
}
@Override
public ResultBody updateBAccount(BUserAccountVO bUserAccountVO) {
// 判断账号是否重复
if (!StringUtils.isEmpty(bUserAccountVO.getAccountNo())) {
// 如果传入的名字不为空,就查找数据库,看名字是否重复
int count = userServiceDao.countUserAccountNo(bUserAccountVO.getId(), bUserAccountVO.getAccountNo());
if (count > 0) {
return ResultBody.error(ResultEnum.UPDATE_USER_ACCOUNT_REPEAT);
}
}
UserAccountDO userAccountDO = new UserAccountDO(bUserAccountVO);
userServiceDao.update(userAccountDO);
return ResultBody.success();
}
@Override
public ResultBody updatePassword(BUserAccountVO account) {
if (!account.getPassWord().equals(account.getAlertPwd())) {
return ResultBody.error(ResultEnum.PASSWORD_INCONSISTENT);
}
try {
account.setPassWord(PwdUtil.securityPwd(account.getPassWord()));
userServiceDao.updatePassword(account.getId(), account.getPassWord());
} catch (NoSuchAlgorithmException e) {
return ResultBody.error(ResultEnum.PWD_CONPARED_ERROR);
}
// RoleInfoDO roleInfo = roleInfoDao.getRoleInfoByUser(account.getId());// 查询账号的角色信息
// this.disableOneToken(account.getId(), roleInfo.getId(), JwtConstant.SXTB_ACCOUNT_TOKEN);
return ResultBody.success();
}
@Override
public ResultBody feignAuthUserPwd(Integer id, String authPwd) {
UserAccountDO account = userServiceDao.getUserAuthPwdInfo(id);
if (account == null) {
return ResultBody.error(ResultEnum.LOGIN_ACCOUNT_NOT_EXIT_ERROR);
}
String pwd = "";
try {
pwd = PwdUtil.securityPwd(authPwd);
} catch (NoSuchAlgorithmException e) {
return ResultBody.error(ResultEnum.PWD_CREATE_ERROR);
}
if (!pwd.equals(account.getPassword())) {
return ResultBody.error(ResultEnum.PWD_CONPARED_ERROR);
}
return ResultBody.success();
}
@Override
public ResultBody getUserPhoneNumber(Integer id, String code) {
String userPhoneNumber = wxService.getUserPhoneNumber(id, code);
......@@ -339,8 +233,8 @@ public class UserAccountServiceImpl implements UserAccountService {
}
@Override
public ResultBody removeAppAccount(Integer userAccountId) {
userServiceDao.removeUserAccount(CodeUtil.removeUserAccount(), userAccountId);
public ResultBody disableAppAccount(Integer userAccountId) {
userServiceDao.disableUserAccount(CodeUtil.removeUserAccount(), userAccountId);
UserAccountVO userAccountVO = new UserAccountVO();
userAccountVO.setId(userAccountId);
userAccountVO.setDeleted(1);
......
.".".".
(` `) _.-=-.
'._.--.-; .-` -' '.
.-'`.o ) \ / .-_.--' `\
`;---) \ ; / / ;' _-_.-' `
`;"` ; \ ; . .' _-' \
( ) | | / .-.-' -`
'-.-' \ | .' ` '.-'-\`
/_./\_.|\_\ ; ' .'-'.-.
/ '-._ \` / _;-,
| .-=-.;-._ \ -'-,
\ / `";`-`,-"`)
\ \ '-- `\.\
'. '._ '-- '--'/
`-._ `'----'`;
`"""--.____,/
\\ \
// /`
___// /__
(`(`(---"-`)
......@@ -16,9 +16,14 @@
<result property="districtCode" column="district_code"/>
<result property="address" column="address"/>
<result property="remark" column="remark"/>
<result property="deleted" column="is_deleted"/>
<result property="disable" column="disable"/>
<result property="createTime" column="createTime"/>
<result property="updateTime" column="update_time"/>
<association property="roleInfoDO" javaType="com.mmc.iuav.user.entity.RoleInfoDO">
<id property="id" column="ri_id"/>
<result property="roleNo" column="role_no"/>
<result property="roleName" column="role_name"/>
</association>
</resultMap>
<insert id="insertBackUserAccount" parameterType="com.mmc.iuav.user.entity.BackUserAccountDO" keyProperty="id"
......@@ -71,10 +76,10 @@
</where>
</update>
<update id="removeBackUserAccountDO">
<update id="disableBackUserAccountDO">
update back_user_account
set is_deleted = 1
where is_deleted = 0
set disable = 1
where disable = 0
and id = #{id}
</update>
......@@ -97,7 +102,7 @@
city_code,
district_code,
address,
is_deleted,
disable,
create_time,
update_time
from back_user_account
......@@ -107,8 +112,8 @@
<select id="countListBackUserAccount" resultType="java.lang.Integer"
parameterType="com.mmc.iuav.user.model.qo.BUserAccountQO">
select count(*) from back_user_account bua
left join user_role_rel urr on urr.user_account_id=bua.id
where bua.is_deleted = 0
left join user_role_rel urr on urr.back_user_account_id = bua.id
where bua.disable = 0
<if test=" keyword != null and keyword != '' ">
and ( bua.account_no like CONCAT("%",#{keyword},"%") or
bua.user_name like CONCAT("%",#{keyword},"%") )
......@@ -146,12 +151,16 @@
bua.address,
bua.remark,
bua.create_time,
bua.update_time
bua.update_time,
ri.id as ri_id,
ri.role_name,
ri.role_no
FROM
back_user_account bua
left join user_role_rel urr on urr.user_account_id=bua.id
left join user_role_rel urr on urr.back_user_account_id = bua.id
left join role_info ri on ri.id = urr.role_id
WHERE
bua.is_deleted = 0
bua.disable = 0
<if test=" keyword != null and keyword != '' ">
and ( bua.account_no like CONCAT("%",#{keyword},"%") or
bua.user_name like CONCAT("%",#{keyword},"%") )
......@@ -176,9 +185,9 @@
<select id="feignListBackUserAccount" resultMap="backUserAccountResultMap"
parameterType="com.mmc.iuav.user.model.qo.BUserAccountQO">
select ua.id, ua.account_no, ua.phone_num, ua.user_name, ua.user_sex, ua.email, ua.account_status, ua.remark,
ua.is_deleted as deleted, ua.create_time, ua.update_time
ua.disable, ua.create_time, ua.update_time
from back_user_account ua
where ua.is_deleted = 0
where ua.disable = 0
<if test=" userIds != null ">
<foreach collection="userIds" item="id" open="and ua.id in (" close=")" separator=",">
#{id}
......@@ -206,7 +215,7 @@
account_no,
pass_word
from back_user_account
where is_deleted = 0
where disable = 0
and id =
#{id}
</select>
......@@ -219,13 +228,13 @@
bua.account_status,
bua.user_name
from back_user_account bua
where bua.is_deleted = 0
where bua.disable = 0
and BINARY bua.account_no = #{accountNo}
</select>
<select id="countUserAccountNo" resultType="java.lang.Integer">
select count(*) from back_user_account
where account_no = #{accountNo} and is_deleted = 0
where account_no = #{accountNo} and disable = 0
<if test="excludeId != null">
and id != #{excludeId}
</if>
......
......@@ -29,6 +29,10 @@
(#{userAccountId}, #{d}, NOW())
</foreach>
</insert>
<insert id="addWebsiteInfo">
insert into website_info (`name`, address, lat, lon, `type`, user_apply_tag)
values (#{name}, #{address}, #{lat}, #{lon}, #{cooperationTagId}, #{id})
</insert>
<update id="updateUserApplyTag" parameterType="com.mmc.iuav.user.entity.UserApplyTagDO">
UPDATE user_apply_tag
......@@ -51,6 +55,12 @@
<if test="remark != null">
remark = #{remark},
</if>
<if test="content != null and content != ''">
content = #{content},
</if>
<if test="score != null">
score = #{score}
</if>
</set>
WHERE id = #{id};
</update>
......@@ -62,7 +72,10 @@
</update>
<update id="removeUserTag">
update user_tag set is_deleted = 1 where user_account_id = #{userAccountId} and is_deleted = 0
update user_tag
set is_deleted = 1
where user_account_id = #{userAccountId}
and is_deleted = 0
</update>
<update id="updateApplyTagStatus">
......@@ -84,22 +97,33 @@
</select>
<select id="getUserApplyTag" resultType="com.mmc.iuav.user.entity.UserApplyTagDO">
select id,
cooperation_tag_id,
user_account_id,
apply_name,
apply_phone,
apply_status,
remark,
create_time
from user_apply_tag
where id = #{id}
and is_deleted = 0
SELECT ua.id,
ua.cooperation_tag_id,
ua.user_account_id,
ua.apply_name,
ua.apply_phone,
ua.apply_status,
ua.remark,
ua.content,
ua.score,
ua.create_time,
wi.address,
wi.`name`,
wi.lat,
wi.lon
FROM user_apply_tag ua
LEFT JOIN website_info wi ON ua.id = wi.user_apply_tag
WHERE ua.id = #{id}
AND ua.is_deleted = 0
</select>
<select id="listUserCooperationTag" resultType="com.mmc.iuav.user.entity.CooperationTagDO">
select ct.id,ct.tag_name from cooperation_tag ct LEFT JOIN user_tag ut ON ct.id = ut.cooperation_tag_id
where ct.is_deleted = 0 and ut.is_deleted = 0 and ut.user_account_id = #{userAccountId}
select ct.id, ct.tag_name
from cooperation_tag ct
LEFT JOIN user_tag ut ON ct.id = ut.cooperation_tag_id
where ct.is_deleted = 0
and ut.is_deleted = 0
and ut.user_account_id = #{userAccountId}
</select>
<select id="getTagById" resultType="com.mmc.iuav.user.entity.CooperationTagDO">
......@@ -110,20 +134,25 @@
</select>
<select id="countListUserApplyTag" resultType="java.lang.Integer">
select count(*)
from user_apply_tag
from user_apply_tag ua
INNER JOIN cooperation_tag ct ON ua.cooperation_tag_id = ct.id
INNER JOIN company_auth ca ON ca.user_account_id = ua.user_account_id
<where>
is_deleted = 0
ua.is_deleted = 0
<if test="cooperationTagId != null">
and cooperation_tag_id = #{cooperationTagId}
and ua.cooperation_tag_id = #{cooperationTagId}
</if>
<if test="applyStatus != null">
and apply_status = #{applyStatus}
and ua.apply_status = #{applyStatus}
</if>
<if test="startTime != null and startTime != '' ">
and create_time &gt;= STR_TO_DATE(#{startTime},'%Y-%m-%d %H:%i:%s')
and ua.create_time &gt;= STR_TO_DATE(#{startTime},'%Y-%m-%d %H:%i:%s')
</if>
<if test="endTime != null and endTime != '' ">
and create_time &lt;= STR_TO_DATE(#{endTime},'%Y-%m-%d %H:%i:%s')
and ua.create_time &lt;= STR_TO_DATE(#{endTime},'%Y-%m-%d %H:%i:%s')
</if>
<if test="companyName != null and companyName != ''">
and ca.company_name like CONCAT("%",#{companyName},"%")
</if>
</where>
</select>
......@@ -137,10 +166,14 @@
ua.apply_status,
ua.remark,
ua.create_time,
ct.tag_name
ua.content,
ua.score,
ct.tag_name,
ca.company_name
FROM
user_apply_tag ua
INNER JOIN cooperation_tag ct ON ua.cooperation_tag_id = ct.id
INNER JOIN company_auth ca ON ca.user_account_id = ua.user_account_id
<where>
ua.is_deleted = 0
<if test="cooperationTagId != null">
......@@ -155,6 +188,9 @@
<if test="endTime != null">
and ua.create_time &lt;= #{endTime}
</if>
<if test="companyName != null and companyName != ''">
and ca.company_name like CONCAT("%",#{companyName},"%")
</if>
</where>
order by ua.create_time desc
limit #{pageNo},#{pageSize}
......@@ -175,7 +211,8 @@
</select>
<select id="listUserCooperationTagByUIds" resultType="com.mmc.iuav.user.entity.CooperationTagDO">
select ct.id,ct.tag_name,ut.user_account_id from cooperation_tag ct LEFT JOIN user_tag ut ON ct.id = ut.cooperation_tag_id
select ct.id,ct.tag_name,ut.user_account_id from cooperation_tag ct LEFT JOIN user_tag ut ON ct.id =
ut.cooperation_tag_id
where ct.is_deleted = 0 and ut.is_deleted = 0
<if test="uIds != null">
<foreach collection="uIds" item="userAccountId" separator="," open=" and ut.user_account_id in (" close=")">
......@@ -183,4 +220,23 @@
</foreach>
</if>
</select>
<select id="countServiceBitmapData" resultType="java.lang.Integer">
select count(*)
from website_info
where type = #{type}
</select>
<select id="listServiceBitmapData" resultType="com.mmc.iuav.user.entity.WebsiteInfoDO">
SELECT id,
`name`,
address,
lat,
lon,
`type`,
user_apply_tag,
st_distance_sphere(point(lon, lat), point(${lon}, ${lat})) as distance
FROM website_info
where type = #{type}
ORDER BY distance ASC
LIMIT #{pageNo}, #{pageSize}
</select>
</mapper>
\ No newline at end of file
......@@ -14,14 +14,13 @@
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="userAccountId" column="user_account_id"/>
<result property="backUserAccountId" column="back_user_account_id"/>
<result property="userName" column="user_name"/>
<result property="updateTime" column="update_time"/>
<result property="userName" column="user_name"/>
<result property="superAdmin" column="super_admin"/>
</resultMap>
<resultMap id="userAccountResultMap" type="com.mmc.iuav.user.entity.UserAccountDO">
<id property="id" column="id"/>
<result property="uid" column="uid"/>
......@@ -66,8 +65,8 @@
<insert id="insertRoleInfo" useGeneratedKeys="true"
keyProperty="id" parameterType="com.mmc.iuav.user.entity.RoleInfoDO">
insert into role_info(role_no, role_name, user_account_id, remark, create_time, update_time)
values (#{roleNo}, #{roleName}, #{userAccountId}, #{remark}, NOW(), NOW())
insert into role_info(role_no, role_name, back_user_account_id, remark, create_time, update_time)
values (#{roleNo}, #{roleName}, #{backUserAccountId}, #{remark}, NOW(), NOW())
</insert>
<insert id="batchAddMenuIds">
......@@ -83,6 +82,11 @@
</foreach>
</insert>
<insert id="insertUserRoleRel">
INSERT INTO user_role_rel(back_user_account_id, role_id, create_time)
VALUES (#{backUserAccountId}, #{roleId}, NOW());
</insert>
<update id="updateRoleInfo"
parameterType="com.mmc.iuav.user.entity.RoleInfoDO">
UPDATE role_info
......@@ -96,17 +100,20 @@
where id = #{id}
</update>
<update id="updateUserRoleRel">
UPDATE user_role_rel SET role_id = #{roleId}
WHERE back_user_account_id = #{backUserAccountId};
</update>
<select id="listUserRoleInfo" resultType="int"
parameterType="int">
select user_account_id
select back_user_account_id
from user_role_rel
where role_id = #{roleId}
</select>
<delete id="removeRoleInfo" parameterType="java.lang.Integer">
delete
from role_info
where id = #{id}
update role_info set is_deleted = 1 where id = #{id}
</delete>
<delete id="batchDeleteMenuIds">
......@@ -123,6 +130,7 @@
r.role_no,
r.role_name,
r.remark,
r.super_admin,
r.create_time
from role_info r
where r.id = #{id}
......@@ -134,7 +142,7 @@
SELECT count(*)
FROM
role_info r
INNER JOIN back_user_account ua ON r.user_account_id = ua.id
INNER JOIN back_user_account ua ON r.back_user_account_id = ua.id
WHERE
r.is_deleted =0
<if test=" NumberOrName != null and NumberOrName != '' ">
......@@ -152,13 +160,13 @@
r.role_name,
r.remark,
r.create_time,
r.user_account_id,
r.back_user_account_id,
r.super_admin,
ua.user_name,
r.update_time
FROM
role_info r
INNER JOIN back_user_account ua ON r.user_account_id = ua.id
INNER JOIN back_user_account ua ON r.back_user_account_id = ua.id
WHERE
r.is_deleted =0
<if test=" NumberOrName != null and NumberOrName != '' ">
......@@ -172,7 +180,7 @@
<select id="countNotDelUserAccountByRole" resultType="java.lang.Integer">
SELECT count(*)
FROM user_role_rel ur
INNER JOIN user_account ua ON ur.user_account_id = ua.id
INNER JOIN back_user_account ua ON ur.back_user_account_id = ua.id
WHERE ur.role_id = #{id}
AND ua.is_deleted = 0
</select>
......@@ -192,5 +200,11 @@
ORDER BY id DESC LIMIT 1;
</select>
<select id="getRoleInfoByUserId" resultType="com.mmc.iuav.user.entity.RoleInfoDO">
select ri.id,ri.role_no,ri.role_name,ri.is_deleted,ri.remark,
ri.create_time,ri.update_time,ri.back_user_account_id,ri.super_admin
from role_info ri INNER JOIN user_role_rel urr ON ri.id = urr.role_id
where urr.back_user_account_id = #{backUserAccountId}
</select>
</mapper>
......@@ -20,3 +20,4 @@ data-filter:
- /userapp/back-user/listTest
- /userapp/company/listCompanyPageBack
- /userapp/company/getCompanyInfoById
- /userapp/cooperation/service/bitmap
......@@ -18,4 +18,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms
newTag: 4226adde5a2173ccfa143e69df821d3d19a368a0
newTag: 6accac4106c773d7a04f22f7ea1686607acee6b9
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论