Merge remote-tracking branch 'origin/cc_20241008_sysBuildAndAdjust' into cc_20241008_sysBuildAndAdjust

This commit is contained in:
苏竹红
2024-10-10 10:21:58 +08:00
25 changed files with 656 additions and 116 deletions

View File

@@ -223,6 +223,8 @@ public enum ErrorCodeEnum {
DESIGN_NO_COMPLETE(121007,"请先完成设计阶段!",null),
UPDATE_FAIL(131000,"修改失败,表单不存在!",null),
LICENSE_LEGAL_STAGE_FAIL(131001,"营业执照阶段未上传!",null),
BUILD_INFORMATION_STAGE_FAIL(131002,"建店资料收集阶段未完成!",null)
;

View File

@@ -30,6 +30,8 @@ public enum UserRoleEnum {
ENGINEER_DEP_SUPERVISOR(250000000L, "工程部监理"),
ENGINEER_DEP_MANAGER(260000000L, "工程部高级经理"),
STRONG_INVESTMENT_COMMISSIONER(270000000L, "强加盟招商专员"),
HUO_MA_EMPLOYEE(280000000L,"火码"),
IT_EMPLOYEE(290000000L,"IT")
;
private Long code;

View File

@@ -31,8 +31,10 @@ public class PlatformBuildDAO {
if (platformBuildDO == null) {
return 0;
}
Example example = new Example(BuildInformationDO.class);
example.createCriteria().andEqualTo("shopId", platformBuildDO.getShopId());
Example example = new Example(PlatformBuildDO.class);
example.createCriteria()
.andEqualTo("shopId", platformBuildDO.getShopId())
.andEqualTo("type",platformBuildDO.getType());
return platformBuildMapper.updateByExampleSelective(platformBuildDO,example);
}
public PlatformBuildDO selectOneByShopId(Long shopId,Integer type) {

View File

@@ -29,8 +29,10 @@ public class PosAndOrderInfoDAO {
if (posAndOrderInfoDO == null) {
return 0;
}
Example example = new Example(BuildInformationDO.class);
example.createCriteria().andEqualTo("shopId", posAndOrderInfoDO.getShopId());
Example example = new Example(PosAndOrderInfoDO.class);
example.createCriteria()
.andEqualTo("shopId", posAndOrderInfoDO.getShopId())
.andEqualTo("type",posAndOrderInfoDO.getType());
return posAndOrderInfoMapper.updateByExampleSelective(posAndOrderInfoDO,example);
}
public PosAndOrderInfoDO selectOneByShopId(Long shopId,Integer type) {

View File

@@ -5,33 +5,37 @@
<mapper namespace="com.cool.store.mapper.BuildInformationMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.BuildInformationDO">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="shopContactName" column="shop_contact_name" jdbcType="VARCHAR"/>
<result property="shopContactMobile" column="shop_contact_mobile" jdbcType="VARCHAR"/>
<result property="businessHours" column="business_hours" jdbcType="TIMESTAMP"/>
<result property="businessMobile" column="business_mobile" jdbcType="VARCHAR"/>
<result property="doorPhoto" column="door_photo" jdbcType="VARCHAR"/>
<result property="inStorePhoto" column="in_store_photo" jdbcType="VARCHAR"/>
<result property="juridicalIdCardFront" column="juridical_id_card_front" jdbcType="VARCHAR"/>
<result property="juridicalIdCardReverse" column="juridical_id_card_reverse" jdbcType="VARCHAR"/>
<result property="juridicalHandheldIdCardFront" column="juridical_handheld_id_card_front" jdbcType="VARCHAR"/>
<result property="juridicalHandheldIdCardReverse" column="juridical_handheld_id_card_reverse" jdbcType="VARCHAR"/>
<result property="settlerIdCardFront" column="settler_id_card_front" jdbcType="VARCHAR"/>
<result property="settlerIdCardReverse" column="settler_id_card_reverse" jdbcType="VARCHAR"/>
<result property="settlerIdCardNo" column="settler_id_card_no" jdbcType="VARCHAR"/>
<result property="settlerBankNumber" column="settler_bank_number" jdbcType="VARCHAR"/>
<result property="settlerBankMobile" column="settler_bank_mobile" jdbcType="VARCHAR"/>
<result property="settlerBankName" column="settler_bank_name" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="createUser" column="create_user" jdbcType="VARCHAR"/>
<result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="shopContactName" column="shop_contact_name" jdbcType="VARCHAR"/>
<result property="shopContactMobile" column="shop_contact_mobile" jdbcType="VARCHAR"/>
<result property="businessHours" column="business_hours" jdbcType="VARCHAR"/>
<result property="businessMobile" column="business_mobile" jdbcType="VARCHAR"/>
<result property="doorPhoto" column="door_photo" jdbcType="VARCHAR"/>
<result property="inStorePhoto" column="in_store_photo" jdbcType="VARCHAR"/>
<result property="juridicalIdCardFront" column="juridical_id_card_front" jdbcType="VARCHAR"/>
<result property="juridicalIdCardReverse" column="juridical_id_card_reverse" jdbcType="VARCHAR"/>
<result property="juridicalHandheldIdCardFront" column="juridical_handheld_id_card_front" jdbcType="VARCHAR"/>
<result property="juridicalHandheldIdCardReverse" column="juridical_handheld_id_card_reverse"
jdbcType="VARCHAR"/>
<result property="juridicalIdCardNo" column="juridical_id_card_no" jdbcType="VARCHAR"/>
<result property="settlerIdCardFront" column="settler_id_card_front" jdbcType="VARCHAR"/>
<result property="settlerIdCardReverse" column="settler_id_card_reverse" jdbcType="VARCHAR"/>
<result property="settlerIdCardNo" column="settler_id_card_no" jdbcType="VARCHAR"/>
<result property="settlerBankPhotoUrl" column="settler_bank_photo_url" jdbcType="VARCHAR"/>
<result property="settlerBankNumber" column="settler_bank_number" jdbcType="VARCHAR"/>
<result property="settlerBankMobile" column="settler_bank_mobile" jdbcType="VARCHAR"/>
<result property="settlerBankName" column="settler_bank_name" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="createUser" column="create_user" jdbcType="VARCHAR"/>
<result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,shop_id,shop_contact_name,
shop_contact_mobile,business_hours,business_mobile,
id
,shop_id,shop_contact_name,
shop_contact_mobile,business_hours,business_mobile,settler_bank_photo_url,juridical_id_card_no,
door_photo,in_store_photo,juridical_id_card_front,
juridical_id_card_reverse,juridical_handheld_id_card_front,juridical_handheld_id_card_reverse,
settler_id_card_front,settler_id_card_reverse,settler_id_card_no,

View File

@@ -5,29 +5,32 @@
<mapper namespace="com.cool.store.mapper.PlatformBuildMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.PlatformBuildDO">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="auditId" column="audit_id" jdbcType="BIGINT"/>
<result property="type" column="type" jdbcType="TINYINT"/>
<result property="settlerIdCardFront" column="settler_id_card_front" jdbcType="VARCHAR"/>
<result property="settlerIdCardReverse" column="settler_id_card_reverse" jdbcType="VARCHAR"/>
<result property="settlerIdCardNo" column="settler_id_card_no" jdbcType="VARCHAR"/>
<result property="settlerBankNumber" column="settler_bank_number" jdbcType="VARCHAR"/>
<result property="settlerBankMobile" column="settler_bank_mobile" jdbcType="VARCHAR"/>
<result property="settlerBankName" column="settler_bank_name" jdbcType="VARCHAR"/>
<result property="relationshipProofUrl" column="relationship_proof_url" jdbcType="VARCHAR"/>
<result property="accountOpeningPermitUrl" column="account_opening_permit_url" jdbcType="VARCHAR"/>
<result property="account" column="account" jdbcType="VARCHAR"/>
<result property="storePositioningUrl" column="store_positioning_url" jdbcType="VARCHAR"/>
<result property="authorizationUrl" column="authorization_url" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="createUser" column="create_user" jdbcType="VARCHAR"/>
<result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="auditId" column="audit_id" jdbcType="BIGINT"/>
<result property="type" column="type" jdbcType="TINYINT"/>
<result property="settlerIdCardFront" column="settler_id_card_front" jdbcType="VARCHAR"/>
<result property="settlerIdCardReverse" column="settler_id_card_reverse" jdbcType="VARCHAR"/>
<result property="settlerIdCardNo" column="settler_id_card_no" jdbcType="VARCHAR"/>
<result property="settlerName" column="settler_name" jdbcType="VARCHAR"/>
<result property="settlerBankPhotoUrl" column="settler_bank_photo_url" jdbcType="VARCHAR"/>
<result property="settlerBankNumber" column="settler_bank_number" jdbcType="VARCHAR"/>
<result property="settlerBankMobile" column="settler_bank_mobile" jdbcType="VARCHAR"/>
<result property="settlerBankName" column="settler_bank_name" jdbcType="VARCHAR"/>
<result property="relationshipProofUrl" column="relationship_proof_url" jdbcType="VARCHAR"/>
<result property="accountOpeningPermitUrl" column="account_opening_permit_url" jdbcType="VARCHAR"/>
<result property="account" column="account" jdbcType="VARCHAR"/>
<result property="storePositioningUrl" column="store_positioning_url" jdbcType="VARCHAR"/>
<result property="authorizationUrl" column="authorization_url" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="createUser" column="create_user" jdbcType="VARCHAR"/>
<result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,shop_id,audit_id,
id
,shop_id,audit_id,
type,settler_id_card_front,settler_id_card_reverse,
settler_id_card_no,settler_bank_number,settler_bank_mobile,
settler_bank_name,relationship_proof_url,account_opening_permit_url,

View File

@@ -3,17 +3,22 @@ package com.cool.store.entity;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
/**
* 建店资料表
*
* @TableName xfsg_build_information
*/
@Table(name ="xfsg_build_information")
@Table(name = "xfsg_build_information")
@Data
public class BuildInformationDO {
public class BuildInformationDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -39,7 +44,7 @@ public class BuildInformationDO {
* 营业时间
*/
@Column(name = "business_hours")
private Date businessHours;
private String businessHours;
/**
* 营业电话
@@ -62,85 +67,97 @@ public class BuildInformationDO {
/**
* 法人身份证正面(图片)
*/
@Column(name = "juridical_id_card_front")
@Column(name = "juridical_id_card_front")
private String juridicalIdCardFront;
/**
* 法人身份证反面(图片)
*/
@Column(name = "juridical_id_card_reverse")
@Column(name = "juridical_id_card_reverse")
private String juridicalIdCardReverse;
/**
* 法人身份证号
*/
@Column(name = "juridical_id_card_no")
private String juridicalIdCardNo;
/**
* 法人手持身份证正面(图片)
*/
@Column(name = "juridical_handheld_id_card_front")
@Column(name = "juridical_handheld_id_card_front")
private String juridicalHandheldIdCardFront;
/**
* 法人手持身份证反面(图片)
*/
@Column(name = "juridical_handheld_id_card_reverse")
@Column(name = "juridical_handheld_id_card_reverse")
private String juridicalHandheldIdCardReverse;
/**
* 结算人身份证正面(图片)
*/
@Column(name = "settler_id_card_front")
@Column(name = "settler_id_card_front")
private String settlerIdCardFront;
/**
* 结算人身份证反面(图片)
*/
@Column(name = "settler_id_card_reverse")
@Column(name = "settler_id_card_reverse")
private String settlerIdCardReverse;
/**
* 结算人身份证号
*/
@Column(name = "settler_id_card_no")
@Column(name = "settler_id_card_no")
private String settlerIdCardNo;
/**
* 结算人银行卡照片
*/
@Column(name = "settler_bank_photo_url")
private String settlerBankPhotoUrl;
/**
* 结算人银行卡号
*/
@Column(name = "settler_bank_number")
@Column(name = "settler_bank_number")
private String settlerBankNumber;
/**
* 结算人银行卡预留手机号
*/
@Column(name = "settler_bank_mobile")
@Column(name = "settler_bank_mobile")
private String settlerBankMobile;
/**
* 结算开户银行支行
*/
@Column(name = "settler_bank_name")
@Column(name = "settler_bank_name")
private String settlerBankName;
/**
* 创建时间
*/
@Column(name = "create_time")
@Column(name = "create_time")
private Date createTime;
/**
* 更新时间
*/
@Column(name = "update_time")
@Column(name = "update_time")
private Date updateTime;
/**
* 创建人
*/
@Column(name = "create_user")
@Column(name = "create_user")
private String createUser;
/**
* 更新人
*/
@Column(name = "update_user")
@Column(name = "update_user")
private String updateUser;
}

View File

@@ -50,12 +50,24 @@ public class PlatformBuildDO {
@Column(name = "settler_id_card_reverse")
private String settlerIdCardReverse;
/**
* 结算人姓名
*/
@Column(name = "settler_name")
private String settlerName;
/**
* 结算人身份证号
*/
@Column(name = "settler_id_card_no")
private String settlerIdCardNo;
/**
* 结算人银行卡照片
*/
@Column(name = "settler_bank_photo_url")
private String settlerBankPhotoUrl;
/**
* 结算人银行卡号
*/

View File

@@ -20,81 +20,96 @@ public class BuildInformationRequest {
@NotNull
private Long shopId;
@NotBlank
@NotBlank(message = "门店联系人姓名 不能为空")
@Length(max = 100 , message = "门店联系人姓名长度不能超过100")
@ApiModelProperty("门店联系人姓名")
private String shopContactName;
@ApiModelProperty("门店联系人手机号")
@NotBlank
@NotBlank(message = "门店联系人手机号 不能为空")
@Length(min = 11,max = 11 , message = "门店联系人手机号长度必须为11")
private String shopContactMobile;
@ApiModelProperty("营业时间")
@NotNull
private Date businessHours;
@NotBlank(message = "营业时间 不能为空")
private String businessHours;
@ApiModelProperty("营业电话")
@NotBlank
@NotBlank(message = "营业电话 不能为空")
@Length(max = 100 , message = "营业电话长度不能超过100")
private String businessMobile;
@NotBlank
@NotBlank(message = "门头照 不能为空")
@Length(max = 1000 , message = "门头照长度不能超过1000")
@ApiModelProperty("门头照(图片)")
private String doorPhoto;
@NotBlank
@NotBlank(message = "店内照 不能为空")
@Length(max = 2040 , message = "店内照长度不能超过2040")
@ApiModelProperty("店内照(图片)")
private String inStorePhoto;
@NotBlank
@NotBlank(message = "法人身份证正面 不能为空")
@Length(max = 250 , message = "法人身份证正面长度不能超过250")
@ApiModelProperty("法人身份证正面(图片)")
private String juridicalIdCardFront;
@NotBlank
@NotBlank(message = "法人身份证反面 不能为空")
@Length(max = 250 , message = "法人身份证反面长度不能超过250")
@ApiModelProperty("法人身份证反面(图片)")
private String juridicalIdCardReverse;
@NotBlank
@NotBlank(message = "法人身份证号 不能为空")
@Length(min = 18 ,max = 18, message = "法人身份证号长度必须为18位")
@ApiModelProperty("法人身份证号")
private String juridicalIdCardNo;
@NotBlank(message = "法人手持身份证正面 不能为空")
@Length(max = 250 , message = "法人手持身份证正面 长度不能超过250")
@ApiModelProperty("法人手持身份证正面(图片)")
private String juridicalHandheldIdCardFront;
@NotBlank
@NotBlank(message = "法人手持身份证正面 不能为空")
@Length(max = 250 , message = "法人手持身份证正面 长度不能超过250")
@ApiModelProperty("法人手持身份证反面(图片)")
private String juridicalHandheldIdCardReverse;
@NotBlank
@NotBlank(message = "结算人身份证正面 不能为空")
@Length(max = 250 , message = "结算人身份证正面 长度不能超过250")
@ApiModelProperty("结算人身份证正面(图片)")
private String settlerIdCardFront;
@NotBlank
@NotBlank(message = "结算人身份证反面 不能为空")
@Length(max = 250 , message = "结算人身份证反面 长度不能超过250")
@ApiModelProperty("结算人身份证反面(图片)")
private String settlerIdCardReverse;
@NotBlank
@NotBlank(message = "结算人姓名 不能为空")
@Length(max = 120 , message = "结算人姓名 长度不能超过128")
@ApiModelProperty("结算人姓名")
private String settlerName;
@NotBlank(message = "结算人身份证号 不能为空")
@Length(max = 64 , message = "结算人身份证号 长度不能超过64")
@ApiModelProperty("结算人身份证号")
private String settlerIdCardNo;
@NotBlank
@NotBlank(message = "结算人银行卡照片 不能为空")
@Length(max = 250, message = "结算人银行卡照片 长度不能超过250")
@ApiModelProperty("结算人银行卡照片")
private String settlerBankPhotoUrl;
@NotBlank(message = "结算人银行卡号 不能为空")
@Length(max = 64 , message = "结算人银行卡号 长度不能超过64")
@ApiModelProperty("结算人银行卡号")
private String settlerBankNumber;
@NotBlank
@NotBlank(message = "结算人银行卡预留手机号 不能为空")
@Length(min = 11,max = 11 , message = "结算人银行卡预留手机号 长度必须为11")
@ApiModelProperty("结算人银行卡预留手机号")
private String settlerBankMobile;
@NotBlank
@NotBlank(message = "结算开户银行支行 不能为空")
@Length(max =100, message = "结算开户银行支行 长度不能超过100")
@ApiModelProperty("结算开户银行支行")
private String settlerBankName;
@@ -115,6 +130,8 @@ public class BuildInformationRequest {
buildInformationDO.setSettlerIdCardFront(this.settlerIdCardFront);
buildInformationDO.setSettlerIdCardReverse(this.settlerIdCardReverse);
buildInformationDO.setSettlerIdCardNo(this.settlerIdCardNo);
buildInformationDO.setSettlerBankPhotoUrl(this.settlerBankPhotoUrl);
buildInformationDO.setSettlerName(this.settlerName);
buildInformationDO.setSettlerBankNumber(this.settlerBankNumber);
buildInformationDO.setSettlerBankMobile(this.settlerBankMobile);
buildInformationDO.setSettlerBankName(this.settlerBankName);

View File

@@ -0,0 +1,85 @@
package com.cool.store.request;
import com.cool.store.entity.PlatformBuildDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.persistence.Column;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @Author: WangShuo
* @Date: 2024/10/09/下午9:27
* @Version 1.0
* @注释:
*/
@Data
public class PlatformBuildRequest {
@NotNull
private Long shopId;
@ApiModelProperty(value = "'1-抖音2-快手3-美团团购4-饿了么5-美团外卖6-(营帐通)',",hidden = true)
private Integer type;
@NotBlank
@Length(max = 250 , message = "结算人身份证正面 长度不能超过250")
@ApiModelProperty("结算人身份证正面(图片)")
private String settlerIdCardFront;
@NotBlank
@Length(max = 250 , message = "结算人身份证反面 长度不能超过250")
@ApiModelProperty("结算人身份证反面(图片)")
private String settlerIdCardReverse;
@NotBlank
@Length(max = 120 , message = "结算人姓名 长度不能超过128")
@ApiModelProperty("结算人姓名")
private String settlerName;
@NotBlank
@Length(max = 64 , message = "结算人身份证号 长度不能超过64")
@ApiModelProperty("结算人身份证号")
private String settlerIdCardNo;
@NotBlank
@Length(max = 250, message = "结算人银行卡照片 长度不能超过250")
@ApiModelProperty("结算人银行卡照片")
private String settlerBankPhotoUrl;
@NotBlank
@Length(max = 64 , message = "结算人银行卡号 长度不能超过64")
@ApiModelProperty("结算人银行卡号")
private String settlerBankNumber;
@NotBlank
@Length(min = 11,max = 11 , message = "结算人银行卡预留手机号 长度必须为11")
@ApiModelProperty("结算人银行卡预留手机号")
private String settlerBankMobile;
@NotBlank
@Length(max =100, message = "结算开户银行支行 长度不能超过100")
@ApiModelProperty("结算开户银行支行")
private String settlerBankName;
@Length(max =1020, message = "门店定位截图(快手&抖音) 长度不能超过1020")
@ApiModelProperty("门店定位截图(快手&抖音)")
private String storePositioningUrl;
@Length(max =1020, message = "授权书(抖音非法人结算需要) 长度不能超过1020")
@ApiModelProperty("授权书(抖音非法人结算需要)")
private String authorizationUrl;
public PlatformBuildDO toDO(){
PlatformBuildDO platformBuildDO = new PlatformBuildDO();
platformBuildDO.setShopId(this.shopId);
platformBuildDO.setSettlerIdCardFront(this.settlerIdCardFront);
platformBuildDO.setSettlerIdCardReverse(this.settlerIdCardReverse);
platformBuildDO.setSettlerIdCardNo(this.settlerIdCardNo);
platformBuildDO.setSettlerName(this.settlerName);
return platformBuildDO;
}
}

View File

@@ -0,0 +1,42 @@
package com.cool.store.request;
import com.cool.store.entity.PosAndOrderInfoDO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @Author: WangShuo
* @Date: 2024/10/09/下午5:19
* @Version 1.0
* @注释:
*/
@Data
public class PostAndOrderRequest {
@NotNull
private Long shopId;
@ApiModelProperty(value = "1-pos 2-订货系统",hidden = true)
private Integer type;
@NotBlank
@ApiModelProperty("账号")
private String account;
@NotBlank
@ApiModelProperty("密码")
private String password;
@ApiModelProperty("备注")
private String remark;
public PosAndOrderInfoDO toDO(){
PosAndOrderInfoDO posAndOrderInfoDO = new PosAndOrderInfoDO();
posAndOrderInfoDO.setShopId(this.shopId);
posAndOrderInfoDO.setType(this.type);
posAndOrderInfoDO.setAccount(this.account);
posAndOrderInfoDO.setPassword(this.password);
posAndOrderInfoDO.setRemark(this.remark);
return posAndOrderInfoDO;
}
}

View File

@@ -0,0 +1,45 @@
package com.cool.store.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* @Author: WangShuo
* @Date: 2024/08/29/下午2:33
* @Version 1.0
* @注释:
*/
@Data
public class AuditInfoResponse {
@ApiModelProperty("操作人集合")
private List<AuditUserInfoVO> list;
@ApiModelProperty("操作类型 0 提交审批 1-审批通过 2 审批不通过 3-待审批")
private Integer type;
@ApiModelProperty("生成时间")
private Date createTime;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("附件")
private String annex;
@ApiModelProperty("实际操作人id")
private String actualUserId;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "可操作人信息")
public static class AuditUserInfoVO {
private String userId;
private String name;
@ApiModelProperty("头像")
private String avatar;
}
}

View File

@@ -45,7 +45,7 @@ public class BuildInformationResponse {
private String shopContactMobile;
@ApiModelProperty("营业时间")
private Date businessHours;
private String businessHours;
@ApiModelProperty("营业电话")
private String businessMobile;
@@ -62,6 +62,9 @@ public class BuildInformationResponse {
@ApiModelProperty("法人身份证反面(图片)")
private String juridicalIdCardReverse;
@ApiModelProperty("法人身份证号")
private String juridicalIdCardNo;
@ApiModelProperty("法人手持身份证正面(图片)")
private String juridicalHandheldIdCardFront;
@@ -77,6 +80,9 @@ public class BuildInformationResponse {
@ApiModelProperty("结算人身份证号")
private String settlerIdCardNo;
@ApiModelProperty("结算人银行卡照片")
private String settlerBankPhotoUrl;
@ApiModelProperty("结算人银行卡号")
private String settlerBankNumber;

View File

@@ -0,0 +1,41 @@
package com.cool.store.response;
import com.cool.store.entity.PosAndOrderInfoDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* @Author: WangShuo
* @Date: 2024/10/09/下午5:36
* @Version 1.0
* @注释:
*/
@Data
public class PosAndOrderResponse {
private Long shopId;
@ApiModelProperty("1-pos 2-订货系统',")
private Integer type;
@ApiModelProperty("账号")
private String account;
@ApiModelProperty("密码")
private String password;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("创建人")
private String createUser;
}

View File

@@ -13,8 +13,8 @@ public interface BuildInformationService {
BuildInformationResponse getBuildInformation(Long shopId);
Integer submit(BuildInformationRequest request);
Integer submitOrUpdate(BuildInformationRequest request);
Integer update(BuildInformationRequest request);
}

View File

@@ -1,6 +1,7 @@
package com.cool.store.service;
import com.cool.store.request.PlatformBuildRequest;
/**
* @author EDY
@@ -9,4 +10,12 @@ package com.cool.store.service;
*/
public interface PlatformBuildService {
Boolean isJuridical(Long shopId);
Integer submitOrUpdate(PlatformBuildRequest request,String userId);
}

View File

@@ -1,6 +1,9 @@
package com.cool.store.service;
import com.cool.store.request.PostAndOrderRequest;
import com.cool.store.response.PosAndOrderResponse;
/**
* @author EDY
* @description 针对表【xfsg_pos_and_order_info(pos/订货系统表)】的数据库操作Service
@@ -8,4 +11,9 @@ package com.cool.store.service;
*/
public interface PosAndOrderInfoService {
Integer submitOrUpdate(PostAndOrderRequest request ,String user);
PosAndOrderResponse get(Long shopId, Integer type);
}

View File

@@ -18,6 +18,7 @@ import com.cool.store.service.BuildInformationService;
import com.cool.store.mapper.BuildInformationMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
@@ -70,6 +71,8 @@ public class BuildInformationServiceImpl implements BuildInformationService{
response.setJuridicalHandheldIdCardFront(informationDO.getJuridicalHandheldIdCardFront());
response.setJuridicalHandheldIdCardReverse(informationDO.getJuridicalHandheldIdCardReverse());
response.setSettlerIdCardNo(informationDO.getSettlerIdCardNo());
response.setSettlerName(informationDO.getSettlerName());
response.setSettlerBankPhotoUrl(informationDO.getSettlerBankPhotoUrl());
response.setSettlerIdCardFront(informationDO.getSettlerIdCardFront());
response.setSettlerIdCardReverse(informationDO.getSettlerIdCardReverse());
response.setSettlerBankNumber(informationDO.getSettlerBankNumber());
@@ -80,28 +83,22 @@ public class BuildInformationServiceImpl implements BuildInformationService{
}
@Override
public Integer submit(BuildInformationRequest request) {
@Transactional(rollbackFor = Exception.class)
public Integer submitOrUpdate(BuildInformationRequest request) {
BuildInformationDO informationDO = buildInformationDAO.selectOneByShopId(request.getShopId());
if (Objects.nonNull(informationDO)) {
throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION);
}
BuildInformationDO buildInformationDO = request.toDO();
buildInformationDO.setCreateTime(new Date());
buildInformationDO.setUpdateTime(new Date());
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_153);
return buildInformationDAO.insertSelective(buildInformationDO);
if (Objects.isNull(informationDO)) {
buildInformationDO.setCreateTime(new Date());
buildInformationDO.setUpdateTime(new Date());
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_153);
return buildInformationDAO.insertSelective(buildInformationDO);
}else {
buildInformationDO.setUpdateTime(new Date());
return buildInformationDAO.updateByShopIdSelective(buildInformationDO);
}
}
@Override
public Integer update(BuildInformationRequest request) {
BuildInformationDO informationDO = buildInformationDAO.selectOneByShopId(request.getShopId());
if (Objects.isNull(informationDO)) {
throw new ServiceException(ErrorCodeEnum.UPDATE_FAIL);
}
BuildInformationDO buildInformationDO = request.toDO();
buildInformationDO.setUpdateTime(new Date());
return buildInformationDAO.updateByShopIdSelective(buildInformationDO);
}
}

View File

@@ -1,10 +1,24 @@
package com.cool.store.service.impl;
import com.cool.store.dao.BuildInformationDAO;
import com.cool.store.entity.BuildInformationDO;
import com.cool.store.entity.LicenseTransactDO;
import com.cool.store.entity.PlatformBuildDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.ApplyLicenseMapper;
import com.cool.store.request.PlatformBuildRequest;
import com.cool.store.service.PlatformBuildService;
import com.cool.store.mapper.PlatformBuildMapper;
import com.cool.store.utils.poi.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import springfox.documentation.swagger2.mappers.LicenseMapper;
import javax.annotation.Resource;
import java.util.Objects;
/**
* @author EDY
@@ -14,6 +28,31 @@ import org.springframework.stereotype.Service;
@Service
public class PlatformBuildServiceImpl implements PlatformBuildService{
@Resource
private ApplyLicenseMapper applyLicenseMapper;
@Autowired
private BuildInformationDAO buildInformationDAO;
@Override
public Boolean isJuridical(Long shopId) {
LicenseTransactDO licenseTransactDO = applyLicenseMapper.selectByShopId(shopId);
if(Objects.isNull(licenseTransactDO) || StringUtils.isBlank(licenseTransactDO.getLicenseLegalPerson())){
throw new ServiceException(ErrorCodeEnum.LICENSE_LEGAL_STAGE_FAIL);
}
BuildInformationDO informationDO = buildInformationDAO.selectOneByShopId(shopId);
if(Objects.isNull(informationDO) || StringUtils.isBlank(informationDO.getSettlerName())){
throw new ServiceException(ErrorCodeEnum.BUILD_INFORMATION_STAGE_FAIL);
}
if (licenseTransactDO.getLicenseLegalPerson().equals(informationDO.getSettlerName())){
return Boolean.TRUE;
}
return Boolean.FALSE;
}
@Override
public Integer submitOrUpdate(PlatformBuildRequest request, String userId) {
return 0;
}
}

View File

@@ -1,18 +1,73 @@
package com.cool.store.service.impl;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.PosAndOrderInfoDAO;
import com.cool.store.dao.ShopStageInfoDAO;
import com.cool.store.entity.PosAndOrderInfoDO;
import com.cool.store.enums.PosAndOrderEnum;
import com.cool.store.enums.point.ShopSubStageStatusEnum;
import com.cool.store.request.PostAndOrderRequest;
import com.cool.store.response.PosAndOrderResponse;
import com.cool.store.service.PosAndOrderInfoService;
import com.cool.store.mapper.PosAndOrderInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.Objects;
/**
* @author EDY
* @description 针对表【xfsg_pos_and_order_info(pos/订货系统表)】的数据库操作Service实现
* @createDate 2024-10-09 14:39:11
*/
* @author EDY
* @description 针对表【xfsg_pos_and_order_info(pos/订货系统表)】的数据库操作Service实现
* @createDate 2024-10-09 14:39:11
*/
@Service
public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService{
public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
@Resource
private PosAndOrderInfoDAO posAndOrderInfoDAO;
@Autowired
private ShopStageInfoDAO shopStageInfoDAO;
@Autowired
private EnterpriseUserDAO enterpriseUserDAO;
@Override
@Transactional(rollbackFor = Exception.class)
public Integer submitOrUpdate(PostAndOrderRequest request, String user) {
PosAndOrderInfoDO posAndOrderInfoDO = posAndOrderInfoDAO.selectOneByShopId(request.getShopId(), request.getType());
PosAndOrderInfoDO posAndOrderInfo = request.toDO();
posAndOrderInfo.setCreateUser(user);
posAndOrderInfo.setCreateTime(new Date());
if (Objects.isNull(posAndOrderInfoDO)) {
if (request.getType().equals(PosAndOrderEnum.POS.getCode())) {
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_163);
}else if (request.getType().equals(PosAndOrderEnum.ORDER.getCode())) {
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_173);
}
return posAndOrderInfoDAO.insertSelective(posAndOrderInfo);
}else{
return posAndOrderInfoDAO.updateByShopIdSelective(posAndOrderInfo);
}
}
@Override
public PosAndOrderResponse get(Long shopId, Integer type) {
PosAndOrderResponse response = new PosAndOrderResponse();
PosAndOrderInfoDO posAndOrderInfoDO = posAndOrderInfoDAO.selectOneByShopId(shopId,type);
if (Objects.nonNull(posAndOrderInfoDO)) {
response.setShopId(posAndOrderInfoDO.getShopId());
response.setAccount(posAndOrderInfoDO.getAccount());
response.setType(posAndOrderInfoDO.getType());
response.setPassword(posAndOrderInfoDO.getPassword());
response.setRemark(posAndOrderInfoDO.getRemark());
response.setCreateTime(posAndOrderInfoDO.getCreateTime());
response.setCreateUser(enterpriseUserDAO.getUserName(posAndOrderInfoDO.getCreateUser()));
}
return response;
}
}

View File

@@ -0,0 +1,42 @@
package com.cool.store.controller.webb;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.enums.PosAndOrderEnum;
import com.cool.store.request.PostAndOrderRequest;
import com.cool.store.response.PosAndOrderResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.PosAndOrderInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* @Author: WangShuo
* @Date: 2024/10/09/下午5:44
* @Version 1.0
* @注释:
*/
@Api("pc订货系统")
@RestController
@RequestMapping("/pc/orderSys")
public class PCOrderSysController {
@Resource
private PosAndOrderInfoService posAndOrderInfoService;
@ApiOperation("提交或修改")
@PostMapping("/submitOrUpdate")
public ResponseResult<Integer> submitOrUpdate(@RequestBody @Validated PostAndOrderRequest request){
request.setType(PosAndOrderEnum.ORDER.getCode());
return ResponseResult.success(posAndOrderInfoService.submitOrUpdate(request, CurrentUserHolder.getUserId()));
}
@ApiOperation("获取")
@GetMapping("/get")
public ResponseResult<PosAndOrderResponse> get(@RequestParam("shopId") Long shopId){
return ResponseResult.success(posAndOrderInfoService.get(shopId,PosAndOrderEnum.ORDER.getCode()));
}
}

View File

@@ -0,0 +1,42 @@
package com.cool.store.controller.webb;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.enums.PosAndOrderEnum;
import com.cool.store.request.PostAndOrderRequest;
import com.cool.store.response.PosAndOrderResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.PosAndOrderInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* @Author: WangShuo
* @Date: 2024/10/09/下午5:44
* @Version 1.0
* @注释:
*/
@Api("pcPos")
@RestController
@RequestMapping("/pc/pos")
public class PCPosController {
@Resource
private PosAndOrderInfoService posAndOrderInfoService;
@ApiOperation("提交或修改")
@PostMapping("/submitOrUpdate")
public ResponseResult<Integer> submitOrUpdate(@RequestBody @Validated PostAndOrderRequest request){
request.setType(PosAndOrderEnum.POS.getCode());
return ResponseResult.success(posAndOrderInfoService.submitOrUpdate(request, CurrentUserHolder.getUserId()));
}
@ApiOperation("获取")
@GetMapping("/get")
public ResponseResult<PosAndOrderResponse> get(@RequestParam("shopId") Long shopId){
return ResponseResult.success(posAndOrderInfoService.get(shopId,PosAndOrderEnum.POS.getCode()));
}
}

View File

@@ -30,16 +30,12 @@ public class MiniBuildInformationController {
return ResponseResult.success(buildInformationService.getBuildInformation(shopId));
}
@ApiOperation("提交")
@PostMapping("/submit")
@ApiOperation("提交/修改")
@PostMapping("/submitOrUpdate")
public ResponseResult<Integer> submitBuildInformation(@RequestBody @Validated BuildInformationRequest request) {
return ResponseResult.success(buildInformationService.submit(request));
}
@ApiOperation("修改")
@PostMapping("/update")
public ResponseResult<Integer> update(@RequestBody @Validated BuildInformationRequest request) {
return ResponseResult.success(buildInformationService.update(request));
return ResponseResult.success(buildInformationService.submitOrUpdate(request));
}
}

View File

@@ -0,0 +1,36 @@
package com.cool.store.controller.webc;
import com.cool.store.enums.PosAndOrderEnum;
import com.cool.store.response.PosAndOrderResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.PosAndOrderInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @Author: WangShuo
* @Date: 2024/10/09/下午5:44
* @Version 1.0
* @注释:
*/
@Api("mini订货系统")
@RestController
@RequestMapping("/mini/OrderSys")
public class miniOrderSysController {
@Resource
private PosAndOrderInfoService posAndOrderInfoService;
@ApiOperation("获取")
@GetMapping("/get")
public ResponseResult<PosAndOrderResponse> get(@RequestParam("shopId") Long shopId){
return ResponseResult.success(posAndOrderInfoService.get(shopId,PosAndOrderEnum.ORDER.getCode()));
}
}

View File

@@ -0,0 +1,36 @@
package com.cool.store.controller.webc;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.enums.PosAndOrderEnum;
import com.cool.store.request.PostAndOrderRequest;
import com.cool.store.response.PosAndOrderResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.PosAndOrderInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* @Author: WangShuo
* @Date: 2024/10/09/下午5:44
* @Version 1.0
* @注释:
*/
@Api("miniPos")
@RestController
@RequestMapping("/mini/pos")
public class miniPosController {
@Resource
private PosAndOrderInfoService posAndOrderInfoService;
@ApiOperation("获取")
@GetMapping("/get")
public ResponseResult<PosAndOrderResponse> get(@RequestParam("shopId") Long shopId){
return ResponseResult.success(posAndOrderInfoService.get(shopId,PosAndOrderEnum.POS.getCode()));
}
}