提交 85c61fbc 作者: xiaowang

Merge branch 'master' of ssh://git.mmcuav.cn:8222/iuav/cms

...@@ -31,6 +31,21 @@ jobs: ...@@ -31,6 +31,21 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: WeChat Work notification by markdown
uses: chf007/action-wechat-work@master
env:
WECHAT_WORK_BOT_WEBHOOK: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=9be1b073-1760-442d-8e3d-faa0fd32ea16
with:
msgtype: markdown
content: "
### GitHub提交信息 \n
> - 提交人: ${{github.actor}} \n
> - 提交信息: ${{ github.event.head_commit.message }} \n
> - 提交到仓库: ${{github.repository}} \n
> - 提交到分支: ${{github.ref}} \n
即将开始更新,请关注Argocd同步状态...
"
- name: Set up JDK 8 - name: Set up JDK 8
uses: actions/setup-java@v1 uses: actions/setup-java@v1
with: with:
...@@ -62,5 +77,20 @@ jobs: ...@@ -62,5 +77,20 @@ jobs:
git config user.name "Chuck" git config user.name "Chuck"
git config user.email "Chuck@users.noreply.github.com" git config user.email "Chuck@users.noreply.github.com"
git remote set-url origin "$GITLAB_URL" git remote set-url origin "$GITLAB_URL"
git commit -am "generated Image update" git commit -am "Update Image Tag"
git push origin develop git tag -a $TAG -m "日常迭代"
\ No newline at end of file git push origin develop --tags
- name: Send Error Notification by WeChat
if: ${{ failure() }}
run: |
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=9be1b073-1760-442d-8e3d-faa0fd32ea16' -H 'Content-Type: application/json' -d '
{
"msgtype": "markdown",
"markdown": {
"content": "### `GitHub构建并推送镜像失败` \n
> - 提交人: ${{github.actor}} \n
> - 提交信息: ${{github.event.head_commit.message}} \n
> - 提交到仓库: ${{github.repository}} \n
> - 提交到分支: ${{github.ref}} \n 请修复错误后重新提交..."
}'
\ No newline at end of file
...@@ -32,6 +32,21 @@ jobs: ...@@ -32,6 +32,21 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: WeChat Work notification by markdown
uses: chf007/action-wechat-work@master
env:
WECHAT_WORK_BOT_WEBHOOK: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=9be1b073-1760-442d-8e3d-faa0fd32ea16
with:
msgtype: markdown
content: "
### GitHub提交信息 \n
> - 提交人: ${{github.actor}} \n
> - 提交信息: ${{ github.event.head_commit.message }} \n
> - 提交到仓库: ${{github.repository}} \n
> - 提交到分支: ${{github.ref}} \n
即将开始更新,请关注Argocd同步状态...
"
- name: Set up JDK 8 - name: Set up JDK 8
uses: actions/setup-java@v1 uses: actions/setup-java@v1
with: with:
...@@ -63,5 +78,30 @@ jobs: ...@@ -63,5 +78,30 @@ jobs:
git config user.name "Chuck" git config user.name "Chuck"
git config user.email "Chuck@users.noreply.github.com" git config user.email "Chuck@users.noreply.github.com"
git remote set-url origin "$GITLAB_URL" git remote set-url origin "$GITLAB_URL"
git commit -am "generated Image update" git commit -am "Update Image Tag"
git push origin master git tag -a $TAG -m "日常迭代"
\ No newline at end of file git push origin master --tags
- name: Send Error Notification by WeChat
if: ${{ failure() }}
run: |
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=9be1b073-1760-442d-8e3d-faa0fd32ea16' -H 'Content-Type: application/json' -d '
{
"msgtype": "markdown",
"markdown": {
"content": "### `GitHub构建并推送镜像失败` \n
> - 提交人: ${{github.actor}} \n
> - 提交信息: ${{github.event.head_commit.message}} \n
> - 提交到仓库: ${{github.repository}} \n
> - 提交到分支: ${{github.ref}} \n 请修复错误后重新提交..."
}'
#- name: Commit files
# run: |
# git config --local user.email "Chuck@users.noreply.github.com"
# git config --local user.name "Chuck"
# git commit -am "Image Update"
#- name: Push changes
# uses: ad-m/github-push-action@master
# with:
# github_token: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
...@@ -40,7 +40,13 @@ ...@@ -40,7 +40,13 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.16.3</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
package com.mmc.iuav.user.model.dto; package com.mmc.iuav.user.model.dto;
import com.mmc.iuav.user.model.vo.CompanyInfoVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
...@@ -7,24 +8,26 @@ import lombok.NoArgsConstructor; ...@@ -7,24 +8,26 @@ import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
/** /**
* @author 作者 geDuo * @author 作者 geDuo
* @version 创建时间:2021年8月31日 下午8:06:14 * @version 创建时间:2021年8月31日 下午8:06:14
* @explain 类说明 * @explain 类说明
*/ */
@Builder @Builder
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class LoginSuccessDTO implements Serializable { public class LoginSuccessDTO implements Serializable {
private static final long serialVersionUID = -1200834589953161925L; private static final long serialVersionUID = -1200834589953161925L;
private String token; private String token;
private Integer userAccountId; private Integer userAccountId;
private String accountNo; private String accountNo;
private Integer portType; private Integer portType;
private String uid; private String uid;
private String phoneNum; private String phoneNum;
private String userName; private String userName;
private String nickName; private String nickName;
// private RoleInfoDTO roleInfo; private CompanyInfoVO companyInfoVO;
private RoleInfoDTO roleInfo;
private Integer appUserAccountId;
} }
package com.mmc.iuav.user.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author: zj
* @Date: 2023/7/11 14:25
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "菜单DTO")
public class MenuInfoDTO implements Serializable {
private static final long serialVersionUID = -4144480758801282377L;
private Integer id;
@ApiModelProperty(value = "上级ID")
private Integer pid;
@ApiModelProperty(value = "菜单名称")
private String menuName;
@ApiModelProperty(value = "元素类型:0菜单 1按钮")
private String domType;
@ApiModelProperty(value = "路由地址")
private String pathInfo;
@ApiModelProperty(value = "图标")
private String icon;
@ApiModelProperty(value = "下级菜单列表")
private List<MenuInfoDTO> children;
}
package com.mmc.iuav.user.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/7/27 14:49
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "实名认证DTO")
public class RealNameAuthDTO implements Serializable {
private static final long serialVersionUID = -1449716605649423527L;
@ApiModelProperty(value = "实名认证id")
private Integer id;
@ApiModelProperty(value = "用户userAccountId")
private Integer userAccountId;
@ApiModelProperty(value = "实名认证状态")
private Integer checkStatus;
@ApiModelProperty(value = "真实姓名")
private String userName;
@ApiModelProperty(value = "身份证号码")
private String idNumber;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "用户uid")
private String uid;
@ApiModelProperty(value = "用户昵称")
private String nickName;
@ApiModelProperty(value = "用户常驻地址")
private String resAddress;
@ApiModelProperty(value = "手机号")
private String phoneNum;
@ApiModelProperty(value = "实名认证时间")
private String createTime;
}
package com.mmc.iuav.user.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/7/27 14:49
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "实名认证详情DTO")
public class RealNameAuthDetailDTO implements Serializable {
private static final long serialVersionUID = 3101785098483923008L;
@ApiModelProperty(value = "实名认证id")
private Integer id;
@ApiModelProperty(value = "用户userAccountId")
private Integer userAccountId;
@ApiModelProperty(value = "身份证正面")
private String frontIdImg;
@ApiModelProperty(value = "身份证背面")
private String backIdImg;
@ApiModelProperty(value = "身份证号")
private String idNumber;
@ApiModelProperty(value = "姓名")
private String userName;
@ApiModelProperty(value = "状态")
private Integer checkStatus;
}
package com.mmc.iuav.user.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/7/10 16:03
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RoleInfoDTO implements Serializable {
private static final long serialVersionUID = -4791023169682602298L;
@ApiModelProperty(value = "角色ID")
private Integer id;
@ApiModelProperty(value = "角色编号")
private String roleNo;
@ApiModelProperty(value = "角色名称/权限角色")
private String roleName;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "账号名称/创建人")
private String userName;
@ApiModelProperty(value = "0不是超级管理员 1是超级管理员")
private Integer superAdmin;
}
package com.mmc.iuav.user.model.dto; package com.mmc.iuav.user.model.dto;
import com.mmc.iuav.user.model.vo.CompanyAuthVO;
import com.mmc.iuav.user.model.vo.CooperationTagVO; import com.mmc.iuav.user.model.vo.CooperationTagVO;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -9,6 +8,7 @@ import lombok.Data; ...@@ -9,6 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* @author: zj * @author: zj
...@@ -22,10 +22,6 @@ public class UserAccountSimpleDTO implements Serializable { ...@@ -22,10 +22,6 @@ public class UserAccountSimpleDTO implements Serializable {
private static final long serialVersionUID = 3451336520607073343L; private static final long serialVersionUID = 3451336520607073343L;
@ApiModelProperty(value = "用户id") @ApiModelProperty(value = "用户id")
private Integer id; private Integer id;
@ApiModelProperty(value = "用户类型")
private Integer accountType;
@ApiModelProperty(value = "用户账号")
private String accountNo;
@ApiModelProperty(value = "用户uid") @ApiModelProperty(value = "用户uid")
private String uid; private String uid;
@ApiModelProperty(value = "手机号") @ApiModelProperty(value = "手机号")
...@@ -36,6 +32,8 @@ public class UserAccountSimpleDTO implements Serializable { ...@@ -36,6 +32,8 @@ public class UserAccountSimpleDTO implements Serializable {
private String nickName; private String nickName;
@ApiModelProperty(value = "用户头像") @ApiModelProperty(value = "用户头像")
private String userImg; private String userImg;
@ApiModelProperty(value = "openid")
private String openid;
@ApiModelProperty(value = "用户性别:0未知、1男、2女") @ApiModelProperty(value = "用户性别:0未知、1男、2女")
private Integer userSex; private Integer userSex;
@ApiModelProperty(value = "用户邮箱") @ApiModelProperty(value = "用户邮箱")
...@@ -54,4 +52,6 @@ public class UserAccountSimpleDTO implements Serializable { ...@@ -54,4 +52,6 @@ public class UserAccountSimpleDTO implements Serializable {
private String companyName; private String companyName;
@ApiModelProperty(value = "合作标签") @ApiModelProperty(value = "合作标签")
private String tagName; private String tagName;
@ApiModelProperty(value = "用户合作标签")
private List<CooperationTagVO> cooperationTagVOS;
} }
\ No newline at end of file
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;
private String content;
private Integer score;
}
package com.mmc.iuav.user.model.dto.dronepilot;
import com.mmc.iuav.user.model.vo.dronepilot.BaseEnum;
import lombok.Getter;
/**
* @Author small
* @Date 2023/7/28 9:42
* @Version 1.0
*/
@Getter
public enum LicenseType implements BaseEnum {
CAAC("CAAC", "CAAC"),
UTC("UTC", "UTC"),
OTHER("OTHER", "OTHER");
private String code;
private String desc;
private LicenseType(String code, String desc) {
this.code = code;
this.desc = desc;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getdesc() {
return desc;
}
public void setdesc(String desc) {
this.desc = desc;
}
public static LicenseType match(String key) {
LicenseType result = null;
for (LicenseType s : values()) {
if (s.getCode() == key) {
result = s;
break;
}
}
return result;
}
public static LicenseType catchdesc(String msg) {
LicenseType result = null;
for (LicenseType s : values()) {
if (s.getdesc().equals(msg)) {
result = s;
break;
}
}
return result;
}
@Override
public String getEnumCode() {
return code;
}
@Override
public String getEnumDesc() {
return desc;
}
}
package com.mmc.iuav.user.model.dto.dronepilot;
import com.mmc.iuav.group.Create;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
/**
* @Author small
* @Date 2023/7/28 10:59
* @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class PilotAbilityDTO {
@ApiModelProperty(value = "能力id不能为空", example = "航拍摄影,农业植保", required = true)
@NotBlank(message = "能力id不能为空", groups = {Create.class, Update.class})
private Integer abilityId;
@ApiModelProperty(value = "能力不能为空", example = "航拍摄影,农业植保", required = true)
@NotBlank(message = "能力名称不能为空", groups = {Create.class, Update.class})
private String abilityName;
}
package com.mmc.iuav.user.model.dto.dronepilot;
import com.alibaba.fastjson2.annotation.JSONField;
import com.mmc.iuav.group.Create;
import com.mmc.iuav.group.Update;
import com.mmc.iuav.user.model.vo.dronepilot.EnumValue;
import com.mmc.iuav.user.model.vo.dronepilot.PilotAbilityVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
import java.util.List;
/**
* @Author small
* @Date 2023/7/28 10:02
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PilotCertificationDTO {
@ApiModelProperty(value = "飞手执照id", example = "1")
@NotNull(message = "飞手执照id不能为空", groups = Update.class)
private Integer id;
@ApiModelProperty(value = "执照类型 CAAC,UTC,OTHER(其他) 目前只有三种", example = "UTC", required = false)
@EnumValue(enumClass = LicenseType.class, message = "取值不合法,参考:LicenseType")
private String licenseType;
@ApiModelProperty(value = "电子执照的编号", example = "231321312313211", required = true)
@NotBlank(message = "电子执照的编号不能为空", groups = {Create.class, Update.class})
private String licenseNumber;
@ApiModelProperty(value = "上传执照", example = "http://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/2cbbeffb-c1d1-4b26-a9a9-9e17c85e35a9.jpg", required = true)
@NotBlank(message = "上传执照的照片不能为空", groups = {Create.class, Update.class})
private String licenseUrl;
@ApiModelProperty(value = "地区编号不能为空", example = "100001", required = true)
@NotBlank(message = "地区编号不能为空", groups = {Create.class, Update.class})
private Integer areaNumber;
@ApiModelProperty(value = "常驻城市不能为空", example = "深圳市", required = true)
@NotBlank(message = "常驻城市不能为空", groups = {Create.class, Update.class})
private String residentCity;
@ApiModelProperty(value = "工作年限", example = "3", required = true)
@NotBlank(message = "工作年限不能为空", groups = {Create.class, Update.class})
private Integer yearsOfWorking;
@NotNull(message = "能力不能为空", groups = {Create.class, Update.class})
List<PilotAbilityVO> pilotAbility;
@ApiModelProperty(value = "能力不能为空", example = "http://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/2cbbeffb-c1d1-4b26-a9a9-9e17c85e35a9.jpg", required = true)
@NotBlank(message = "能力图片不能为空", groups = {Create.class, Update.class})
private String abilityUrl;
@ApiModelProperty(value = "个人简介", example = "无人机专业,工作三年", required = true)
@NotBlank(message = "个人简介不能为空", groups = {Create.class, Update.class})
@Size(max = 300, message = "个人不能超过300")
private String individualResume;
@ApiModelProperty(value = "备注", example = "航拍摄影,农业植保", required = false)
private String remark;
@ApiModelProperty(value = "审核是否通过 0审核中 1审核通过 2审核不通过", example = "0审核中 1审核通过 2审核不通过", required = false)
private Integer auditStatus;
@ApiModelProperty(value = "申请用户的id", example = "1")
private Integer userAccountId;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date timeOfApplication;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@ApiModelProperty(value = "申请用户的名称", example = "1")
private String userName;
@ApiModelProperty(value = "申请用户的性别", example = "1")
private Integer sex;
@ApiModelProperty(value = "申请用户的年龄", example = "1")
private Integer age;
/**
* 申请飞手的手机号
*/
@ApiModelProperty(value = "申请飞手的手机号", example = "18921312312")
private String phoneNum;
@ApiModelProperty(value = "审批不通过原因id", example = "1")
private Integer reasonId;
@ApiModelProperty(value = "审批不通过的原因", example = "1")
private String reason;
@ApiModelProperty(value = "飞手头像", example = "http://")
private String userImg;
}
package com.mmc.iuav.user.model.dto.dronepilot;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/8/18 16:01
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PilotCertificationInteriorDTO {
@ApiModelProperty(value = "飞手执照id", example = "1")
@NotNull(message = "飞手执照id不能为空")
private Integer id;
@ApiModelProperty(value = "申请飞手用户的id", example = "1")
private Integer userAccountId;
}
package com.mmc.iuav.user.model.dto.dronepilot;
import com.alibaba.fastjson2.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @Author small
* @Date 2023/7/29 17:09
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PilotCertificationLogDTO {
@ApiModelProperty(value = "id", example = "1")
private Integer id;
@ApiModelProperty(value = "审批及认证时间", example = "1")
private Date certificationDate;
@ApiModelProperty(value = "申请人员的id", example = "1")
private Integer userAccountId;
@ApiModelProperty(value = "申请人员的账号名称", example = "1")
private String userName;
@ApiModelProperty(value = "申请及审批信息", example = "1")
private String certificationMessage;
@ApiModelProperty(value = "操作人员id", example = "1")
private Integer operatorUserId;
@ApiModelProperty(value = "操作人员账号", example = "1")
private String operatorUserAccount;
@ApiModelProperty(value = "操作人员名称", example = "1")
private String operatorUserName;
@ApiModelProperty(value = "手机号", example = "1")
private String phoneNum;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
package com.mmc.iuav.user.model.dto.dronepilot;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/8/3 16:25
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PilotReasonDTO {
@ApiModelProperty(value = "原因id", example = "1")
@NotNull(message = "原因id", groups = Update.class)
private Integer id;
@ApiModelProperty(value = "原因", example = "1")
private String reason;
}
package com.mmc.iuav.user.model.dto.userpoints;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @Author small
* @Date 2023/8/5 16:33
* @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class UserPointsDTO {
@ApiModelProperty(value = "积分id", example = "1")
private Integer id;
@ApiModelProperty(value = "微信昵称", example = "张三")
private String nickName;
@ApiModelProperty(value = "手机号", example = "189213123312")
private String phoneNum;
@ApiModelProperty(value = "用户id", example = "1")
private Integer userAccountId;
@ApiModelProperty(value = "积分总额", example = "3")
private Integer totalPoints;
@ApiModelProperty(value = "创建时间", example = "2023-08-05 16:25:02")
private Date createTime;
@ApiModelProperty(value = "更新时间", example = "2023-08-05 16:25:02")
private Date updateTime;
}
package com.mmc.iuav.user.model.dto.userpoints;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @Author small
* @Date 2023/8/7 11:23
* @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class UserPointsDetailsDTO {
@ApiModelProperty(value = "id不能为空", example = "1")
private Integer id;
@ApiModelProperty(value = "用户id", example = "1")
private Integer userAccountId;
@ApiModelProperty(value = "积分", example = "1")
private Integer point;
@ApiModelProperty(value = "积分来源", example = "1")
private String pointSource;
@ApiModelProperty(value = "积分发放时间", example = "1")
private Date timeOfRelease;
@ApiModelProperty(value = "创建时间", example = "2023-08-05 16:25:02")
private Date createTime;
@ApiModelProperty(value = "更新时间", example = "2023-08-05 16:25:02")
private Date updateTime;
@ApiModelProperty(value = "微信昵称", example = "张三")
private String nickName;
@ApiModelProperty(value = "手机号", example = "189893132")
private String phoneNum;
}
package com.mmc.iuav.user.model.dto.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author 作者 lw
* @version 创建时间:2023.08.18 下午13:31:12
* @explain 类说明
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PayWalletDTO implements Serializable {
private static final long serialVersionUID = 75097833899496576L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "用户ID")
private Integer userAccountId;
@ApiModelProperty(value = "用户姓名")
private String userName;
@ApiModelProperty(value = "云享金余额")
private BigDecimal cashAmt;
@ApiModelProperty(value = "云享金总金额")
private BigDecimal totalCash;
@ApiModelProperty(value = "已冻结云享金")
private BigDecimal cashFreeze;
@ApiModelProperty(value = "佣金余额")
private BigDecimal salaryAmt;
@ApiModelProperty(value = "已冻结佣金")
private BigDecimal salaryFreeze;
@ApiModelProperty(value = "佣金总额度")
private BigDecimal totalSalary;
@ApiModelProperty(value = "已提现的金额")
private BigDecimal rebateWdl;
@ApiModelProperty(value = "提现冻结金额")
private BigDecimal wdlFreeze;
@ApiModelProperty(value = "冻结总额")
private BigDecimal totalFreeze;
@ApiModelProperty(value = "总金额")
private BigDecimal totalAmount;
public void mathTotal() {
// 总冻结余额
this.totalFreeze = BigDecimal.ZERO;
if (this.cashFreeze != null) {
this.totalFreeze = this.totalFreeze.add(this.cashFreeze);
}
if (this.salaryFreeze != null) {
this.totalFreeze = this.totalFreeze.add(this.salaryFreeze);
}
// 总云享金余额
this.totalCash = BigDecimal.ZERO;
if (this.cashAmt != null) {
this.totalCash = this.totalCash.add(this.cashAmt);
}
if (this.cashFreeze != null) {
this.totalCash = this.totalCash.add(this.cashFreeze);
}
// 总佣金余额
this.totalSalary = BigDecimal.ZERO;
if (this.salaryAmt != null) {
this.totalSalary = this.totalSalary.add(this.salaryAmt);
}
if (this.salaryFreeze != null) {
this.totalSalary = this.totalSalary.add(this.salaryFreeze);
}
// 总金额
this.totalAmount = BigDecimal.ZERO;
this.totalAmount = this.totalAmount.add(this.totalCash);
this.totalAmount = this.totalAmount.add(this.totalSalary);
}
}
package com.mmc.iuav.user.model.dto.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author 作者 lw
* @version 创建时间:2023.8.28 11:08:54
* @explain 类说明
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WithdrawalApplyDTO implements Serializable {
private static final long serialVersionUID = -5782430067900145219L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "申请人的用户ID")
private Integer userAccountId;
@ApiModelProperty(value = "申请金额")
private BigDecimal applyAmt;
@ApiModelProperty(value = "申请状态: 0平台处理中 1提现成功 2提现失败")
private Integer applyStatus;
@ApiModelProperty(value = "开户人")
private String empName;
@ApiModelProperty(value = "开户银行-支行名称")
private String bankName;
@ApiModelProperty(value = "收款账号")
private String payAccount;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "流水编号")
private String outerTradeNo;
@ApiModelProperty(value = "手机号")
private String phoneNum;
@ApiModelProperty(value = "提现方式-微信(wechat)-支付宝(alipay)-银行卡(bank_card)", required = true, example = "wechat")
private String settleType;
@ApiModelProperty(value = "处理信息")
private String tradeResult;
@ApiModelProperty(value = "apply 提现申请 await待发放 handle交易中 success 交易成功 failure 交易失败")
private String tradeStatus;
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package com.mmc.iuav.user.model.dto.xzsz;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* @Author LW
* @date 2023/8/29 14:25
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UsableCashPoolingDTO {
@ApiModelProperty(value = "商户企业名称")
private String companyName;
@ApiModelProperty(value = "可用余额(含税费金额)")
private String taxFundName;
@ApiModelProperty(value = "税源地名称")
private BigDecimal availableBalance;
@ApiModelProperty(value = "交易渠道")
private String tradesChannel;
}
package com.mmc.iuav.user.model.fdd.dto;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author:zhenjie Date:2022/9/2
* time:14:34
*/
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
@ApiModel(value = "com.mmc.csf.fdd.dto.AppEVerifyInfoDTO", description = "小程序用户企业认证DTO")
public class FddVerifyInfoDTO implements Serializable {
private static final long serialVersionUID = 4194664180348523961L;
private Integer id;
private Integer userFddId;
private String customerId;
private String transactionNo;
private String url;
private Integer deleted;
private Date createTime;
private Date updateTime;
}
package com.mmc.iuav.user.model.fdd.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* author:zhenjie
* Date:2022/9/1
* time:15:53
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UserFddDTO implements Serializable {
private static final long serialVersionUID = -4952516407490131779L;
private Integer id;
private String unionId;
private String customerId;
private Integer personVerifyStatus;
private Integer entVerifyStatus;
private Integer accountType;
private Date createTime;
private Date updateTime;
}
package com.mmc.iuav.user.model.fdd.req;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* author:zhenjie
* Date:2022/7/27
* time:14:29
*/
@Data
@NoArgsConstructor
public class NECertReq implements Serializable {
private static final long serialVersionUID = 6174142180495289363L;
private String name;
private String value;
}
package com.mmc.iuav.user.model.fdd.resp;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* author:zhenjie
* Date:2022/7/21
* time:18:13
*/
@Data
@NoArgsConstructor
public class CompanyVerifyResp implements Serializable {
private static final long serialVersionUID = 5835274401261039702L;
private String transactionNo;
private String url;
}
package com.mmc.iuav.user.model.fdd.resp;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* author:zhenjie
* Date:2022/7/18
* time:16:00
*/
@Data
@NoArgsConstructor
public class PersonVerifyResp implements Serializable {
private static final long serialVersionUID = 7583599952872411025L;
private String transactionNo;
private String url;
}
package com.mmc.iuav.user.model.fdd.seal;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author LW
* @date 2022/8/3 16:24
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SealDetail implements Serializable {
@ApiModelProperty(value = "签章图片Base64")
private String signatureImg;
@ApiModelProperty(value = "签章编号")
private String signatureId;
@ApiModelProperty(value = "签章图片作用范围:0:非默认 1:默认章")
private Integer signatureScope;
@ApiModelProperty(value = "签章来源 0:法大大生成 1:平台上传")
private String signatureSource;
@ApiModelProperty(value = "企业或者个人 1:个人 2:企业")
private String signatureType;
}
package com.mmc.iuav.user.model.qo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.domain.Page;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author LW
* @date 2023/6/27 14:59 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ApplyQO {
@ApiModelProperty(value = "申请加盟类型", example = "1")
private Integer cooperationTagId;
@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;
@ApiModelProperty(value = "结束时间", example = "2023-12-31 23:59:59")
private String endTime;
@ApiModelProperty(value = "页码", required = true, example = "1")
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true, example = "10")
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
...@@ -47,10 +47,13 @@ public class BUserAccountQO implements Serializable { ...@@ -47,10 +47,13 @@ public class BUserAccountQO implements Serializable {
@ApiModelProperty(value = "用户id集合") @ApiModelProperty(value = "用户id集合")
private List<Integer> userIds; private List<Integer> userIds;
@ApiModelProperty(value = "单位id")
private Integer companyInfoId;
@ApiModelProperty(value = "推荐单位id") @ApiModelProperty(value = "推荐单位id")
private Integer rcdCompanyId; private Integer rcdCompanyId;
@ApiModelProperty(value="单位集合", hidden = true) @ApiModelProperty(value = "单位集合", hidden = true)
private List<Integer> companys; private List<Integer> companys;
@ApiModelProperty(value = "页码", required = true) @ApiModelProperty(value = "页码", required = true)
......
package com.mmc.iuav.user.model.qo;
import com.mmc.iuav.group.Insert;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.domain.Page;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/7/3 16:28
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CompanyInfoQO implements Serializable {
private static final long serialVersionUID = -6148830939232702460L;
@ApiModelProperty(value = "单位id", hidden = true)
private Integer companyInfoId;
@ApiModelProperty(value = "单位名称", example = "科比特")
private String companyName;
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.iuav.user.model.qo;
import com.mmc.iuav.group.Page;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* author:zhenjie
* Date:2021/10/27
* time:20:08
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "实名认证查询QO")
public class RealNameAuthQO implements Serializable {
private static final long serialVersionUID = 3767938308251944541L;
@ApiModelProperty(value = "关键字")
private String keyword;
@ApiModelProperty(value = "地区", hidden = true)
private String area;
@ApiModelProperty(value = "实名认证状态", hidden = true)
private Integer checkStatus;
@ApiModelProperty(value = "单位id集合", hidden = true)
private List<Integer> companyIds;
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.iuav.user.model.qo;
import com.mmc.iuav.group.Freeze;
import com.mmc.iuav.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/7/10 16:02
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RoleInfoQO implements Serializable {
private static final long serialVersionUID = -3729786590325257669L;
@ApiModelProperty(value = "权限角色/或者编号", required = false, hidden = true)
private Integer id;
@ApiModelProperty(value = "权限角色/或者编号", required = false)
private String NumberOrName;
@ApiModelProperty(value = "当前页", required = true, example = "1")
@NotNull(message = "当前页不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "页大小", required = true, example = "10")
@NotNull(message = "页大小不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
...@@ -9,6 +9,7 @@ import org.springframework.data.domain.Page; ...@@ -9,6 +9,7 @@ import org.springframework.data.domain.Page;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* @author: zj * @author: zj
...@@ -22,6 +23,15 @@ public class UserAccountQO implements Serializable { ...@@ -22,6 +23,15 @@ public class UserAccountQO implements Serializable {
@ApiModelProperty(value = "关键字", required = false, example = "lux") @ApiModelProperty(value = "关键字", required = false, example = "lux")
private String keyword; private String keyword;
@ApiModelProperty(value = "省份编码", required = false)
private Integer provinceCode;
@ApiModelProperty(value = "城市编码", required = false)
private Integer cityCode;
@ApiModelProperty(value = "县区编码", required = false)
private Integer districtCode;
@ApiModelProperty(value = "电话号码", required = false) @ApiModelProperty(value = "电话号码", required = false)
private String phoneNum; private String phoneNum;
...@@ -34,7 +44,7 @@ public class UserAccountQO implements Serializable { ...@@ -34,7 +44,7 @@ public class UserAccountQO implements Serializable {
@ApiModelProperty(value = "结束时间", example = "2023-10-18 23:59:59") @ApiModelProperty(value = "结束时间", example = "2023-10-18 23:59:59")
private String endTime; private String endTime;
@ApiModelProperty(value = "实名认证状态(0未通过,1通过)", hidden = true) @ApiModelProperty(value = "实名认证状态(0未通过,1通过)")
private Integer realAuthStatus; private Integer realAuthStatus;
@ApiModelProperty(value = "企业认证状态(0未通过,1通过)", example = "1") @ApiModelProperty(value = "企业认证状态(0未通过,1通过)", example = "1")
...@@ -46,6 +56,12 @@ public class UserAccountQO implements Serializable { ...@@ -46,6 +56,12 @@ public class UserAccountQO implements Serializable {
@ApiModelProperty(value = "用户来源:0自然流,1海报,2抖音,3公众号,4社群,5招投标,默认0", hidden = true) @ApiModelProperty(value = "用户来源:0自然流,1海报,2抖音,3公众号,4社群,5招投标,默认0", hidden = true)
private Integer source; private Integer source;
@ApiModelProperty(value = "用户id集合")
private List<Integer> userIds;
@ApiModelProperty(value = "单位id", required = false)
private Integer companyInfoId;
@ApiModelProperty(value = "页码", required = true, example = "1") @ApiModelProperty(value = "页码", required = true, example = "1")
@NotNull(message = "页码不能为空", groups = Page.class) @NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class) @Min(value = 1, groups = Page.class)
......
package com.mmc.iuav.user.model.qo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.domain.Page;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/7/15 11:03
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserRcdQO implements Serializable {
private static final long serialVersionUID = 1561616165L;
@ApiModelProperty(value = "用户id不能为空", required = true, example = "1")
@NotNull(message = "用户id不能为空", groups = Page.class)
private Integer userAccountId;
@ApiModelProperty(value = "页码", required = true, example = "1")
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true, example = "10")
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.iuav.user.model.qo.dronepilot;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/7/29 16:42
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PilotAuditStatusQO {
@ApiModelProperty(value = "飞手认证id", required = true)
@NotNull(message = "审批是不能为空不能为空", groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "0审核中 1审核通过 2审核不通过", required = false, example = "0")
private Integer auditStatus;
@ApiModelProperty(value = "原因id", required = false, example = "1")
private String reasonId;
@ApiModelProperty(value = "审批人", required = false, example = "信息不完善", hidden = true)
private Integer operatorUserId;
@ApiModelProperty(value = "是否是第一次审批", required = false, example = "是否是第一次审批", hidden = true)
private Integer isFirstApprove;
}
package com.mmc.iuav.user.model.qo.dronepilot;
import com.mmc.iuav.group.Freeze;
import com.mmc.iuav.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/7/29 17:15
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PilotCertificationLogQO implements Serializable {
@ApiModelProperty(value = "账号筛选(uid,姓名,手机号)", required = false, example = "张三")
private String accountNumber;
@ApiModelProperty(value = "当前页", required = true, example = "1")
@NotNull(message = "当前页不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "页大小", required = true, example = "10")
@NotNull(message = "页大小不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.iuav.user.model.qo.dronepilot;
import com.mmc.iuav.group.Freeze;
import com.mmc.iuav.group.Page;
import com.mmc.iuav.user.model.dto.dronepilot.LicenseType;
import com.mmc.iuav.user.model.vo.dronepilot.EnumValue;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/7/29 10:14
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PilotCertificationQO implements Serializable {
private static final long serialVersionUID = -3729786590325257669L;
@ApiModelProperty(value = "飞手认证id")
private Integer id;
@ApiModelProperty(value = "地区编码", required = false)
private Integer areaNumber;
@ApiModelProperty(value = "能力认证id", required = false, example = "1")
private Integer abilityId;
@ApiModelProperty(value = "执照类型 CAAC,UTC,OTHER(其他) 目前只有三种", example = "UTC", required = false)
@EnumValue(enumClass = LicenseType.class, message = "取值不合法,参考:LicenseType")
private String licenseType;
@ApiModelProperty(value = "账号筛选(uid,姓名,手机号)", required = false, example = "张三")
private String accountNumber;
@ApiModelProperty(value = "审核是否通过 0审核中 1审核通过 2审核不通过", required = false, example = "0")
private Integer auditStatus;
@ApiModelProperty(value = "当前页", required = true, example = "1")
@NotNull(message = "当前页不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "页大小", required = true, example = "10")
@NotNull(message = "页大小不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.iuav.user.model.qo.dronepilot;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/7/29 16:36
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PilotRemarkQO implements Serializable {
@ApiModelProperty(value = "飞手认证id", required = true)
@NotNull(message = "修改时不能为空", groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "备注", required = false, example = "0")
private String remark;
}
package com.mmc.iuav.user.model.qo.userpoints;
import com.mmc.iuav.group.Freeze;
import com.mmc.iuav.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/8/7 13:51
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AppPointsDetailsQO {
@ApiModelProperty(value = "当前页", required = true, example = "1")
@NotNull(message = "当前页不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "页大小", required = true, example = "10")
@NotNull(message = "页大小不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageSize;
@ApiModelProperty(value = "用户id", example = "26", hidden = true)
private Integer userAccountId;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.iuav.user.model.qo.userpoints;
import com.mmc.iuav.group.Freeze;
import com.mmc.iuav.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/8/5 16:40
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserPointQO {
@ApiModelProperty(value = "当前页", required = true, example = "1")
@NotNull(message = "当前页不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "页大小", required = true, example = "10")
@NotNull(message = "页大小不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageSize;
@ApiModelProperty(value = "手机号", example = "189213123312")
private String phoneNum;
@ApiModelProperty(value = "微信昵称", example = "张三")
private String nickName;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.iuav.user.model.qo.userpoints;
import com.mmc.iuav.group.Freeze;
import com.mmc.iuav.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/8/7 13:45
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserPointsDetailsQO {
@ApiModelProperty(value = "当前页", required = true, example = "1")
@NotNull(message = "当前页不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "页大小", required = true, example = "10")
@NotNull(message = "页大小不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageSize;
@ApiModelProperty(value = "用户id", example = "26", required = true)
private Integer userAccountId;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.iuav.user.model.qo.wallet;
import com.mmc.iuav.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author 作者 lw
* @version 创建时间:2023.8.26 上午11:40:21
* @explain 类说明
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WalletFlowQO implements Serializable {
private static final long serialVersionUID = -2568266056802132237L;
@ApiModelProperty(value = "用户id", hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "查询年-月")
private String yearMonth;
@ApiModelProperty(value = "开始时间")
private String startTime;
@ApiModelProperty(value = "结束时间", hidden = true)
private String endTime;
@ApiModelProperty(value = "状态类型")
private Integer payMethod;
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = {Page.class})
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = {Page.class})
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.iuav.user.model.qo.wallet;
/**
* @author 作者 geDuo
* @version 创建时间:2021年10月29日 下午2:25:08
* @explain 类说明
*/
import com.mmc.iuav.group.Freeze;
import com.mmc.iuav.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WithdrawalApplyQO implements Serializable {
private static final long serialVersionUID = -2185498289462506967L;
@ApiModelProperty(value = "关键字", example = "666")
private String keyword;
@ApiModelProperty(value = "开始时间", example = "2023-08-28 00:00:00")
private String startTime;
@ApiModelProperty(value = "结束时间", example = "2023-08-28 23:59:59")
private String endTime;
@ApiModelProperty(value = "状态: apply 提现申请 await待发放 handle交易中 success 交易成功 failure 交易失败", example = "0")
private String tradeStatus;
@ApiModelProperty(value = "通道标识-微信(wechat)-支付宝(alipay)-银行卡(bank_card)", required = true, example = "wechat")
private String settleType;
@ApiModelProperty(value = "页码", required = true, example = "1")
@NotNull(message = "页码不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true, example = "10")
@NotNull(message = "每页显示数不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
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;
import java.util.List;
/**
* @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 websiteId;
@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;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "附件")
private List<AttachmentVO> attachmentList;
@ApiModelProperty(value = "公司名称")
private String companyName;
@ApiModelProperty(value = "品牌名称")
private String brandName;
@ApiModelProperty(value = "品牌logo")
private String brandLogo;
@ApiModelProperty(value = "营业执照")
private String licenseImg;
}
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/6/27 13:49 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AttachmentVO implements Serializable {
@ApiModelProperty(value = "附件url")
private String url;
@ApiModelProperty(value = "附件类型:0:图片 1:文件")
private Integer type;
@ApiModelProperty(value = "")
private Integer userApplyTagId;
}
...@@ -55,18 +55,19 @@ public class BUserAccountVO implements Serializable { ...@@ -55,18 +55,19 @@ public class BUserAccountVO implements Serializable {
@NotNull(message = "状态不能为空", groups = {Update.class}) @NotNull(message = "状态不能为空", groups = {Update.class})
private Integer accountStatus; private Integer accountStatus;
@ApiModelProperty(value = "角色", example = "1", hidden = true) @ApiModelProperty(value = "角色", example = "1")
//@NotNull(message = "角色不能为空", groups = {Create.class, Update.class}) @NotNull(message = "角色不能为空", groups = {Create.class, Update.class})
private Integer roleId; private Integer roleId;
@ApiModelProperty(value = "能控制的用户资源来源",hidden = true) @ApiModelProperty(value = "能控制的用户资源来源", hidden = true)
private Integer controlSource; private Integer controlSource;
@ApiModelProperty(value = "电子邮箱", example = "220700100213@163.com") @ApiModelProperty(value = "电子邮箱", example = "220700100213@163.com")
@Email @Email
private String email; private String email;
@ApiModelProperty(value = "所属公司ID",example = "1", hidden = true) @ApiModelProperty(value = "所属公司ID", example = "0")
@NotNull(message = "所属公司不能为空", groups = {Create.class})
private Integer companyId; private Integer companyId;
@ApiModelProperty(value = "账号类型:0合伙人 1员工", example = "1", hidden = true) @ApiModelProperty(value = "账号类型:0合伙人 1员工", example = "1", hidden = true)
...@@ -80,4 +81,7 @@ public class BUserAccountVO implements Serializable { ...@@ -80,4 +81,7 @@ public class BUserAccountVO implements Serializable {
@ApiModelProperty(value = "县区编码", required = false) @ApiModelProperty(value = "县区编码", required = false)
private Integer districtCode; private Integer districtCode;
@ApiModelProperty(value = "地址,用“/”分隔", required = false)
private String address;
} }
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;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Email;
import java.io.Serializable;
import java.util.Date;
/**
* @author: zj
* @Date: 2023/6/21 17:32
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BackUserAccountVO implements Serializable {
private static final long serialVersionUID = -9128622882856324055L;
@ApiModelProperty(value = "用户id")
private Integer id;
@ApiModelProperty(value = "用户uid")
private Integer uid;
@ApiModelProperty(value = "用户账号")
private String accountNo;
@ApiModelProperty(value = "手机号")
private String phoneNum;
@ApiModelProperty(value = "用户名称")
private String userName;
@ApiModelProperty(value = "用户昵称")
private String nickName;
@ApiModelProperty(value = "用户头像")
private String userImg;
@ApiModelProperty(value = "用户性别:0未知、1男、2女")
private Integer userSex;
@ApiModelProperty(value = "用户邮箱")
@Email
private String email;
@ApiModelProperty(value = "用户可用状态:0禁用、1可用")
private Integer accountStatus;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "企业认证状态, 0未通过,1通过")
private Integer companyAuthStatus;
@ApiModelProperty(value = "合作标签id")
private Integer cooperationTagId;
@ApiModelProperty(value = "企业名称")
private String companyName;
@ApiModelProperty(value = "合作标签名称")
private String tagName;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "禁用状态")
private Integer disable;
@ApiModelProperty(value = "单位信息")
private CompanyInfoVO companyInfoVO;
@ApiModelProperty(value = "角色信息")
private RoleInfoDTO roleInfoDTO;
}
...@@ -23,19 +23,18 @@ import java.io.Serializable; ...@@ -23,19 +23,18 @@ import java.io.Serializable;
public class CompanyAuthVO implements Serializable { public class CompanyAuthVO implements Serializable {
private static final long serialVersionUID = 3584743219477515646L; private static final long serialVersionUID = 3584743219477515646L;
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
@NotNull(message = "id创建修改不能为空", groups = { Update.class }) @NotNull(message = "id不能为空", groups = {Update.class})
private Integer id; private Integer id;
@ApiModelProperty(value = "用户id", hidden = true) @ApiModelProperty(value = "用户id", hidden = true)
//@NotNull(message = "用户id不能为空", groups = { Insert.class, Update.class})
private Integer userAccountId; private Integer userAccountId;
@ApiModelProperty(value = "企业名称") @ApiModelProperty(value = "企业名称")
@NotBlank(message = "企业名称", groups = { Insert.class, Update.class}) @NotBlank(message = "企业名称", groups = {Insert.class, Update.class})
private String companyName; private String companyName;
@ApiModelProperty(value = "统一社会信用代码") @ApiModelProperty(value = "统一社会信用代码")
@NotBlank(message = "统一社会信用代码", groups = { Insert.class, Update.class}) @NotBlank(message = "统一社会信用代码", groups = {Insert.class, Update.class})
private String creditCode; private String creditCode;
@ApiModelProperty(value = "营业执照") @ApiModelProperty(value = "营业执照")
@NotBlank(message = "营业执照", groups = { Insert.class, Update.class }) @NotBlank(message = "营业执照", groups = {Insert.class, Update.class})
private String licenseImg; private String licenseImg;
@ApiModelProperty(value = "企业认证状态,0未通过,1已通过") @ApiModelProperty(value = "企业认证状态,0未通过,1已通过")
private Integer authStatus; private Integer authStatus;
......
package com.mmc.iuav.user.model.vo;
import com.mmc.iuav.group.Insert;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/7/3 16:04
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CompanyInfoVO implements Serializable {
private static final long serialVersionUID = 3247519744829926132L;
@ApiModelProperty(value = "id")
@NotNull(message = "id不能为空", groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "单位类型,0科比特,1加盟公司", example = "0")
@NotNull(message = "单位类型不能为空", groups = {Insert.class})
private Integer companyType;
@ApiModelProperty(value = "单位名称", example = "科比特")
@NotNull(message = "单位名称不能为空", groups = {Insert.class})
private String companyName;
@ApiModelProperty(value = "单位全称", example = "浙江科比特创新科技有限公司")
private String fullName;
@ApiModelProperty(value = "省份名称", example = "广东省", hidden = true)
@NotNull(message = "省份名称不能为空")
private String province;
@ApiModelProperty(value = "城市名称", example = "深圳市", hidden = true)
@NotNull(message = "城市名称不能为空")
private String city;
@ApiModelProperty(value = "县区名称", example = "南山区", hidden = true)
@NotNull(message = "县区名称不能为空")
private String district;
@ApiModelProperty(value = "详细地址", example = "西丽街道万科云城国际创新谷6栋")
@NotNull(message = "详细地址不能为空", groups = {Insert.class})
private String address;
@ApiModelProperty(value = "联系人", example = "lx")
private String companyUserName;
@ApiModelProperty(value = "联系电话", example = "13925255742")
private String phoneNum;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "小程序用户id")
private Integer userAccountId;
@ApiModelProperty(value = "后台用户id")
private Integer backUserAccountId;
@ApiModelProperty(value = "纬度")
private Double lat;
@ApiModelProperty(value = "经度")
private Double lon;
@ApiModelProperty(value = "社会信用代码")
private String creditCode;
@ApiModelProperty(value = "营业执照")
private String licenseImg;
@ApiModelProperty(value = "品牌名称", example = "科比特")
private String brandName;
@ApiModelProperty(value = "品牌logo", example = "http://")
private String brandLogo;
@ApiModelProperty(value = "管理员标识")
private Integer leader;
@ApiModelProperty(value = "服务资质信息", example = "5星店铺")
private String content;
@ApiModelProperty(value = "评分", example = "*****")
private Integer score;
@ApiModelProperty(value = "背景图", example = "http://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/3505c402-cbf9-41a5-9d6f-bdb350625bea.jpg")
private String backImg;
@ApiModelProperty(value = "当前距离")
private Double distance;
}
package com.mmc.iuav.user.model.vo; package com.mmc.iuav.user.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
...@@ -22,12 +21,14 @@ public class CooperationTagVO implements Serializable { ...@@ -22,12 +21,14 @@ public class CooperationTagVO implements Serializable {
private static final long serialVersionUID = 8884567706797525506L; private static final long serialVersionUID = 8884567706797525506L;
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
private Integer id; private Integer id;
@ApiModelProperty(value = "合作标签名称") @ApiModelProperty(value = "合作标签名称", example = "企业名称")
private String tagName; private String tagName;
@ApiModelProperty(value = "合作标签img") @ApiModelProperty(value = "合作标签img", example = "http://")
private String tagImg; private String tagImg;
@ApiModelProperty(value = "合作标签描述") @ApiModelProperty(value = "合作标签描述", example = "描述")
private String tagDescription; private String tagDescription;
@ApiModelProperty(value = "注意事项", example = "注意事项")
private String tagRequire;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private Date createTime; private Date createTime;
} }
package com.mmc.iuav.user.model.vo;
import com.mmc.iuav.group.Create;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/7/27 14:49
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "新增/修改参数类")
public class RealNameAuthVO implements Serializable {
private static final long serialVersionUID = -8096210744248682679L;
@ApiModelProperty(value = "用户ID")
@NotNull(message = "用户ID不能为空", groups = {Update.class, Create.class})
private Integer userAccountId;
@ApiModelProperty(value = "名字")
@NotBlank(message = "名字不能为空", groups = {Create.class})
private String userName;
@ApiModelProperty(value = "身份证号码")
@NotBlank(message = "身份证号码不能为空", groups = {Create.class})
private String idNumber;
@ApiModelProperty(value = "身份证正面照片地址")
@NotBlank(message = "身份证正面照片不能为空", groups = {Create.class})
private String frontIdImg;
@ApiModelProperty(value = "身份证反面照片地址")
@NotBlank(message = "身份证反面照片不能为空", groups = {Create.class})
private String backIdImg;
@ApiModelProperty(value = "unionId")
private String unionId;
}
package com.mmc.iuav.user.model.vo;
import com.mmc.iuav.group.Create;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/7/10 16:02
* @Version 1.0
*/
@Data
public class RoleInfoVO implements Serializable {
private static final long serialVersionUID = -5814724843819090363L;
@ApiModelProperty(value = "角色id", example = "1")
@NotNull(message = "角色ID不能为空", groups = Update.class)
private Integer id;
@ApiModelProperty(value = "角色名称", example = "超级管理员")
@Size(max = 10, message = "权限角色不得超过10个字符")
@NotBlank(message = "角色名称不能为空", groups = {Create.class, Update.class})
private String roleName;
@ApiModelProperty(value = "备注", example = "备注", required = false)
@Size(max = 225, message = "备注不得超过225个字符", groups = {Create.class, Update.class})
private String remark;
}
package com.mmc.iuav.user.model.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
/**
* @author: zj
* @Date: 2023/7/11 14:04
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RoleMenuInfoVO implements Serializable {
private static final long serialVersionUID = -8669403169556374845L;
@ApiModelProperty(value = "角色id")
@NotNull
private Integer roleId;
@ApiModelProperty(value = "菜单ids")
@NotNull
@Size(min = 1, message = "角色菜单需选择1个以上")
private List<Integer> menuInfoIds;
}
package com.mmc.iuav.user.model.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/7/17 10:00
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TopInviteVO implements Serializable {
private static final long serialVersionUID = 9208361817264837853L;
private Integer id;
private String uid;
private String phoneNum;
private String userName;
private String nickName;
private String userImg;
private Integer inviteCount;
}
package com.mmc.iuav.user.model.vo; package com.mmc.iuav.user.model.vo;
import com.mmc.iuav.group.Update; import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
...@@ -12,6 +11,7 @@ import javax.validation.constraints.Email; ...@@ -12,6 +11,7 @@ import javax.validation.constraints.Email;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @author: zj * @author: zj
...@@ -24,14 +24,12 @@ import java.util.Date; ...@@ -24,14 +24,12 @@ import java.util.Date;
public class UserAccountVO implements Serializable { public class UserAccountVO implements Serializable {
private static final long serialVersionUID = 7067111726018678883L; private static final long serialVersionUID = 7067111726018678883L;
@ApiModelProperty(value = "用户id") @ApiModelProperty(value = "用户id")
@NotNull(message = "用户id不能为空",groups = {Update.class}) @NotNull(message = "用户id不能为空", groups = {Update.class})
private Integer id; private Integer id;
@ApiModelProperty(value = "用户类型") @ApiModelProperty(value = "用户类型")
private Integer accountType; private Integer accountType;
@ApiModelProperty(value = "用户uid") @ApiModelProperty(value = "用户uid")
private String uid; private String uid;
@ApiModelProperty(value = "用户账号")
private String accountNo;
@ApiModelProperty(value = "手机号") @ApiModelProperty(value = "手机号")
private String phoneNum; private String phoneNum;
@ApiModelProperty(value = "用户名称") @ApiModelProperty(value = "用户名称")
...@@ -57,11 +55,26 @@ public class UserAccountVO implements Serializable { ...@@ -57,11 +55,26 @@ public class UserAccountVO implements Serializable {
private Date createTime; private Date createTime;
@ApiModelProperty(value = "企业认证状态, 0未通过,1通过") @ApiModelProperty(value = "企业认证状态, 0未通过,1通过")
private Integer companyAuthStatus; private Integer companyAuthStatus;
@ApiModelProperty(value = "合作标签id")
private Integer cooperationTagId;
@ApiModelProperty(value = "企业名称") @ApiModelProperty(value = "企业名称")
private String companyName; private String companyName;
@ApiModelProperty(value = "合作标签名称") @ApiModelProperty(value = "是否删除")
private String tagName; private Integer deleted;
@ApiModelProperty(value = "推荐伙伴个数")
private Integer inviteCount;
@ApiModelProperty(value = "用户合作标签")
private List<CooperationTagVO> cooperationTagVOS;
@ApiModelProperty(value = "上级推荐人")
private UserRcdVO userRcdVO;
@ApiModelProperty(value = "是否是单位管理员")
private Integer leader;
@ApiModelProperty(value = "实名认证状态")
private Integer realNameAuthStatus;
@ApiModelProperty(value = "飞手审核 0审核中 1审核通过 2审核不通过 null不是飞手")
private Integer auditStatus;
@ApiModelProperty(value = "总积分 null表示无积分")
private Integer totalPoints;
@ApiModelProperty(value = "小猪算账电签状态:0否,1是")
private Integer xzAuthStatus;
@ApiModelProperty(value = "是否关注公众号")
private Integer subStatus;
} }
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.util.List;
/**
* @Author LW
*
* @date 2023/6/27 16:04 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UserApplyTagDetailsVO {
@ApiModelProperty(value = "企业名称")
private String companyName;
@ApiModelProperty(value = "社会信用代码")
private String creditCode;
@ApiModelProperty(value = "营业执照")
private String licenseImg;
@ApiModelProperty(value = "附件")
private List<AttachmentVO> attachmentList;
@ApiModelProperty(value = "备注")
private String remark;
}
package com.mmc.iuav.user.model.vo; package com.mmc.iuav.user.model.vo;
import com.mmc.iuav.group.Insert; import com.mmc.iuav.group.Insert;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
...@@ -11,10 +10,11 @@ import lombok.NoArgsConstructor; ...@@ -11,10 +10,11 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
import java.util.List;
/** /**
* @author: zj * @author: zj @Date: 2023/5/17 22:02
* @Date: 2023/5/17 22:02
*/ */
@Builder @Builder
@Data @Data
...@@ -22,22 +22,73 @@ import java.io.Serializable; ...@@ -22,22 +22,73 @@ import java.io.Serializable;
@NoArgsConstructor @NoArgsConstructor
public class UserApplyTagVO implements Serializable { public class UserApplyTagVO implements Serializable {
private static final long serialVersionUID = -1004953417393220972L; private static final long serialVersionUID = -1004953417393220972L;
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
private Integer id; private Integer id;
@ApiModelProperty(value = "加盟标签id")
@NotNull(message = "加盟标签id不能为空", groups = { Insert.class }) @ApiModelProperty(value = "加盟标签id", example = "1")
@NotNull(
message = "加盟标签id不能为空",
groups = {Insert.class})
private Integer cooperationTagId; private Integer cooperationTagId;
@ApiModelProperty(value = "用户id") @ApiModelProperty(value = "用户id")
//@NotNull(message = "加盟标签id不能为空", groups = { Insert.class })
private Integer userAccountId; private Integer userAccountId;
@ApiModelProperty(value = "申请人名称")
@NotBlank(message = "申请人名称不能为空", groups = { Insert.class }) @ApiModelProperty(value = "申请人名称", example = "lisi")
@NotBlank(
message = "申请人名称不能为空",
groups = {Insert.class})
private String applyName; private String applyName;
@ApiModelProperty(value = "申请人手机号")
@NotBlank(message = "申请人手机号不能为空", groups = { Insert.class }) @ApiModelProperty(value = "申请人手机号", example = "19892885657")
@NotBlank(
message = "申请人手机号不能为空",
groups = {Insert.class})
private String applyPhone; private String applyPhone;
@ApiModelProperty(value = "申请审核状态,0待审核,1通过,2未通过")
private Integer applyStatus;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;
@ApiModelProperty(value = "附件")
private List<AttachmentVO> attachmentList;
@ApiModelProperty(value = "申请时间")
private Date applyTime;
@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;
@ApiModelProperty(value = "品牌名称", example = "科比特")
private String brandName;
@ApiModelProperty(value = "品牌logo", example = "http://")
private String brandLogo;
@ApiModelProperty(value = "营业执照", example = "http://")
private String licenseImg;
@ApiModelProperty(value = "地址信息", example = "广东省", required = true)
@NotBlank(message = "地址信息不能为空", groups = {Insert.class})
private String address;
@ApiModelProperty(value = "纬度", example = "22.5749", required = true)
@NotNull(message = "纬度不能为空", groups = {Insert.class})
private Double lat;
@ApiModelProperty(value = "经度", example = "113.992563", required = true)
@NotNull(message = "经度不能为空", groups = {Insert.class})
private Double lon;
} }
package com.mmc.iuav.user.model.vo;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.security.PrivateKey;
import java.util.Set;
/**
* @author: zj
* @Date: 2023/6/28 15:59
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserCooperationTagVO implements Serializable {
private static final long serialVersionUID = 7899913481538765762L;
@ApiModelProperty(value = "用户id")
@NotNull(message = "用户id不能为空",groups = {Update.class})
private Integer userAccountId;
@ApiModelProperty(value = "合作标签id")
private Set<Integer> cooperationTagIds;
}
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;
import java.util.Date;
/**
* @author: zj
* @Date: 2023/7/17 10:56
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class UserRcdVO implements Serializable {
private static final long serialVersionUID = 445983687443393839L;
private Integer id;
@ApiModelProperty(value = "用户id(推荐接受人)")
private Integer userAccountId;
@ApiModelProperty(value = "邀请人id")
private Integer rcdUserId;
@ApiModelProperty(value = "邀请人昵称")
private String rcdNickname;
@ApiModelProperty(value = "邀请人姓名")
private String rcdUserName;
private String remark;
private Date createTime;
}
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;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Author LW
* @date 2023/8/26 15:42
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class WithdrawalInfoVO implements Serializable {
public final static String AMT = "amt";
public final static String APPLY = "APPLY";
private static final long serialVersionUID = 2535626170303302278L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "流水编号")
private String payNo;
@ApiModelProperty(value = "操作方式")
private Integer payMethod;
@ApiModelProperty(value = "佣金变动金额(正数入账,负数扣除)")
private BigDecimal salaryAmtPaid;
@ApiModelProperty(value = "操作时间")
private Date payTime;
@ApiModelProperty(value = "操作名称")
private String name;
}
...@@ -7,11 +7,9 @@ import lombok.Builder; ...@@ -7,11 +7,9 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.util.CollectionUtils;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* @author: zj * @author: zj
...@@ -26,60 +24,41 @@ public class WxMsgVO implements Serializable { ...@@ -26,60 +24,41 @@ public class WxMsgVO implements Serializable {
@ApiModelProperty(value = "用户id-仅适用云享飞客户端") @ApiModelProperty(value = "用户id-仅适用云享飞客户端")
private Integer userAccountId; private Integer userAccountId;
@ApiModelProperty(value = "公众号的openId") @ApiModelProperty(value = "公众号的openId")
private String openId; private String touser;
@ApiModelProperty(value = "unionId-全局通用") @ApiModelProperty(value = "unionId-全局通用")
private String unionId; private String unionId;
@ApiModelProperty(value = "模板id") @ApiModelProperty(value = "模板id")
@NotNull(message = "模板id不能为空") @NotNull(message = "模板id不能为空")
private String templemteId; private String templateId;
@ApiModelProperty(value = "网页跳转连接") @ApiModelProperty(value = "网页跳转连接")
private String url; private String url;
@ApiModelProperty(value = "小程序APPID") @ApiModelProperty(value = "小程序APPID")
private String wxAppltAppId; private String wxAppletAppId;
@ApiModelProperty(value = "小程序跳转连接") @ApiModelProperty(value = "小程序跳转连接")
private String appletPath; private String appletPath;
@ApiModelProperty(value = "标题") @ApiModelProperty(value = "标题")
private MsgData title; private MsgData title;
@ApiModelProperty(value = "消息数组")
private List<MsgData> data;
@ApiModelProperty(value = "消息备注") @ApiModelProperty(value = "消息备注")
private MsgData remark; private MsgData remark;
@ApiModelProperty(value = "按照接口文档传数据")
private JSONObject dataObject;
public String buildMsgJson() { public String buildTemplateMsg() {
JSONObject obj = new JSONObject(); JSONObject msg = new JSONObject();
obj.put("touser", this.openId); msg.put("touser", this.touser);
obj.put("template_id", this.templemteId); msg.put("template_id", this.templateId);
// 跳转页面
if (!StringUtils.isBlank(this.url)) { if (!StringUtils.isBlank(this.url)) {
obj.put("url", this.url); msg.put("url", this.url);
} }
// 跳转小程序页面设置
if (!StringUtils.isBlank(this.wxAppltAppId) && !StringUtils.isBlank(this.appletPath)) { if (!StringUtils.isBlank(this.wxAppletAppId) && !StringUtils.isBlank(this.appletPath)) {
JSONObject mini = new JSONObject(); JSONObject mini = new JSONObject();
mini.put("appid", this.wxAppltAppId); mini.put("appid", this.wxAppletAppId);
mini.put("pagepath", this.appletPath); mini.put("pagepath", this.appletPath);
obj.put("miniprogram", mini); msg.put("miniprogram", mini);
}
JSONObject jd = new JSONObject();
jd.put("first", this.convertMsg(title));
if (!CollectionUtils.isEmpty(this.data)) {
for (int i = 0; i < data.size(); i++) {
String key = "keyword" + (i + 1);
jd.put(key, this.convertMsg(data.get(i)));
}
}
if (this.remark != null && !StringUtils.isBlank(this.remark.getValue())) {
jd.put("remark", this.convertMsg(this.remark));
} }
msg.put("data", this.dataObject);
obj.put("data", jd); return msg.toString();
return obj.toJSONString();
}
public JSONObject convertMsg(MsgData msg) {
JSONObject jb = new JSONObject();
jb.put("value", msg.getValue());
jb.put("color", msg.getColor());
return jb;
} }
} }
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: zj
* @Date: 2023/8/21 13:40
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class XzAuthVO implements Serializable {
private static final long serialVersionUID = -6009105206194794410L;
@ApiModelProperty(value = "用户名称")
private String username;
@ApiModelProperty(value = "身份证号")
private String idCardNo;
@ApiModelProperty(value = "手机号码")
private String mobile;
@ApiModelProperty(value = "附加信息,如需4要素认证必填")
private String bankAccount;
@ApiModelProperty(value = "身份证照片人像面URL,图片必须已经通过OCR识别")
private String idCardImageFront;
@ApiModelProperty(value = "身份证照片国徽面URL,图片必须已经通过OCR识别")
private String idCardImageBack;
}
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: zj
* @Date: 2023/8/21 20:14
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class XzWithdrawalVO implements Serializable {
private static final long serialVersionUID = -8758847907824399671L;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "回调地址")
private String notifyUrl;
@ApiModelProperty(value = "税源地id")
private String taxFundId;
@ApiModelProperty(value = "提现月份")
private String month;
@ApiModelProperty(value = "商户业务流水号(商户自行生成,全局唯一)")
private String outerTradeNo;
@ApiModelProperty(value = "自定义员工编号(商户系统中用户唯一编号)")
private String empNum;
@ApiModelProperty(value = "收款人户名")
private String empName;
@ApiModelProperty(value = "收款人手机号")
private String empPhone;
@ApiModelProperty(value = "收款人证件类型:ID_CARD")
private String licenseType;
@ApiModelProperty(value = "收款人证件号码")
private String licenseId;
@ApiModelProperty(value = "交易类型(bankcard:银行卡,alipay:支付宝,wechatpay:微信)")
private String settleType;
@ApiModelProperty(value = "收款账号,交易类型为支付宝时,为支付宝账号;交易类型为微信时,填收款用户的openid")
private String payAccount;
@ApiModelProperty(value = "收款人银行名称 (无需细到支行名称)")
private String bankName;
@ApiModelProperty(value = "服务类型,测试:销售推广;正式:市场推广")
private String positionName;
@ApiModelProperty(value = "交易金额(实际到账金额, 单位元,精确两位小数 )")
private Double payAmount;
@ApiModelProperty(value = "业务备注说明:若需要对每笔提现区分业务来源,可自行定义,后续可在SaaS后台查看,与用户到账说明无关(不能超过10个字)")
private String remarks;
@ApiModelProperty(value = "银行摘要备注(可在收款行交易明细中查看到")
private String bankRemo;
@ApiModelProperty(value = "商户自己的微信APPID,交易类型为微信时,必填")
private String wechatAppId;
}
package com.mmc.iuav.user.model.vo.dronepilot;
/**
* @Author small
* @Date 2023/7/29 9:47
* @Version 1.0 枚举基类
*/
public interface BaseEnum {
String getEnumCode();
String getEnumDesc();
}
package com.mmc.iuav.user.model.vo.dronepilot;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.stream.Stream;
/**
* @Author small
* @Date 2023/7/29 9:48
* @Version 1.0 枚举工具类
*/
public final class EnumUtils {
public static <T extends BaseEnum> T getByCode(Class<T> enumClazz, String code) {
BaseEnum[] values;
try {
Method method = enumClazz.getMethod("values");
method.setAccessible(true);
values = (BaseEnum[]) method.invoke(enumClazz);
} catch (Exception e) {
throw new RuntimeException(e);
}
BaseEnum result = Stream.of(values)
.filter(baseEnum -> baseEnum.getEnumCode().equals(code))
.findFirst()
.orElse(null);
return result == null ? null : (T) result;
}
public static boolean isValidCode(Class<? extends BaseEnum> enumClazz, String code) {
return getByCode(enumClazz, code) != null;
}
public static JSONArray toJsonArray(Class<? extends BaseEnum> enumClazz) {
JSONArray array = new JSONArray();
try {
Method method = enumClazz.getMethod("values");
method.setAccessible(true);
BaseEnum[] values = (BaseEnum[]) method.invoke(enumClazz);
Arrays.stream(values).forEach(enumValue -> {
JSONObject json = new JSONObject();
json.put("code", enumValue.getEnumCode());
json.put("desc", enumValue.getEnumDesc());
array.add(json);
});
} catch (Exception e) {
throw new RuntimeException(e);
}
return array;
}
}
package com.mmc.iuav.user.model.vo.dronepilot;
/**
* @Author small
* @Date 2023/7/29 9:47
* @Version 1.0
*/
import javax.validation.Constraint;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import javax.validation.Payload;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = EnumValue.Validator.class)
public @interface EnumValue {
String message() default "{custom.value.invalid}";
boolean nullable() default false;
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
Class<? extends BaseEnum> enumClass();
class Validator implements ConstraintValidator<EnumValue, Object> {
private Class<? extends BaseEnum> enumClass;
boolean nullable = false;
@Override
public void initialize(EnumValue enumValue) {
enumClass = enumValue.enumClass();
nullable = enumValue.nullable();
}
@Override
public boolean isValid(Object value, ConstraintValidatorContext constraintValidatorContext) {
if (value == null && nullable) {
return Boolean.TRUE;
}
if (value == null && !nullable) {
return Boolean.FALSE;
}
if (enumClass == null) {
return Boolean.TRUE;
}
String enumCode = (String) value;
return EnumUtils.isValidCode(enumClass, enumCode);
}
}
}
package com.mmc.iuav.user.model.vo.dronepilot;
import com.mmc.iuav.group.Create;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
/**
* @Author small
* @Date 2023/7/28 11:23
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PilotAbilityVO {
private Integer id;
@ApiModelProperty(value = "能力id不能为空", example = "5", required = true)
@NotBlank(message = "能力id不能为空", groups = {Create.class, Update.class})
private Integer abilityId;
@ApiModelProperty(value = "能力不能为空", example = "道路检测", required = true)
@NotBlank(message = "能力名称不能为空", groups = {Create.class, Update.class})
private String abilityName;
@ApiModelProperty(value = "飞手认证id", hidden = true)
private Integer pilotCertificationId;
}
package com.mmc.iuav.user.model.vo.dronepilot;
import com.mmc.iuav.group.Create;
import com.mmc.iuav.group.Update;
import com.mmc.iuav.user.model.dto.dronepilot.LicenseType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
/**
* @Author small
* @Date 2023/7/28 10:02
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
public class PilotCertificationVO {
@ApiModelProperty(value = "飞手执照id", example = "1")
@NotNull(message = "飞手执照id不能为空", groups = Update.class)
private Integer id;
@ApiModelProperty(value = "执照类型 CAAC,UTC,OTHER(其他) 目前只有三种", example = "UTC", required = true)
@NotNull(message = "执照类型不能为空", groups = {Create.class, Update.class})
@EnumValue(enumClass = LicenseType.class, message = "取值不合法,参考:LicenseType")
private String licenseType;
@ApiModelProperty(value = "电子执照的编号", example = "231321312313211", required = true)
@NotBlank(message = "电子执照的编号不能为空", groups = {Create.class, Update.class})
private String licenseNumber;
@ApiModelProperty(value = "上传执照", example = "http://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/2cbbeffb-c1d1-4b26-a9a9-9e17c85e35a9.jpg", required = true)
@NotBlank(message = "上传执照的照片不能为空", groups = {Create.class, Update.class})
private String licenseUrl;
@ApiModelProperty(value = "地区编号不能为空", example = "100001", required = true)
@NotNull(message = "地区编号不能为空", groups = {Create.class, Update.class})
private Integer areaNumber;
@ApiModelProperty(value = "常驻城市不能为空", example = "深圳市", required = true)
@NotBlank(message = "常驻城市不能为空", groups = {Create.class, Update.class})
private String residentCity;
@ApiModelProperty(value = "工作年限", example = "3", required = true)
@NotNull(message = "工作年限不能为空", groups = {Create.class, Update.class})
@Max(value = 80, message = "工作年限不能超过80年")
private Integer yearsOfWorking;
@NotNull(message = "能力不能为空", groups = {Create.class, Update.class})
List<PilotAbilityVO> pilotAbility;
@ApiModelProperty(value = "能力不能为空", example = "http://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/2cbbeffb-c1d1-4b26-a9a9-9e17c85e35a9.jpg", required = true)
@NotBlank(message = "能力图片不能为空", groups = {Create.class, Update.class})
private String abilityUrl;
@ApiModelProperty(value = "个人简介", example = "无人机专业,工作三年", required = true)
@NotBlank(message = "个人简介不能为空", groups = {Create.class, Update.class})
@Size(max = 300, message = "个人不能超过300")
private String individualResume;
@ApiModelProperty(value = "备注", example = "航拍摄影,农业植保", required = false)
private String remark;
@ApiModelProperty(value = "审核是否通过 0审核中 1审核通过 2审核不通过", example = "0", required = false)
private Integer auditStatus;
}
package com.mmc.iuav.user.model.vo.dronepilot;
import java.lang.annotation.Annotation;
/**
* @Author small
* @Date 2023/7/29 9:43
* @Version 1.0
*/
public interface ValueEnum<T> extends Annotation {
/**
* 获取枚举值
*
* @return 枚举值
*/
T getValue();
}
package com.mmc.iuav.user.model.vo.userpoints;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small
* @Date 2023/8/5 15:15
* @Version 1.0
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserPointsVO {
@ApiModelProperty(value = "id不能为空", example = "1")
private Integer id;
@ApiModelProperty(value = "用户id", example = "1")
private Integer userAccountId;
@ApiModelProperty(value = "积分总额", example = "10")
private Integer totalPoints;
public UserPointsVO(Integer userAccountId, Integer totalPoints) {
this.userAccountId = userAccountId;
this.totalPoints = totalPoints;
}
}
package com.mmc.iuav.user.model.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author: lw
* @Date: 2023/8/25 10:25
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ApplyWithdrawalVO implements Serializable {
private static final long serialVersionUID = 8677383830415176214L;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "户名")
private String empName;
@ApiModelProperty(value = "手机号")
private String empPhone;
@ApiModelProperty(value = "交易类型(bankcard:银行卡,alipay:支付宝,wechatpay:微信)", required = true)
private String settleType;
@ApiModelProperty(value = "收款账号,交易类型为支付宝时,为支付宝账号;交易类型为微信时,填收款用户的openid", required = true)
private String payAccount;
@ApiModelProperty(value = "收款人银行名称 (无需细到支行名称)")
private String bankName;
@ApiModelProperty(value = "服务类型,测试:销售推广;正式:市场推广", required = true)
private String positionName;
@ApiModelProperty(value = "交易金额(实际到账金额, 单位元,精确两位小数 )", required = true)
private BigDecimal payAmount;
}
package com.mmc.iuav.user.model.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author 23214
* 飞手方钱包记录
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FlyerWalletFlowVO {
@ApiModelProperty(value = "用户ID")
private Integer userAccountId;
@ApiModelProperty(value = "支付方式 100(订单发布) 200(无人接单取消订单)300(有人接单取消订单)400(飞手抢单)500(客服判定飞手无责取消订单)600(飞手有责取消订单)700(正常结算)800(修改订单金额状态)900(飞手未确认修改金额状态)1000(飞手确认修改金额状态)")
private Integer modeOfPayment;
@ApiModelProperty(value = "云享金(需要正负)")
private BigDecimal cashAmount;
@ApiModelProperty(value = "佣金(需要正负)")
private BigDecimal salaryAmount;
@ApiModelProperty(value = "支付时间")
private Date timeOfPayment;
@ApiModelProperty(value = "操作者用户id")
private Integer operateUserAccountId;
@ApiModelProperty(value = "云享金违约金(需要正负)")
private BigDecimal yxjCashPledge;
@ApiModelProperty(value = "佣金违约金(需要正负)")
private BigDecimal salaryCashPledge;
@ApiModelProperty(value = "订单的百分比违约金(这笔钱是给发布方的)")
private BigDecimal percentagePenaltyOfOrder;
}
\ No newline at end of file
package com.mmc.iuav.user.model.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author 23214
* 发布方钱包记录
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PublisherWalletFlowVO {
@ApiModelProperty(value = "用户ID")
private Integer userAccountId;
@ApiModelProperty(value = "支付方式 100(订单发布) 200(无人接单取消订单)300(有人接单取消订单)400(飞手抢单)500(客服判定飞手无责取消订单)" +
"600(飞手有责取消订单)700(正常结算)800(修改订单金额状态)900(飞手未确认修改金额状态)1000(飞手确认修改金额状态)")
private Integer modeOfPayment;
@ApiModelProperty(value = "云享金(需要正负)注:结算时修改金额如果大于原订单,需要支付的云享金,也传这个字段")
private BigDecimal cashAmount;
@ApiModelProperty(value = "佣金(需要正负)注:结算时修改金额如果大于原订单,需要支付的佣金,也传这个字段")
private BigDecimal salaryAmount;
@ApiModelProperty(value = "支付时间")
private Date timeOfPayment;
@ApiModelProperty(value = "操作者用户id")
private Integer operateUserAccountId;
@ApiModelProperty(value = "云享金违约金(需要正负)")
private BigDecimal yxjCashPledge;
@ApiModelProperty(value = "佣金违约金(需要正负)")
private BigDecimal salaryCashPledge;
@ApiModelProperty(value = "订单的百分比违约金(这笔钱是给飞手的) (需要正负)")
private BigDecimal percentagePenaltyOfOrder;
@ApiModelProperty(value = "加急单云享金金额 (需要正负)")
private BigDecimal urgentYxjAmount;
@ApiModelProperty(value = "加急单佣金金额 (需要正负)")
private BigDecimal urgentSalaryAmount;
@ApiModelProperty(value = "置顶单云享金金额 (需要正负)")
private BigDecimal topYxjAmount;
@ApiModelProperty(value = "置顶单佣金金额 (需要正负)")
private BigDecimal topSalaryAmount;
@ApiModelProperty(value = "飞手应得订单金额 (正数)")
private BigDecimal flyerSalaryAmount;
@ApiModelProperty(value = "修改后金额(注:①飞手未确认时,后面支付的需要退的佣金那部分钱 ②飞手确认时,修改后的金额小于原佣金,需要退多余的佣金那部分钱 ③如果全部是微信支付的则不用传值)")
private BigDecimal refundSalaryAmount;
@ApiModelProperty(value = "修改后金额(注:①飞手未确认时,后面支付的需要退的云享金那部分钱 ②飞手确认时,修改后的金额小于原佣金,需要退多余的云享金那部分钱 ③如果全部是微信支付的则不用传值)")
private BigDecimal refundCashAmount;
}
\ No newline at end of file
package com.mmc.iuav.user.model.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author LW
* @date 2023/8/23 13:37
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class TopUpOrderVO {
@ApiModelProperty(value = "支付用户的openid")
private String openid;
@ApiModelProperty(value = "订单编号")
private String orderNo;
@ApiModelProperty(value = "金额(分)")
private Integer amount;
@ApiModelProperty(value = "订单状态")
private String tradeState;
@ApiModelProperty(value = "交易状态描述")
private String tradeStateDesc;
}
package com.mmc.iuav.user.model.vo.wallet;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author LW
* @date 2023/8/21 17:59
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WalletFlowVO implements Serializable {
private static final long serialVersionUID = -8848411142632397203L;
private PublisherWalletFlowVO publisherWalletFlowVO;
private FlyerWalletFlowVO flyerWalletFlowVO;
}
...@@ -11,8 +11,10 @@ public interface JwtConstant { ...@@ -11,8 +11,10 @@ public interface JwtConstant {
public final static long EXPIRATION = 1 * 24 * 60 * 60 * 1000L; public final static long EXPIRATION = 1 * 24 * 60 * 60 * 1000L;
public final static long TEMP_EXPIRATION = 10 * 60 * 1000L; public final static long TEMP_EXPIRATION = 10 * 60 * 1000L;
public final static String TOKEN_TYPE = "TOKEN_TYPE"; public final static String TOKEN_TYPE = "TOKEN_TYPE";
public final static String M_TOKEN = "M_TOKEN"; //后台管理用户token // 后台管理用户token
public final static String IUAV_TOKEN = "IUAV_TOKEN"; //小程序token public final static String M_TOKEN = "M_TOKEN";
// 小程序token
public final static String IUAV_TOKEN = "IUAV_TOKEN";
public final static String USER_ACCOUNT_ID = "USER_ACCOUNT_ID"; public final static String USER_ACCOUNT_ID = "USER_ACCOUNT_ID";
public final static String ROLE_ID = "ROLE_ID"; public final static String ROLE_ID = "ROLE_ID";
} }
...@@ -29,4 +29,17 @@ public class CodeUtil { ...@@ -29,4 +29,17 @@ public class CodeUtil {
public static String removeUserAccount() { public static String removeUserAccount() {
return "DELETE" + CodeUtil.getRandomNum(15); return "DELETE" + CodeUtil.getRandomNum(15);
} }
public static String createRoleNo(String roleNo) {
return getNewEquipmentNo("A", roleNo);
}
public static String getNewEquipmentNo(String equipmentType, String equipmentNo) {
String newEquipmentNo = "A" + "0001";
if (equipmentNo != null && !equipmentNo.isEmpty()) {
int newEquipment = Integer.parseInt(equipmentNo.substring(1)) + 1;
newEquipmentNo = String.format(equipmentType + "%04d", newEquipment);
}
return newEquipmentNo;
}
} }
package com.mmc.iuav.group; package com.mmc.iuav.group;
/**
* @author 作者 geDuo import javax.validation.groups.Default;
* @version 创建时间:2021年8月28日 下午5:37:44
* @explain 类说明 /**
*/ * @author 作者 geDuo
public interface Create { * @version 创建时间:2021年8月28日 下午5:37:44
* @explain 类说明
*/
public interface Create extends Default {
} }
package com.mmc.iuav.group; package com.mmc.iuav.group;
import javax.validation.groups.Default;
/** /**
* @author: zj * @author: zj
* @Date: 2023/5/16 16:32 * @Date: 2023/5/16 16:32
*/ */
public interface Update { public interface Update extends Default {
} }
...@@ -18,7 +18,7 @@ import java.io.Serializable; ...@@ -18,7 +18,7 @@ import java.io.Serializable;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ApiModel(value = "com.mmc.iuav.response.ResultBody", description = "请求响应体") @ApiModel(description = "请求响应体")
public class ResultBody<T> implements Serializable { public class ResultBody<T> implements Serializable {
private static final long serialVersionUID = -6913505187877217885L; private static final long serialVersionUID = -6913505187877217885L;
...@@ -70,9 +70,8 @@ public class ResultBody<T> implements Serializable { ...@@ -70,9 +70,8 @@ public class ResultBody<T> implements Serializable {
/** /**
* 成功 * 成功
* **/
* **/ public static ResultBody success1(ResultEnum enums) {
public static ResultBody success1(ResultEnum enums){
ResultBody rb = new ResultBody(); ResultBody rb = new ResultBody();
rb.setCode("200"); rb.setCode("200");
rb.setMessage(enums.getResultMsg()); rb.setMessage(enums.getResultMsg());
...@@ -149,4 +148,6 @@ public class ResultBody<T> implements Serializable { ...@@ -149,4 +148,6 @@ public class ResultBody<T> implements Serializable {
public String toString() { public String toString() {
return JSONObject.toJSONString(this); return JSONObject.toJSONString(this);
} }
} }
...@@ -4,19 +4,39 @@ package com.mmc.iuav.response; ...@@ -4,19 +4,39 @@ package com.mmc.iuav.response;
* @author: zj * @author: zj
* @Date: 2023/5/16 10:41 * @Date: 2023/5/16 10:41
*/ */
public enum ResultEnum implements BaseErrorInfoInterface{ public enum ResultEnum implements BaseErrorInfoInterface {
SUCCESS("200", "success"), SUCCESS("200", "success"),
BODY_NOT_MATCH("400", "请求的数据格式不符"),
FAIL("500", "fail"), FAIL("500", "fail"),
PARAM_ERROR("400", "参数错误"), PARAM_ERROR("400", "参数错误"),
REQUEST_PARAM_ILLEGAL_ERROR("706", "请求参数非法"),
NOT_FOUND("404", "未找到该资源!"),
//企业认证 //企业认证
BUSINESS_LICENSE_CHECK_ANALYSIS_ERROR("1000", "营业执照解析失败,请上传有效清晰的执照"), BUSINESS_LICENSE_CHECK_ANALYSIS_ERROR("1000", "营业执照解析失败,请上传有效清晰的执照"),
COMPANY_NOT_AUTH_ERROR("1001", "未进行企业认证"), COMPANY_NOT_AUTH_ERROR("1001", "未进行企业认证"),
BUSINESS_LICENSE_CHECK_PARAMETER_ERROR("1002", "企业信息与营业执照信息不一致,请重新上传"), BUSINESS_LICENSE_CHECK_PARAMETER_ERROR("1002", "企业信息与营业执照信息不一致,请重新上传"),
THE_BRAND_NAME_CANNOT_BE_EMPTY("1003", "品牌名称不能为空"),
THE_BRAND_LOGO_CANNOT_BE_EMPTY("1004", "logo图标不能为空"),
TAG_ALREADY_EXIST_ERROR("2001", "您已拥有该身份,不需要重复提交"),
TAG_APPLY_ALREADY_EXIST_ERROR("2002", "已存在申请记录,不可重复申请"),
LOGIN_ACCOUNT_NOT_EXIT_ERROR("5005", "账号不存在"), LOGIN_ACCOUNT_NOT_EXIT_ERROR("5005", "账号不存在"),
LOGIN_PASSWORD_ERROR("5006", "密码错误"), LOGIN_PASSWORD_ERROR("5006", "密码错误"),
LOGIN_ACCOUNT_STATUS_ERROR("5008", "未登录"), LOGIN_ACCOUNT_STATUS_ERROR("5008", "未登录"),
REMOVE_COMPANY_BINDING_ERROR("5009", "删除失败,该单位有绑定账号"),
REMOVE_COMPANY_TASK_ERROR("5010", "删除失败,该单位有绑定服务"),
COMPANY_NAME_EXIST_ERROR("5011", "单位名称已存在"),
NOT_BINDING_COMPANY_ERROR("5012", "未绑定企业,绑定公司再重试!"),
REMOVE_COMPANY_BINDING_APP_ERROR("5013", "删除失败,该单位有绑定小程序账号!"),
UNBIND_COMPANY_MEMBER_ERROR("5014", "不能解绑管理员"),
TRANFER_COMPANY_MEMBER_LEADER_ERROR("5015", "转交人不是管理员!"),
COMPANY_EXIST_ERROR("5015", "该企业已认证!"),
COOPERATION_CHECK_NOT_PASS_ERROR("5016", "审核失败,请联系管理人员!"),
REBINDING_COMPANY_ERROR("5017", "该用户已被企业绑定,请尝试让该用户解绑后再重试!"),
MEMBER_APPLY_ERROR("5018", "企业成员暂不能提交加盟申请!"),
FORBID_USE_ERROR("5018", "账号禁用"),
//微信相关 //微信相关
PASSWORD_INCONSISTENT("5026", "新密码与确认密码不一致,请确认一致"), PASSWORD_INCONSISTENT("5026", "新密码与确认密码不一致,请确认一致"),
...@@ -28,12 +48,48 @@ public enum ResultEnum implements BaseErrorInfoInterface{ ...@@ -28,12 +48,48 @@ public enum ResultEnum implements BaseErrorInfoInterface{
PWD_CONPARED_ERROR("6002", "密码错误"), PWD_ALERT_ERROR("6003", "密码不一致"), PWD_CONPARED_ERROR("6002", "密码错误"), PWD_ALERT_ERROR("6003", "密码不一致"),
PWD_REQUEST_AUTH_ERROR("6003", "密码请求验证"), PWD_REQUEST_AUTH_ERROR("6003", "密码请求验证"),
APPLET_PORT_TYPE_ERROR("7001", "小程序端口类型错误"), APPLET_PORT_TYPE_ERROR("7001", "小程序端口类型错误"),
APPLET_LOGIN_ERROR("7002", "获取小程序登录信息失败"), APPLET_LOGIN_ERROR("7002", "获取小程序登录信息失败"),
UPDATE_USER_ACCOUNT_REPEAT("7003", "修改后的账户名已存在"), UPDATE_USER_ACCOUNT_REPEAT("7003", "修改后的账户名已存在"),
ADD_USER_ACCOUNT_NAME_EXISTS("7004", "新增账户名已经存在"); ADD_USER_ACCOUNT_NAME_EXISTS("7004", "新增账户名已经存在"),
ROLE_NAME_REPEAT_ERROR("8004", "角色名已存在"),
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", "禁止删除自己的账号"),
FRANCHISEE_ACCOUNT_MORE_THAN_ONE_ERROR("8012", "绑定企业为加盟公司,禁止使用该单位"),
NO_RIGHT_UPDATE_ERROR("8013", "无权限操作"),
ID_INFO_AND_ID_card_MISMATCH("3904", "身份信息与身份证不匹配"),
INTERFACE_ACCESS_EXCEPTION("36894", "接口访问异常/次数用尽"),
FRONT_BACK_VAGUE("35556", "身份证正反面不明确"),
ID_CARD_THOTO_MESSAGE_ERROR("36651", "身份照信息错误"),
EXPTION_ID_CARD_THOTO_MESSAGE_ERROR("36651", "信息异常"),
PHOTO_FORMAT_ERROR("12138", "身份证图片格式错误"),
VALIDATION_INFO_EXPIRED("32815", "认证时间过长信息过期或认证信息不完整,请重新开始认证"),
REAL_IMAGE_AUTHENTICATION_SUCESS("38844", "验证成功"),
REAL_IMAGE_AUTHENTICATION_FAILED("38855", "验证失败,请再次进行人脸识别"),
IDENTITY_HAS_BEEN_AUTHENTICATED("34444", "此身份证信息已经被认证,请重试"),
REAL_NAME_ACCOUNT_ID_ERROR("36771", "账户id错误"),
REAL_NAME_FUSING_ERROR("36772", "认证失败,请重新认证"),
REAL_NAME_PASS_ERROR("36773", "已成功认证"),
PLEASE_ERFORM_REAL_NAME_AUTHENTICATION_FIRST("36774", "请先进行实名认证"),
I_HAVE_APPLIED_FOR_A_PILOT_LICENSE("36775", "已经申请飞手执照及能力认证,请等待审核"),
CAN_NOT_CHANGE_THE_APPLICATION_OF_OTHERS("36776", "不能变更其他人申请的飞手执照及电子认证"),
WX_NOT_SEND_MSG_PARAM_ERROR("5029", "userId和openId至少一个不为空"),
APPLET_USER_ACCESS_TOKE_ERROR("5031", "获取accessToken签名校验失败"),
WX_NOT_REL_ERROR("5028", "获取微信公众号用户信息失败"),
DELETE_PASS_ERROR("5029", "已通过认证的不可删除"),
// 提现相关
WITHDRAWAL_APPLY_STATUS_ERROR("40001", "审批状态有误"),
WITHDRAWAL_INFO_NOT_FIND_ERROR("40002", "提现申请单信息不存在"),
WITHDRAWAL_REPEAT_CHECK_ERROR("40003", "提现申请单已被审批,切勿重复审批。");
/** /**
* 错误码 * 错误码
......
...@@ -35,17 +35,6 @@ ...@@ -35,17 +35,6 @@
<artifactId>spring-boot-starter-actuator</artifactId> <artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependency>
<!-- 引入 Feign, 可以以声明的方式调用微服务 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- 使用okhttp-feign-连接池技术 -->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
</dependency>
<!-- mybatis驱动&Druid数据源-start --> <!-- mybatis驱动&Druid数据源-start -->
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
...@@ -63,38 +52,59 @@ ...@@ -63,38 +52,59 @@
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<optional>true</optional> <scope>test</scope>
</dependency> </dependency>
<!-- RabbitMQ -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-amqp</artifactId>
<scope>test</scope> </dependency>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.5.0</version> <!-- 支持开源所有版本 -->
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.github.xiaoymin</groupId>-->
<!-- <artifactId>knife4j-spring-boot-starter</artifactId>-->
<!-- <version>2.0.5</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.github.xiaoymin</groupId>-->
<!-- <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>-->
<!-- <version>4.0.0</version>-->
<!-- </dependency>-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dysmsapi20170525</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>com.mmc.iuav.cms</groupId>
<artifactId>piggy-settlement</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/piggy-settlement-sdk-1.7.0.jar</systemPath>
</dependency>
<dependency>
<groupId>com.mmc.csf.fdd</groupId>
<artifactId>self-innovate</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/resources/lib/fdd-verify-process-1.8.5.jar</systemPath>
</dependency> </dependency>
<!-- RabbitMQ -->
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-amqp</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.github.xiaoymin</groupId>-->
<!-- <artifactId>knife4j-spring-boot-starter</artifactId>-->
<!-- <version>2.0.5</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.github.xiaoymin</groupId>-->
<!-- <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>-->
<!-- <version>4.0.0</version>-->
<!-- </dependency>-->
<!-- https://mvnrepository.com/artifact/com.github.wxpay/wxpay-sdk -->
<dependency> <dependency>
<groupId>com.github.wxpay</groupId> <groupId>cn.hutool</groupId>
<artifactId>wxpay-sdk</artifactId> <artifactId>hutool-all</artifactId>
<version>0.0.3</version> <version>5.3.5</version>
</dependency> </dependency>
</dependencies> </dependencies>
...@@ -104,6 +114,9 @@ ...@@ -104,6 +114,9 @@
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
......
package com.mmc.iuav.user.auth;
import com.alibaba.fastjson2.JSONObject;
import com.mmc.iuav.auth.JwtConstant;
import com.mmc.iuav.auth.JwtUtil;
import com.mmc.iuav.user.dao.RoleDao;
import com.mmc.iuav.user.entity.RoleInfoDO;
import com.mmc.iuav.user.enums.UserTypeEnums;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.vo.AppUserSucVO;
import com.mmc.iuav.user.model.vo.BackUserAccountVO;
import com.mmc.iuav.user.model.vo.CompanyInfoVO;
import com.mmc.iuav.user.model.vo.UserAccountVO;
import com.mmc.iuav.user.service.CompanyService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* @author: zj
* @Date: 2023/8/14 16:48
*/
@Component
public class AuthHandler {
@Autowired
private RoleDao roleDao;
@Autowired
private CompanyService companyService;
@Autowired
private StringRedisTemplate stringRedisTemplate;
public AppUserSucVO addAppLoginCache(UserAccountVO userAccountVO) {
Map<String, Object> map = new HashMap<String, Object>();
map.put(JwtConstant.USER_ACCOUNT_ID, userAccountVO.getId());
map.put(JwtConstant.TOKEN_TYPE, JwtConstant.IUAV_TOKEN);
String token = JwtUtil.createJwt(map);
LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).userAccountId(userAccountVO.getId()).uid(userAccountVO.getId() + "")
.userName(userAccountVO.getUserName()).nickName(userAccountVO.getNickName()).phoneNum(userAccountVO.getPhoneNum()).portType(UserTypeEnums.APP.getType()).build();
stringRedisTemplate.opsForValue().set(
token, JSONObject.toJSONString(loginSuccessDTO),
JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS);
AppUserSucVO appUserSucVO = AppUserSucVO.builder().token(token).uid(userAccountVO.getUid()).phoneNum(userAccountVO.getPhoneNum())
.nickName(userAccountVO.getNickName()).userAccountId(userAccountVO.getId()).portType(UserTypeEnums.APP.getType()).build();
return appUserSucVO;
}
public LoginSuccessDTO addPcLoginCache(BackUserAccountVO user) {
// 查询单位信息
CompanyInfoVO companyInfoVO = companyService.getCompanyInfoByBackUserAccountId(user.getId());
companyInfoVO.setLeader(1);
// 角色信息
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(UserTypeEnums.PC.getType())
.companyInfoVO(companyInfoVO == null ? null : companyInfoVO)
.roleInfo(roleInfoDO.buildRoleInfoDTO()).build();
stringRedisTemplate.opsForValue().set(
token, JSONObject.toJSONString(loginSuccessDTO),
JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS);
// 标记
stringRedisTemplate.opsForValue().set(
UserTypeEnums.PC.getTypeCode() + "_TOKEN_" + user.getId(), token,
JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS);
return loginSuccessDTO;
}
/**
* @param userAccountId
* @description 删除小程序用户token
* redis key :APP_TOKEN_{ID}
*/
public void removeAppLoginCache(Integer userAccountId) {
String appUserToken = stringRedisTemplate.opsForValue().get(UserTypeEnums.APP.getTypeCode() + "_TOKEN_" + userAccountId);
if (!StringUtils.isBlank(appUserToken)) {
stringRedisTemplate.delete(appUserToken);
stringRedisTemplate.delete(UserTypeEnums.APP.getTypeCode() + "_TOKEN_" + userAccountId);
}
}
/**
* @param backUserAccountId
* @description 删除PC用户token
* redis key :PC_TOKEN_{ID}
*/
public void removePcLoginCache(Integer backUserAccountId) {
String pcUserToken = stringRedisTemplate.opsForValue().get(UserTypeEnums.PC.getTypeCode() + "_TOKEN_" + backUserAccountId);
if (!StringUtils.isBlank(pcUserToken)) {
stringRedisTemplate.delete(pcUserToken);
stringRedisTemplate.delete(UserTypeEnums.PC.getTypeCode() + "_TOKEN_" + backUserAccountId);
}
}
}
...@@ -42,9 +42,7 @@ import java.util.Arrays; ...@@ -42,9 +42,7 @@ import java.util.Arrays;
* <p> * <p>
* <code> * <code>
* if (BCrypt.checkpw(candidate_password, stored_hash))<br /> * if (BCrypt.checkpw(candidate_password, stored_hash))<br />
* &nbsp;&nbsp;&nbsp;&nbsp;System.out.println("It matches");<br />
* else<br /> * else<br />
* &nbsp;&nbsp;&nbsp;&nbsp;System.out.println("It does not match");<br />
* </code> * </code>
* <p> * <p>
* The gensalt() method takes an optional parameter (log_rounds) * The gensalt() method takes an optional parameter (log_rounds)
......
package com.mmc.iuav.user.auth; package com.mmc.iuav.user.auth;
import com.alibaba.fastjson2.JSONObject;
import com.mmc.iuav.response.ResultBody; import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.response.ResultEnum; import com.mmc.iuav.response.ResultEnum;
import com.mmc.iuav.user.util.PathUtil; import com.mmc.iuav.user.util.PathUtil;
...@@ -34,16 +33,16 @@ public class TokenCheckHandleInterceptor implements HandlerInterceptor { ...@@ -34,16 +33,16 @@ public class TokenCheckHandleInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String requestURI = request.getRequestURI(); String requestURI = request.getRequestURI();
// //根据uri确认是否要拦截 // //根据uri确认是否要拦截
if (!shouldFilter(requestURI)){ if (!shouldFilter(requestURI)) {
return true; return true;
} }
String token = request.getHeader("token"); String token = request.getHeader("token");
if (StringUtils.isBlank(token)){ if (StringUtils.isBlank(token)) {
exceptionProcess(response); exceptionProcess(response);
return false; return false;
} }
String tokenJson = stringRedisTemplate.opsForValue().get(token); String tokenJson = stringRedisTemplate.opsForValue().get(token);
if (StringUtils.isBlank(tokenJson)){ if (StringUtils.isBlank(tokenJson)) {
exceptionProcess(response); exceptionProcess(response);
return false; return false;
} }
...@@ -80,9 +79,9 @@ public class TokenCheckHandleInterceptor implements HandlerInterceptor { ...@@ -80,9 +79,9 @@ public class TokenCheckHandleInterceptor implements HandlerInterceptor {
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
} }
public void exceptionProcess(HttpServletResponse response) throws Exception{ public void exceptionProcess(HttpServletResponse response) throws Exception {
response.setContentType("application/json;charset=utf-8"); response.setContentType("application/json;charset=utf-8");
PrintWriter writer=response.getWriter(); PrintWriter writer = response.getWriter();
writer.write(ResultBody.error(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR).toString()); writer.write(ResultBody.error(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR).toString());
writer.close(); writer.close();
} }
......
package com.mmc.iuav.user.client;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.response.ResultEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
/**
* @author: zj
* @Date: 2023/7/4 13:46
*/
@Component
public class PmsClient {
@Value("${iuav.pms.uri}")
private String pmsAppUri;
@Autowired
private RestTemplate restTemplate;
public Integer countCompanyTasks(Integer id, String token) {
HttpHeaders headers = new HttpHeaders();
headers.add("token", token);
HttpEntity<String> entity = new HttpEntity<>(null, headers);
ResponseEntity<ResultBody> responseEntity = restTemplate.exchange(pmsAppUri + "/pms/backstage/work/queryWorkServiceCount" + "?companyId=" + id, HttpMethod.GET, entity, ResultBody.class);
ResultBody body = responseEntity.getBody();
if (body.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
Integer count = (Integer) body.getResult();
return count;
}
return null;
}
public Integer removeMallGoods(Integer id, Integer companyInfoId, String token) {
HttpHeaders headers = new HttpHeaders();
headers.add("token", token);
HttpEntity<String> entity = new HttpEntity<>(null, headers);
ResponseEntity<ResultBody> responseEntity = restTemplate.exchange(pmsAppUri + "/pms/mall/goods/feignRemoveGoodsByBackUserAccountId" + "?id=" + id + "&companyInfoId=" + companyInfoId, HttpMethod.GET, entity, ResultBody.class);
ResultBody body = responseEntity.getBody();
if (body.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
return 1;
}
return null;
}
}
package com.mmc.iuav.user.config;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
//Converter<S,T> S: 代表的是源,将要转换的数据类型 T:目标类型,将会转成什么数据类型
@Component
public class GlobalFormDateConvert implements Converter<String, Date> {
// 静态初始化定义日期字符串参数列表(需要转换的)
private static final List<String> paramList = new ArrayList<>();
// 静态初始化可能初夏你的日期格式
private static final String param1 = "yyyy-MM";
private static final String param2 = "yyyy-MM-dd";
private static final String param3 = "yyyy-MM-dd HH:mm";
private static final String param4 = "yyyy-MM-dd HH:mm:ss";
// 静态代码块,将日期参数加入到列表中
static {
paramList.add(param1);
paramList.add(param2);
paramList.add(param3);
paramList.add(param4);
}
// 自定义函数,将字符串转Date 参1:传入的日期字符串 参2:格式参数
public Date parseDate(String source, String format) {
Date date = null;
try {
// 日期格式转换器
DateFormat dateFormat = new SimpleDateFormat(format);
date = dateFormat.parse(source);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
// convert转换方法 ,s是将会传递过来的日期的字符串
@Override
public Date convert(String source) {
if (StringUtils.isEmpty(source)) {
return null;
}
source = source.trim(); // 去除首尾空格
// 正则表达式判断是哪一种格式参数
if (source.matches("^\\d{4}-\\d{1,2}$")) {
return parseDate(source, paramList.get(0));
} else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")) {
return parseDate(source, paramList.get(1));
} else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")) {
return parseDate(source, paramList.get(2));
} else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")) {
return parseDate(source, paramList.get(3));
} else {
throw new IllegalArgumentException("还未定义该种字符串转Date的日期转换格式 --> 【日期格式】:" + source);
}
}
}
package com.mmc.iuav.user.config;
import com.fasterxml.jackson.databind.util.StdDateFormat;
import org.springframework.util.StringUtils;
import java.text.FieldPosition;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
public class GlobalJsonDateConvert extends StdDateFormat {
private static final long serialVersionUID = -6738131740618766141L;
// 静态初始化final,共享
public static final GlobalJsonDateConvert instance = new GlobalJsonDateConvert();
// 覆盖parse(String)这个方法即可实现
@Override
public Date parse(String dateStr, ParsePosition pos) {
return getDate(dateStr, pos);
}
@Override
public Date parse(String dateStr) {
ParsePosition pos = new ParsePosition(0);
return getDate(dateStr, pos);
}
private Date getDate(String dateStr, ParsePosition pos) {
SimpleDateFormat sdf = null;
if (StringUtils.isEmpty(dateStr)) {
return null;
} else if (dateStr.matches("^\\d{4}-\\d{1,2}$")) {
sdf = new SimpleDateFormat("yyyy-MM");
return sdf.parse(dateStr, pos);
} else if (dateStr.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")) {
sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.parse(dateStr, pos);
} else if (dateStr.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")) {
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
return sdf.parse(dateStr, pos);
} else if (dateStr.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")) {
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.parse(dateStr, pos);
} else if (dateStr.length() == 23) {
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
return sdf.parse(dateStr, pos);
}
return super.parse(dateStr, pos);
}
@Override
public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date, toAppendTo, fieldPosition);
}
@Override
public GlobalJsonDateConvert clone() {
return new GlobalJsonDateConvert();
}
}
package com.mmc.iuav.user.config;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ConversionServiceFactoryBean;
import org.springframework.core.convert.ConversionService;
import org.springframework.core.convert.converter.Converter;
import org.springframework.http.MediaType;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Configuration
public class WebConfig {
// JSON格式 全局日期转换器配置
@Bean
public MappingJackson2HttpMessageConverter getMappingJackson2HttpMessageConverter() {
MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter =
new MappingJackson2HttpMessageConverter();
// 设置日期格式
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setDateFormat(GlobalJsonDateConvert.instance);
objectMapper.setSerializationInclusion(JsonInclude.Include.ALWAYS);
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);
// 设置中文编码格式
List<MediaType> list = new ArrayList<MediaType>();
list.add(MediaType.APPLICATION_JSON_UTF8);
mappingJackson2HttpMessageConverter.setSupportedMediaTypes(list);
return mappingJackson2HttpMessageConverter;
}
// 表单格式 全局日期转换器
@Bean
@Autowired
public ConversionService getConversionService(GlobalFormDateConvert globalDateConvert) {
ConversionServiceFactoryBean factoryBean = new ConversionServiceFactoryBean();
Set<Converter> converters = new HashSet<>();
converters.add(globalDateConvert);
factoryBean.setConverters(converters);
return factoryBean.getObject();
}
}
...@@ -37,4 +37,28 @@ public class UserSystemConstant { ...@@ -37,4 +37,28 @@ public class UserSystemConstant {
@Value("${third-party.qcc.secret-key}") @Value("${third-party.qcc.secret-key}")
private String qccSecretKey; private String qccSecretKey;
@Value("${third-party.xzsz.appKey}")
private String xzAppKey;
@Value("${third-party.xzsz.appSecret}")
private String xzAppSecret;
@Value("${third-party.xzsz.aes}")
private String xzAes;
@Value("${third-party.xzsz.domain}")
private String xzDomain;
@Value("${third-party.xzsz.position}")
private String xzPosition;
@Value("${third-party.xzsz.taxFundId}")
private String taxFundId;
@Value("${third-party.xzsz.authNotify}")
private String authNotify;
@Value("${third-party.xzsz.withdrawNotify}")
private String withdrawNotify;
} }
package com.mmc.iuav.user.constant; package com.mmc.iuav.user.constant;
import org.springframework.stereotype.Component;
/** /**
* @author: zj * @author: zj
* @Date: 2023/5/16 16:02 * @Date: 2023/5/16 16:02
...@@ -18,7 +16,9 @@ public class WxConstant { ...@@ -18,7 +16,9 @@ public class WxConstant {
public final static String subscribe = "subscribe"; public final static String subscribe = "subscribe";
public final static String unsubscribe = "unsubscribe"; public final static String unsubscribe = "unsubscribe";
public static final String IUAV_MINI_PROGRAM_ACCESS_TOKEN = "IUAV_MINI_PROGRAM_ACCESS_TOKEN"; public static final String IUAV_MINI_PROGRAM_ACCESS_TOKEN = "IUAV_MINI_PROGRAM_ACCESS_TOKEN";
public static final String IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN = "IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN";
public static final String SHARE_FLY_SUB_ACCESS_TOKEN = "SHARE_FLY_SUB_ACCESS_TOKEN"; public static final String SHARE_FLY_SUB_ACCESS_TOKEN = "SHARE_FLY_SUB_ACCESS_TOKEN";
public static final String SHARE_FLY_SUB_STABLE_ACCESS_TOKEN = "SHARE_FLY_SUB_STABLE_ACCESS_TOKEN";
} }
package com.mmc.iuav.user.constant.fdd;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
/**
* @author:zhenjie Date:2022/7/16
* time:14:58
*/
@Component
public class FddConnectConstant {
public static String APP_ID;
public static String APP_KEY;
public static String VERSION;
public static String HOST;
public static String MMC_URL;
public FddConnectConstant(@Value("${fdd.appid}") String appid, @Value("${fdd.appkey}") String appkey,
@Value("${fdd.version}") String version, @Value("${fdd.host}") String host,
@Value("${fdd.mmc-url}") String mmcUrl) {
APP_ID = appid;
APP_KEY = appkey;
VERSION = version;
HOST = host;
MMC_URL = mmcUrl;
}
}
package com.mmc.iuav.user.constant.fdd;
import org.springframework.stereotype.Component;
/**
* author:zhenjie
* Date:2022/7/22
* time:11:07
*/
@Component
public class FddConstant {
public static final String CODE = "code";
public static final String DATA = "data";
public static final String SUCCESS = "1";
public static final String MSG = "msg";
public static final String SIGNATURE_ID = "signature_id";
public static final String UPLOAD_FILE = "uploadFile/";
//企业实名认证异步回调
// public static final String NOTIFY_E_CERT_RES = "fddservlet/fdd/notifyECertRes";
//企业实名认证同步回调
public static final String RETURN_E_CERT_RES = "fddservlet/fdd/returnECertRes";
//小程序企业实名认证异步回调
public static final String NOTIFY_E_CERT_RES = "fdd/notifyECertRes";
//签署合同异步回调
public static final String NOTIFY_STAMP = "fddservlet/contract/notifyStamp";
public static final String UAV_NOTIFY_STAMP = "fddservlet/uav/contract/notifyStamp";
public static final String APP_ID = "appId";
public static final String CUSTOMER_ID = "customerId";
public static final String STATUS = "status";
public static final String SERIAL_NO = "serialNo";
public static final String SIGN = "sign";
public static final String UID_REGEX = "[-|_]";
}
...@@ -2,6 +2,7 @@ package com.mmc.iuav.user.controller; ...@@ -2,6 +2,7 @@ package com.mmc.iuav.user.controller;
import com.mmc.iuav.group.Insert; import com.mmc.iuav.group.Insert;
import com.mmc.iuav.response.ResultBody; 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.qo.LoginUserQO;
import com.mmc.iuav.user.model.vo.AppUserSucVO; import com.mmc.iuav.user.model.vo.AppUserSucVO;
import com.mmc.iuav.user.model.vo.WxLoginVO; import com.mmc.iuav.user.model.vo.WxLoginVO;
...@@ -11,8 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -11,8 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/** /**
* @author: zj * @author: zj
* @Date: 2023/5/15 15:50 * @Date: 2023/5/15 15:50
...@@ -26,14 +25,14 @@ public class AuthController { ...@@ -26,14 +25,14 @@ public class AuthController {
private AuthService authService; private AuthService authService;
@ApiOperation(value = "小程序登录/注册") @ApiOperation(value = "小程序登录/注册")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = AppUserSucVO.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppUserSucVO.class)})
@PostMapping("appletLogin") @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); return authService.appletLogin(wxLoginVO);
} }
@ApiOperation(value = "平台账号密码登录") @ApiOperation(value = "平台账号密码登录")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = LoginSuccessDTO.class)})
@PostMapping("backEndLogin") @PostMapping("backEndLogin")
public ResultBody backEndLogin( public ResultBody backEndLogin(
@ApiParam(value = "账号登录QO", required = true) @Validated @RequestBody LoginUserQO param) { @ApiParam(value = "账号登录QO", required = true) @Validated @RequestBody LoginUserQO param) {
...@@ -41,9 +40,9 @@ public class AuthController { ...@@ -41,9 +40,9 @@ public class AuthController {
} }
@ApiOperation(value = "测试-小程序unionId登录/注册") @ApiOperation(value = "测试-小程序unionId登录/注册")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = AppUserSucVO.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppUserSucVO.class)})
@PostMapping("testAppletLogin") @PostMapping("testAppletLogin")
public ResultBody testAppletLogin(@RequestParam String unionId){ public ResultBody testAppletLogin(@RequestParam String unionId) {
return authService.testAppletLogin(unionId); return authService.testAppletLogin(unionId);
} }
} }
...@@ -4,24 +4,17 @@ import com.mmc.iuav.group.Create; ...@@ -4,24 +4,17 @@ import com.mmc.iuav.group.Create;
import com.mmc.iuav.group.Update; import com.mmc.iuav.group.Update;
import com.mmc.iuav.group.UpdatePassword; import com.mmc.iuav.group.UpdatePassword;
import com.mmc.iuav.response.ResultBody; 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.qo.BUserAccountQO;
import com.mmc.iuav.user.model.vo.BUserAccountVO; import com.mmc.iuav.user.model.vo.BUserAccountVO;
import com.mmc.iuav.user.model.vo.UserAccountVO; import com.mmc.iuav.user.model.vo.BackUserAccountVO;
import com.mmc.iuav.user.service.UserAccountService; import com.mmc.iuav.user.service.BackUserAccountService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.security.NoSuchAlgorithmException;
import java.util.List; import java.util.List;
/** /**
...@@ -31,52 +24,53 @@ import java.util.List; ...@@ -31,52 +24,53 @@ import java.util.List;
@Api(tags = "后台用户相关接口") @Api(tags = "后台用户相关接口")
@RequestMapping("/back-user/") @RequestMapping("/back-user/")
@RestController @RestController
public class BackUserAccountController extends BaseController{ public class BackUserAccountController extends BaseController {
@Autowired @Autowired
private UserAccountService userAccountService; private BackUserAccountService backUserAccountService;
@ApiOperation(value = "账号-新增") @ApiOperation(value = "账号-新增")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("insertBAccount") @PostMapping("insertBAccount")
public ResultBody insertBAccount(@Validated(value = {Create.class}) @RequestBody BUserAccountVO bUserAccountVO) { public ResultBody insertBAccount(@Validated(value = {Create.class}) @RequestBody BUserAccountVO bUserAccountVO,
return userAccountService.insertBAccount(bUserAccountVO); HttpServletRequest request) {
return backUserAccountService.insertBAccount(bUserAccountVO, this.getUserLoginInfoFromRedis(request));
} }
@ApiOperation(value = "账号-修改") @ApiOperation(value = "账号-修改")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("updateBAccount") @PostMapping("updateBAccount")
public ResultBody updateBAccount(@Validated(value = {Update.class}) @RequestBody BUserAccountVO bUserAccountVO) { public ResultBody updateBAccount(@Validated(value = {Update.class}) @RequestBody BUserAccountVO bUserAccountVO, HttpServletRequest request) {
return userAccountService.updateBAccount(bUserAccountVO); return backUserAccountService.updateBAccount(bUserAccountVO, this.getUserLoginInfoFromRedis(request));
} }
@ApiOperation(value = "账号-删除") @ApiOperation(value = "账号-禁用(原删除)")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("removeBAccount") @GetMapping("removeBAccount")
public ResultBody removeBAccount(@RequestParam Integer userAccountId, HttpServletRequest request) { public ResultBody disableBAccount(@RequestParam Integer userAccountId, HttpServletRequest request) {
return userAccountService.removeBAccount(userAccountId); return backUserAccountService.disableBAccount(userAccountId, this.getUserLoginInfoFromRedis(request));
} }
@ApiOperation(value = "账号-列表") @ApiOperation(value = "账号-列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("listBAccountPage") @PostMapping("listBAccountPage")
public ResultBody<UserAccountSimpleDTO> listBAccountPage(@ApiParam(value = "账号查询QO", required = true) @RequestBody BUserAccountQO bUserAccountQO) { public ResultBody<BackUserAccountVO> listBAccountPage(@ApiParam(value = "账号查询QO", required = true) @RequestBody BUserAccountQO bUserAccountQO,
return userAccountService.listBAccountPage(bUserAccountQO); HttpServletRequest request) {
return backUserAccountService.listBAccountPage(bUserAccountQO, this.getUserLoginInfoFromRedis(request));
} }
@ApiOperation(value = "账号-用户列表-内部调用", hidden = true) @ApiOperation(value = "账号-后台用户列表-内部调用", hidden = true)
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = List.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = List.class)})
@PostMapping("feignListBAccountPage") @PostMapping("feignListBAccountPage")
public List<UserAccountSimpleDTO> feignListBAccountPage(@ApiParam(value = "账号查询QO", required = true) @RequestBody BUserAccountQO bUserAccountQO) { public List<BackUserAccountVO> feignListBAccountPage(@ApiParam(value = "账号查询QO", required = true) @RequestBody BUserAccountQO bUserAccountQO) {
return userAccountService.feignListBAccountPage(bUserAccountQO); return backUserAccountService.feignListBAccountPage(bUserAccountQO);
} }
@ApiOperation(value = "账号管理-修改密码") @ApiOperation(value = "账号管理-修改密码")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("updatePassword") @PostMapping("updatePassword")
public ResultBody updatePassword(@Validated(value = {UpdatePassword.class}) @RequestBody BUserAccountVO account) public ResultBody updatePassword(@Validated(value = {UpdatePassword.class}) @RequestBody BUserAccountVO account, HttpServletRequest request) {
throws NoSuchAlgorithmException { return backUserAccountService.updatePassword(account, this.getUserLoginInfoFromRedis(request));
return userAccountService.updatePassword(account);
} }
@ApiOperation(value = "feign-验证用户密码") @ApiOperation(value = "feign-验证用户密码")
...@@ -85,16 +79,14 @@ public class BackUserAccountController extends BaseController{ ...@@ -85,16 +79,14 @@ public class BackUserAccountController extends BaseController{
@GetMapping("feignAuthUserPwd") @GetMapping("feignAuthUserPwd")
public ResultBody feignAuthUserPwd(@RequestParam(required = true) Integer id, public ResultBody feignAuthUserPwd(@RequestParam(required = true) Integer id,
@RequestParam(required = true) String authPwd) { @RequestParam(required = true) String authPwd) {
return userAccountService.feignAuthUserPwd(id, authPwd); return backUserAccountService.feignAuthUserPwd(id, authPwd);
} }
@Autowired @ApiOperation(value = "pc后台-获取后台用户信息")
private PayClient payClient;
@ApiOperation(value = "test")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("listTest") @GetMapping("getBackUserAccountById")
public ResultBody listTest(HttpServletRequest request) { public ResultBody getBackUserAccountById(@RequestParam(required = true) Integer id) {
return ResultBody.success(payClient.createWallet(999)); return ResultBody.success(backUserAccountService.getBackUserAccountById(id));
} }
} }
...@@ -2,9 +2,7 @@ package com.mmc.iuav.user.controller; ...@@ -2,9 +2,7 @@ package com.mmc.iuav.user.controller;
import com.mmc.iuav.group.Insert; import com.mmc.iuav.group.Insert;
import com.mmc.iuav.response.ResultBody; import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.vo.AppUserSucVO;
import com.mmc.iuav.user.model.vo.CompanyAuthVO; import com.mmc.iuav.user.model.vo.CompanyAuthVO;
import com.mmc.iuav.user.model.vo.WxLoginVO;
import com.mmc.iuav.user.service.CompanyAuthService; import com.mmc.iuav.user.service.CompanyAuthService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -20,29 +18,29 @@ import javax.servlet.http.HttpServletRequest; ...@@ -20,29 +18,29 @@ import javax.servlet.http.HttpServletRequest;
@Api(tags = "企业认证相关") @Api(tags = "企业认证相关")
@RequestMapping("/company-auth/") @RequestMapping("/company-auth/")
@RestController @RestController
public class CompanyAuthController extends BaseController{ public class CompanyAuthController extends BaseController {
@Autowired @Autowired
private CompanyAuthService companyAuthService; private CompanyAuthService companyAuthService;
@ApiOperation(value = "提交企业认证") @ApiOperation(value = "提交企业认证")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("add") @PostMapping("add")
public ResultBody add(@Validated(value = {Insert.class})@RequestBody CompanyAuthVO companyAuthVO, HttpServletRequest request){ public ResultBody add(@Validated(value = {Insert.class}) @RequestBody CompanyAuthVO companyAuthVO, HttpServletRequest request) {
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId(); Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
companyAuthVO.setUserAccountId(userAccountId); companyAuthVO.setUserAccountId(userAccountId);
return companyAuthService.add(companyAuthVO); return companyAuthService.add(companyAuthVO);
} }
@ApiOperation(value = "企业工商模糊搜索") @ApiOperation(value = "企业工商模糊搜索")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("fuzzyQueryCompany") @GetMapping("fuzzyQueryCompany")
public ResultBody fuzzyQueryCompany(@ApiParam(value = "企业名称", required = true) @RequestParam String searchKey) { public ResultBody fuzzyQueryCompany(@ApiParam(value = "企业名称", required = true) @RequestParam String searchKey) {
return companyAuthService.fuzzyQueryCompany(searchKey); return companyAuthService.fuzzyQueryCompany(searchKey);
} }
@ApiOperation(value = "企业认证详情") @ApiOperation(value = "企业认证详情")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = CompanyAuthVO.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyAuthVO.class)})
@GetMapping("getCompanyAuthInfo") @GetMapping("getCompanyAuthInfo")
public ResultBody getCompanyAuthInfo(@RequestParam Integer userAccountId) { public ResultBody getCompanyAuthInfo(@RequestParam Integer userAccountId) {
return ResultBody.success(companyAuthService.getCompanyAuthByUId(userAccountId)); return ResultBody.success(companyAuthService.getCompanyAuthByUId(userAccountId));
......
package com.mmc.iuav.user.controller;
import com.mmc.iuav.group.Insert;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.qo.CompanyInfoQO;
import com.mmc.iuav.user.model.vo.CompanyInfoVO;
import com.mmc.iuav.user.model.vo.UserAccountVO;
import com.mmc.iuav.user.service.CompanyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @author: zj
* @Date: 2023/7/3 15:35
*/
@Api(tags = "单位管理")
@RequestMapping("/company/")
@RestController
public class CompanyController extends BaseController {
@Autowired
private CompanyService companyService;
@ApiOperation(value = "新增")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("add")
public ResultBody add(@Validated(Insert.class) @RequestBody CompanyInfoVO companyInfo) {
return companyService.addCompanyInfo(companyInfo);
}
@ApiOperation(value = "移除")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("remove")
public ResultBody remove(@RequestParam Integer id, @RequestHeader String token) {
return companyService.removeCompanyInfo(id, token);
}
@ApiOperation(value = "修改")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("update")
public ResultBody update(@RequestBody CompanyInfoVO companyInfo) {
return companyService.updateCompanyInfo(companyInfo);
}
@ApiOperation(value = "单位查询")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@GetMapping("getCompanyInfoById")
public ResultBody<CompanyInfoVO> getCompanyInfoById(@RequestParam Integer id) {
return companyService.getCompanyInfoById(id);
}
@ApiOperation(value = "pc-后台用户id单位查询")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@GetMapping("getCompanyInfoByBUId")
public ResultBody<CompanyInfoVO> getCompanyInfoByBUId(@RequestParam Integer backUserAccountId) {
return companyService.getCompanyInfoByBUId(backUserAccountId);
}
@ApiOperation(value = "单位列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@PostMapping("listCompanyPage")
public ResultBody<CompanyInfoVO> listCompanyPage(@RequestBody CompanyInfoQO companyInfoQO, HttpServletRequest request) {
return companyService.listCompanyPage(companyInfoQO, this.getUserLoginInfoFromRedis(request));
}
@ApiIgnore
@ApiOperation(value = "单位列表-后台使用")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@PostMapping("listCompanyPageBack")
public List<CompanyInfoVO> listCompanyPageBack(@RequestBody CompanyInfoQO companyInfoQO) {
return companyService.listCompanyPageBack(companyInfoQO);
}
@ApiOperation(value = "成员-绑定")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("bindingCompanyMember")
public ResultBody bindingCompanyMember(HttpServletRequest request,
@RequestParam Integer userAccountId,
@RequestParam Integer companyInfoId) {
return companyService.bindingCompanyMember(this.getUserLoginInfoFromRedis(request), userAccountId, companyInfoId);
}
@ApiOperation(value = "成员-解绑")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("unbindCompanyMember")
public ResultBody unbindCompanyMember(HttpServletRequest request,
@RequestParam Integer userAccountId,
@RequestParam Integer companyInfoId) {
return companyService.unbindCompanyMember(this.getUserLoginInfoFromRedis(request), userAccountId, companyInfoId);
}
@ApiOperation(value = "成员-转让管理员")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("transferLeader")
public ResultBody transferLeader(HttpServletRequest request,
@RequestParam Integer fromUserAccountId,
@RequestParam Integer toUserAccountId,
@RequestParam Integer companyInfoId) {
return companyService.transferLeader(this.getUserLoginInfoFromRedis(request), fromUserAccountId, toUserAccountId, companyInfoId);
}
@ApiOperation(value = "成员-列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("listCompanyMembers")
public ResultBody<UserAccountVO> listCompanyMembers(HttpServletRequest request,
@RequestParam Integer companyInfoId,
@RequestParam Integer pageNo,
@RequestParam Integer pageSize) {
return companyService.listCompanyMembers(companyInfoId, this.getUserLoginInfoFromRedis(request), pageNo, pageSize);
}
@ApiIgnore
@ApiOperation(value = "批量获取单位信息")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@PostMapping("listCompanyInfoByIds")
public List<CompanyInfoVO> listCompanyInfoByIds(@RequestBody List<Integer> ids) {
return companyService.listCompanyInfoByIds(ids);
}
@ApiOperation(value = "批量获取单位信息-后台用户id批量获取")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@PostMapping("listCompanyInfoByBUIds")
public List<CompanyInfoVO> listCompanyInfoByBUIds(@RequestBody List<Integer> backUserAccountIds) {
return companyService.listCompanyInfoByBUIds(backUserAccountIds);
}
}
package com.mmc.iuav.user.controller; package com.mmc.iuav.user.controller;
import com.mmc.iuav.group.Insert; import com.mmc.iuav.group.Insert;
import com.mmc.iuav.group.Update;
import com.mmc.iuav.response.ResultBody; import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.vo.CompanyAuthVO; import com.mmc.iuav.user.model.dto.WebsiteRangeDTO;
import com.mmc.iuav.user.model.vo.CooperationTagVO; import com.mmc.iuav.user.model.qo.ApplyQO;
import com.mmc.iuav.user.model.vo.UserApplyTagVO; import com.mmc.iuav.user.model.vo.*;
import com.mmc.iuav.user.service.CooperationService; import com.mmc.iuav.user.service.CooperationService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -15,50 +16,134 @@ import javax.servlet.http.HttpServletRequest; ...@@ -15,50 +16,134 @@ import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
/** /**
* @author: zj * @author: zj @Date: 2023/5/17 21:17
* @Date: 2023/5/17 21:17
*/ */
@Api(tags = "合作加盟") @Api(tags = "合作加盟")
@RequestMapping("/cooperation/") @RequestMapping("/cooperation/")
@RestController @RestController
public class CooperationController extends BaseController{ public class CooperationController extends BaseController {
@Autowired @Autowired
private CooperationService cooperationService; private CooperationService cooperationService;
@ApiOperation(value = "加盟标签列表") @ApiOperation(value = "加盟标签列表")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = CooperationTagVO.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = CooperationTagVO.class)})
@GetMapping("listTag") @GetMapping("listTag")
public ResultBody listTag() { public ResultBody listTag() {
return ResultBody.success(cooperationService.listTag()); return ResultBody.success(cooperationService.listTag());
} }
@ApiOperation(value = "根据id获取标签信息") @ApiOperation(value = "根据id获取标签信息")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = CooperationTagVO.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = CooperationTagVO.class)})
@GetMapping("getTagById") @GetMapping("getTagById")
public ResultBody getTagById(@RequestParam("id") Integer id) { public ResultBody getTagById(@RequestParam("id") Integer id) {
return cooperationService.getTagById(id); return cooperationService.getTagById(id);
} }
@ApiOperation(value = "申请加盟") @ApiOperation(value = "申请加盟")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("apply") @PostMapping("apply")
public ResultBody apply(@Validated(value = {Insert.class})@RequestBody UserApplyTagVO userApplyTagVO, HttpServletRequest request){ public ResultBody apply(
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId(); @Validated(value = {Insert.class}) @RequestBody UserApplyTagVO userApplyTagVO,
HttpServletRequest request) {
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
userApplyTagVO.setUserAccountId(userAccountId); userApplyTagVO.setUserAccountId(userAccountId);
return cooperationService.apply(userApplyTagVO); return cooperationService.apply(userApplyTagVO);
} }
@ApiOperation(value = "app-已申请的品牌与logo列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UserApplyTagVO.class)})
@GetMapping("appBrandList")
public ResultBody<CompanyInfoVO> appBrandList() {
return cooperationService.appBrandList();
}
@ApiOperation(value = "app-通过用户获取相关品牌信息")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UserApplyTagVO.class)})
@GetMapping("appBrandMessage")
public ResultBody<UserApplyTagVO> appBrandMessage(@ApiParam(value = "用户id", required = true) @RequestParam Integer userAccountId) {
return cooperationService.appBrandMessage(userAccountId);
}
@ApiOperation(value = "后台-申请列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UserApplyTagVO.class)})
@PostMapping("listUserApplyTag")
public ResultBody<UserApplyTagVO> listUserApplyTag(@RequestBody ApplyQO applyQO) {
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 = WebsiteRangeDTO.class)})
@GetMapping("service/bitmap")
public ResultBody<WebsiteRangeDTO> 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")
public ResultBody deleteApplyTag(Integer id) {
return ResultBody.success(cooperationService.deleteApplyTag(id));
}
@ApiOperation(value = "审批详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UserApplyTagDetailsVO.class)})
@GetMapping("applyTagDetails")
public ResultBody applyTagDetails(
@RequestParam(value = "id") Integer id,
@RequestParam(value = "userAccountId") Integer userAccountId) {
return cooperationService.applyTagDetails(id, userAccountId);
}
@ApiOperation(value = "审批")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("approvalApplyTag")
public ResultBody approvalApplyTag(
@RequestParam(value = "id") Integer id, @RequestParam(value = "status") Boolean status) {
return cooperationService.approvalApplyTag(id, status);
}
@ApiOperation(value = "后台设置小程序用户标签") @ApiOperation(value = "后台设置小程序用户标签")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("changeUserTag") @PostMapping("changeUserTag")
public ResultBody changeUserTag(@RequestParam("userAccountId") Integer userAccountId, @RequestParam("cooperationTagId") Integer cooperationTagId) { public ResultBody changeUserTag(
return cooperationService.changeUserTag(userAccountId, cooperationTagId); @Validated(Update.class) @RequestBody UserCooperationTagVO userCooperationTagVO) {
return cooperationService.changeUserTag(userCooperationTagVO);
} }
@ApiOperation(value = "获取合作渠道标签", hidden = true) @ApiOperation(value = "获取合作渠道标签", hidden = true)
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = CooperationTagVO.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = CooperationTagVO.class)})
@GetMapping("feignListCooperationTag") @GetMapping("feignListCooperationTag")
public List<CooperationTagVO> feignListCooperationTag(){ public List<CooperationTagVO> feignListCooperationTag() {
return cooperationService.listTag(); return cooperationService.listTag();
} }
@ApiOperation(value = "合作商家列表-根据合作标签id获取")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@GetMapping("listCompanyInfoByCoopId")
public ResultBody<CompanyInfoVO> listCompanyInfoByCoopId(@ApiParam(value = "加盟合作标签id") @RequestParam Integer coopId,
@RequestParam Integer pageNo,
@RequestParam Integer pageSize,
@RequestParam Double lon,
@RequestParam Double lat) {
return ResultBody.success(cooperationService.listCompanyInfoByCoopId(coopId, pageNo, pageSize, lon, lat));
}
} }
package com.mmc.iuav.user.controller;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.dto.MenuInfoDTO;
import com.mmc.iuav.user.service.MenuInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author: zj
* @Date: 2023/7/11 14:09
*/
@Api(tags = "角色菜单管理")
@RequestMapping("/role-menu/")
@RestController
public class MenuInfoController extends BaseController {
@Autowired
private MenuInfoService menuInfoService;
@ApiOperation(value = "全部菜单列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = MenuInfoDTO.class)})
@GetMapping("listMenuInfo")
public ResultBody listMenuInfo() {
return menuInfoService.listMenuInfo();
}
}
package com.mmc.iuav.user.controller;
import com.mmc.iuav.group.Create;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.dto.RealNameAuthDTO;
import com.mmc.iuav.user.model.dto.RealNameAuthDetailDTO;
import com.mmc.iuav.user.model.qo.RealNameAuthQO;
import com.mmc.iuav.user.model.vo.RealNameAuthVO;
import com.mmc.iuav.user.service.RealNameAuthService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
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/7/27 10:04
*/
@Api(tags = "实名认证")
@RequestMapping("/real-name-auth/")
@RestController
public class RealNameAuthController extends BaseController {
@Autowired
private RealNameAuthService realNameAuthService;
@ApiOperation(value = "提交实名认证")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("add")
public ResultBody add(@Validated(value = {Create.class}) @RequestBody RealNameAuthVO realNameAuthVO) {
return realNameAuthService.add(realNameAuthVO);
}
@ApiOperation(value = "实名认证详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = RealNameAuthDetailDTO.class)})
@GetMapping("detail")
public ResultBody<RealNameAuthDetailDTO> detail(@RequestParam Integer id) {
return realNameAuthService.detail(id);
}
@ApiOperation(value = "用户实名认证详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = RealNameAuthDTO.class)})
@GetMapping("userDetail")
public ResultBody<RealNameAuthDTO> userDetail(HttpServletRequest request) {
return realNameAuthService.userDetail(this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
@ApiOperation(value = "实名认证列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("listPage")
public ResultBody listPage(@RequestBody RealNameAuthQO realNameAuthQO) {
return realNameAuthService.listPage(realNameAuthQO);
}
@ApiOperation(value = "备注修改")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("updateRemark")
public ResultBody updateRemark(@RequestParam Integer id, @RequestParam(required = false) String remark) {
return realNameAuthService.updateRealNameAuthRemark(id, remark);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论