Merge branch 'cc_20250325_select' into 'master'

Cc 20250325 select

See merge request hangzhou/java/custom_zxjp!57
This commit is contained in:
苏竹红
2025-04-17 12:14:08 +00:00
279 changed files with 11914 additions and 666 deletions

View File

@@ -15,7 +15,8 @@ public enum AuditTypeEnum {
MEI_TUAN_TUAN_GOU(11,"美团团购"),
E_LE_ME(12,"饿了么"),
MEI_TUAN_WAI_MAI(13,"美团外卖"),
YING_ZHANG_TONG(14,"营帐通");
YING_ZHANG_TONG(14,"营帐通"),
BUILDINFORMATION(15,"建店资料信息")
;
private Integer code;

View File

@@ -0,0 +1,37 @@
package com.cool.store.enums;
/**
* @Author: WangShuo
* @Date: 2025/04/07/18:23
* @Version 1.0
* @注释:
*/
public enum BusinessModelEnum {
NULL(0, ""),
DIRECT_SALES(1, "直营"),
JOIN_SALES(2, "加盟");
private Integer code;
private String desc;
BusinessModelEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.enums;
/**
* @Author: WangShuo
* @Date: 2025/04/07/17:03
* @Version 1.0
* @注释:
*/
public enum DownSystemTypeEnum {
XGJ(1,"新管家"),
POS(2,"POS");
private Integer code;
private String desc;
DownSystemTypeEnum(Integer code,String desc){
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public static DownSystemTypeEnum getByCode(Integer code){
for (DownSystemTypeEnum value : DownSystemTypeEnum.values()) {
if(value.getCode().equals(code)){
return value;
}
}
return null;
}
}

View File

@@ -87,6 +87,7 @@ public enum ErrorCodeEnum {
LINE_PAY_IS_NOT_EXIST(500019, "意向金信息不存在!", null),
INTENT_PASS(500020, "审核已通过,请刷新页面!", null),
APPOINTMENT_TIME_FAIL(500020, "预约失败,请刷新后再试", null),
LINE_REGION_NOT_EXIST(500021, "请先补充加盟商所属大区/分公司", null),
POINT_NOT_COMPLETE(600000, "铺位信息未填写完全,请完善后生成评估报告", null),
POINT_NOT_EXIST(600001, "铺位信息不存在", null),
@@ -234,7 +235,24 @@ public enum ErrorCodeEnum {
LICENSE_LEGAL_STAGE_FAIL(131001,"营业执照阶段未上传!",null),
GET_JURIDICAL_ID_CARD_NO_FAIL(131002,"获取法人身份证信息失败!",null),
UPDATE_INVESTMENT_MANAGER_FAIL(131005,"当前用户已经为该门店招商经理",null),
CONFIRM_THE_APPROVER(131006,"您提交的铺位暂时找不到选址审批人,请联系系统管理员配置选址审批权限后再提交铺位审批",null)
CONFIRM_THE_APPROVER(131006,"您提交的铺位暂时找不到选址审批人,请联系系统管理员配置选址审批权限后再提交铺位审批",null),
CREATE_PASSWORD_FAIL(131007,"身份证号信息错误",null),
GET_HOME_TEMPLATE_ERROR(131008,"获取首页模板失败",null),
THE_DATA_IS_NOT_FILLED(131009,"您有数据还未填写",null),
QUOTATION_URL_REQUIRED(131010,"请等待报价单提交",null),
DESIGN_URL_REQUIRED(131011,"请等待设计图提交",null),
LEGAL_PERSON_NAME_NOT_SAME(131012,"法人姓名与加盟商姓名不一致",null),
TALLY_BOOK_NOT_EXIST(180001, "记账本数据不存在", null),
THIRD_API_ERROR(151001,"第三方服务异常->{0}",null),
THIRD_API_SIGN_ERROR(151002,"签名失败->{0}",null),
THIRD_API_TIME_IS_NULL(151003,"单据⽇期不能为空",null),
SYSTEM_DATA_ERROR(151004,"平台账号不能为空",null),
CURRENT_STATUS_NOT_OPERATION(151005,"平台账号当前非审核状态!不能提交审核",null),
CURRENT_ENTRY_STATUS_NOT_OPERATION(151006,"进件状态未审核!不能执行该操作",null),
GET_YLS_CODE_FAIL(151006,"系统无云流水编码无法获取TOKEN请先维护该编码",null),
;

View File

@@ -36,15 +36,12 @@ public enum FranchiseBrandEnum {
if (StringUtils.isBlank(code)){
return null;
}
List<Integer> integerList = Arrays.stream(code.split(","))
.map(Integer::parseInt)
.collect(Collectors.toList());
StringBuffer stringBuffer = new StringBuffer();
int i = Integer.parseInt(code);
for (FranchiseBrandEnum e : FranchiseBrandEnum.values()) {
if (integerList.contains(e.getCode())) {
stringBuffer.append(e.getDesc()).append(",");
if (i == e.getCode()) {
return e.getDesc();
}
}
return stringBuffer.toString();
return null;
}
}

View File

@@ -7,9 +7,10 @@ package com.cool.store.enums;
* @注释:
*/
public enum JoinModeEnum {
FRANCHISE_DEPARTMENT(1,"社会加盟模式/加盟部加盟店"),
FRANCHISE_COMPANIES(2,"强加盟模式/加盟公司加盟店"),
OWN_STORE(3,"加盟公司自有店");
FRANCHISE_DEPARTMENT(1,"加盟部加盟店"),
FRANCHISE_COMPANIES(2,"加盟公司加盟店"),
OWN_STORE(3,"加盟公司自有店"),
STRONG_FRANCHISE(4,"强加盟");
private int code;
private String desc;
private JoinModeEnum(int code, String desc) {

View File

@@ -77,6 +77,9 @@ public enum MessageEnum {
MESSAGE_49("您有一个门店美团外卖初审已通过,请查收","门店名称:${storeName}\n加盟商姓名${partnerUsername}\n加盟商手机号码${partnerMobile}\n"),
MESSAGE_50("您有一个门店开业运营方案审核未通过,请查收","门店名称:${storeName}\n加盟商姓名${partnerUsername}\n加盟商手机号码${partnerMobile}\n"),
MESSAGE_51("您有一个加盟商提交了铺位,请查收","铺位名称:${pointName}\n加盟商姓名${partnerUsername}\n加盟商手机号码${partnerMobile}\n"),
MESSAGE_52("您有一个门店建店资料的订货信息待提交,请查收","门店名称:${storeName}\n加盟商姓名${partnerUsername}\n加盟商手机号码${partnerMobile}\n"),
MESSAGE_53("您有一个门店建店资料的总部订货收款账户信息待提交,请查收","门店名称:${storeName}\n加盟商姓名${partnerUsername}\n加盟商手机号码${partnerMobile}\n"),
MESSAGE_54("您有一个门店建店资料待审核,请查收","门店名称:${storeName}\n加盟商姓名${partnerUsername}\n加盟商手机号码${partnerMobile}\n"),
;

View File

@@ -0,0 +1,38 @@
package com.cool.store.enums;
/**
* @Author: WangShuo
* @Date: 2025/04/02/16:44
* @Version 1.0
* @注释:
*/
public enum OpTypeEnum {
//操作类型: 1(新增), 2(更新), 3(删除)
INSERT(1, "新增"),
UPDATE(2, "更新"),
DELETE(3, "删除");
private Integer code;
private String name;
OpTypeEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@@ -0,0 +1,54 @@
package com.cool.store.enums;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2025/4/7 15:01
* @Version 1.0
*/
public enum OpenStatusEnum {
OPENSTATUSENUM_1(1,"开通资料收集中"),
OPENSTATUSENUM_2(2,"资料审核中"),
OPENSTATUSENUM_3(3,"资料审核失败"),
OPENSTATUSENUM_4(4,"开通中"),
OPENSTATUSENUM_5(5,"开通成功"),
OPENSTATUSENUM_6(6,"开通失败"),
;
private Integer code;
private String name;
public static List<Integer> getSpecialList(){
return Arrays.asList(OPENSTATUSENUM_4.getCode(),OPENSTATUSENUM_5.getCode(),OPENSTATUSENUM_6.getCode());
}
OpenStatusEnum(Integer code,String name){
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.enums;
/**
* @Author: WangShuo
* @Date: 2025/04/06/17:08
* @Version 1.0
* @注释:
*/
public enum OrderSysTypeEnum {
ORDER_SYS_TYPE_1(1,"订货信息"),
ORDER_SYS_TYPE_2(2,"总部订货收款账户");
private Integer type;
private String name;
OrderSysTypeEnum(Integer type, String name) {
this.type = type;
this.name = name;
}
public Integer getType() {
return type;
}
public String getName() {
return name;
}
}

View File

@@ -7,8 +7,8 @@ package com.cool.store.enums;
* @注释:
*/
public enum PlatformBuildEnum {
DOU_YIN(1,"抖音"),
KUAI_SHOU(2,"快手"),
DOU_YIN(1,"抖音团购"),
KUAI_SHOU(2,"快手团购"),
MEI_TUAN_TUAN_GOU(3,"美团团购"),
E_LE_ME(4,"饿了么"),
MEI_TUAN_WAI_MAI(5,"美团外卖"),
@@ -26,5 +26,13 @@ public enum PlatformBuildEnum {
return message;
}
public static String getMessageByCode(Integer code) {
for (PlatformBuildEnum value : PlatformBuildEnum.values()) {
if (value.getCode().equals(code)) {
return value.getMessage();
}
}
return null; // 或者抛出异常
}
}

View File

@@ -0,0 +1,29 @@
package com.cool.store.enums;
/**
* @Author: WangShuo
* @Date: 2025/03/31/10:58
* @Version 1.0
* @注释:
*/
public enum PointListType {
RECOMMENDED(1, "推荐铺位"),
MY_POINT_LIST(2, "我创建的"),
;
private Integer code;
private String desc;
PointListType(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
}

View File

@@ -0,0 +1,58 @@
package com.cool.store.enums;
import java.util.Arrays;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2025/4/7 14:57
* @Version 1.0
*/
public enum ShopAccountEnum {
HUOMA("火码POS",OpenStatusEnum.OPENSTATUSENUM_1),
YLS("云流水",OpenStatusEnum.OPENSTATUSENUM_1),
XZG("新掌柜",OpenStatusEnum.OPENSTATUSENUM_1),
MTTG("美团团购",OpenStatusEnum.OPENSTATUSENUM_1),
DY("抖音团购",OpenStatusEnum.OPENSTATUSENUM_1),
KS("快手团购",OpenStatusEnum.OPENSTATUSENUM_1),
MT("美团外卖",OpenStatusEnum.OPENSTATUSENUM_1),
ELM("饿了么外卖",OpenStatusEnum.OPENSTATUSENUM_1),
;
public static List<String> getSpecialList(){
return Arrays.asList(HUOMA.getSystemName(),XZG.getSystemName());
}
public static List<ShopAccountEnum> getSpecialEnumList(){
return Arrays.asList(HUOMA,YLS,XZG);
}
private String systemName;
private OpenStatusEnum initStatus;
ShopAccountEnum(String systemName,OpenStatusEnum initStatus){
this.systemName = systemName;
this.initStatus = initStatus;
}
public String getSystemName() {
return systemName;
}
public void setSystemName(String systemName) {
this.systemName = systemName;
}
public OpenStatusEnum getInitStatus() {
return initStatus;
}
public void setInitStatus(OpenStatusEnum initStatus) {
this.initStatus = initStatus;
}
}

View File

@@ -0,0 +1,34 @@
package com.cool.store.enums;
/**
* @Author: WangShuo
* @Date: 2025/03/28/14:11
* @Version 1.0
* @注释:
*/
public enum TallyBookStatusEnum {
NOT_SUBMIT(0, "未提交"),
IS_SUBMIT(1, "已提交");
private Integer code;
private String desc;
TallyBookStatusEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {}
}

View File

@@ -48,8 +48,11 @@ public enum UserRoleEnum {
REGION_OFFICE(410000000L,"大区内勤"),
FINANCE(1735895867344L,"财务"),
CHUAN_XIAO_MEI_MANAGER(1731635078802L,"串小妹大区执行总经理"),
REGIONAL_MANAGER(420000000L,"大区经理"),
REGIONAL_MANAGER(1716252923436L,"大区经理"),
LOGISTICS(430000000L,"物流"),
HEAD_OF_DIVISION(40000000L,"分部负责人"),
PRESIDENT(1715882476902L,"总裁"),
VICE_PRESIDENT_IN_CHARGE(1715331371325L,"分管副总裁")
;
private Long code;

View File

@@ -0,0 +1,25 @@
package com.cool.store.enums;
/**
* @Author: WangShuo
* @Date: 2025/04/08/15:14
* @Version 1.0
* @注释:
*/
public enum ZxjpEnum {
XGJ_VICE_PRESIDENT("xgjVicePresident","新管家副总裁"),
DECLARE_GOODS_DATE("declareGoodsDate","报货日期");
private String code;
private String desc;
ZxjpEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public String getCode() {
return code;
}
public String getDesc() {
return desc;
}
}

View File

@@ -77,7 +77,12 @@ public enum ShopSubStageStatusEnum {
//平台资料提交
SHOP_SUB_STAGE_STATUS_150(ShopSubStageEnum.SHOP_STAGE_15, 1500, "待提交", Boolean.FALSE),
SHOP_SUB_STAGE_STATUS_153(ShopSubStageEnum.SHOP_STAGE_15, 1530, "已完成", Boolean.TRUE),
SHOP_SUB_STAGE_STATUS_151(ShopSubStageEnum.SHOP_STAGE_15, 1510, "待总部填写仓配信息", Boolean.TRUE),
SHOP_SUB_STAGE_STATUS_152(ShopSubStageEnum.SHOP_STAGE_15, 1520, "待总部提交订货收款信息",Boolean.TRUE),
SHOP_SUB_STAGE_STATUS_153(ShopSubStageEnum.SHOP_STAGE_15, 1530, "待分部总监审批",Boolean.TRUE),
SHOP_SUB_STAGE_STATUS_154(ShopSubStageEnum.SHOP_STAGE_15, 1540, "待分管副总裁审批",Boolean.TRUE),
SHOP_SUB_STAGE_STATUS_155(ShopSubStageEnum.SHOP_STAGE_15, 1550, "待总裁审批",Boolean.TRUE),
SHOP_SUB_STAGE_STATUS_156(ShopSubStageEnum.SHOP_STAGE_15, 1560, "已完成", Boolean.TRUE),
//POS
SHOP_SUB_STAGE_STATUS_160(ShopSubStageEnum.SHOP_STAGE_16, 1600, "待提交", Boolean.FALSE),
@@ -176,4 +181,13 @@ public enum ShopSubStageStatusEnum {
public boolean isTerminated() {
return isTerminated;
}
public static ShopSubStageStatusEnum getShopSubStageStatusEnum(Integer shopSubStageStatus) {
for (ShopSubStageStatusEnum stageStatusEnum : ShopSubStageStatusEnum.values()) {
if (Objects.nonNull(stageStatusEnum.getShopSubStageStatus()) && stageStatusEnum.getShopSubStageStatus().equals(shopSubStageStatus)) {
return stageStatusEnum;
}
}
return null;
}
}

View File

@@ -81,10 +81,9 @@ public class ServiceException extends RuntimeException{
}
public ServiceException(ErrorCodeEnum responseEnum, Object... objects) {
super(responseEnum.getMessage());
String message = MessageFormat.format(responseEnum.getMessage(), objects);
super(MessageFormat.format(responseEnum.getMessage(), objects));
this.errorCode = responseEnum.getCode();
this.errorMessage = message;
this.errorMessage = super.getMessage();
}

View File

@@ -9,6 +9,8 @@ import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.Calendar;
import java.util.Date;
@@ -32,6 +34,13 @@ public class CoolDateUtils {
public static final String DATE_FORMAT_SEC_5 = "yyyy.MM.dd HH:mm";
public static final String DATE_FORMAT_SEC_6 = "yyyy.MM.dd";
public static final String DATE_FORMAT_SEC_7 = "yyyy/MM/dd HH:mm";
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
private static final DateTimeFormatter getDateFormatter(String format){
return DateTimeFormatter.ofPattern(format);
}
/**
* 几天后的当前
* @param d
@@ -128,4 +137,26 @@ public class CoolDateUtils {
}
/**
* 获取当前日期字符串 (yyyy-MM-dd)
*/
public static String getCurrentDate() {
return LocalDate.now().format(getDateFormatter(DATE_FORMAT_DAY));
}
/**
* 获取上月同一天的日期字符串 (yyyy-MM-dd)
* 如果上个月没有同一天(如当前是3月31日但2月没有31日),则返回上个月的最后一天
*/
public static String getSameDayLastMonth() {
LocalDate today = LocalDate.now();
LocalDate lastMonthSameDay = today.minusMonths(1);
// 处理跨月情况如3月31日2月没有31日
if (lastMonthSameDay.getDayOfMonth() != today.getDayOfMonth()) {
lastMonthSameDay = lastMonthSameDay.with(TemporalAdjusters.lastDayOfMonth());
}
return lastMonthSameDay.format(getDateFormatter(DATE_FORMAT_DAY));
}
}

View File

@@ -0,0 +1,44 @@
package com.cool.store.utils;
import java.util.BitSet;
/**
* @Author suzhuhong
* @Date 2025/4/1 20:39
* @Version 1.0
*/
public class GeoHashUtils {
private static final String BASE32 = "0123456789bcdefghjkmnpqrstuvwxyz";
private static final int[] BITS = {16, 8, 4, 2, 1};
public static String encode(double lat, double lon, int precision) {
BitSet latBits = getBits(lat, -90, 90);
BitSet lonBits = getBits(lon, -180, 180);
StringBuilder hash = new StringBuilder();
for (int i = 0; i < precision; i++) {
int index = 0;
for (int j = 0; j < 5; j++) {
boolean lonBit = lonBits.get(i * 5 + j);
boolean latBit = latBits.get(i * 5 + j);
index = (index << 1) | (lonBit ? 1 : 0);
index = (index << 1) | (latBit ? 1 : 0);
}
hash.append(BASE32.charAt(index));
}
return hash.toString();
}
private static BitSet getBits(double val, double min, double max) {
BitSet bits = new BitSet();
for (int i = 0; i < 30; i++) {
double mid = (min + max) / 2;
if (val >= mid) {
bits.set(i);
min = mid;
} else {
max = mid;
}
}
return bits;
}
}

View File

@@ -0,0 +1,79 @@
package com.cool.store.utils;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.time.ZonedDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Base64;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
/**
* @Author suzhuhong
* @Date 2025/4/2 9:36
* @Version 1.0
*/
public class HmacSigner {
private static final String HMAC_ALGORITHM = "HmacSHA256";
private static final DateTimeFormatter GMT_FORMATTER =
DateTimeFormatter.ofPattern("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH)
.withZone(ZoneId.of("GMT"));
/**
* 生成与Postman完全一致的签名头
*/
public static Map<String, String> generateHeaders(
String username,
String secret,
String requestBody) throws Exception {
// 1. 生成RFC 1123格式时间戳
String curDate = ZonedDateTime.now(ZoneId.of("GMT"))
.format(GMT_FORMATTER);
// 2. 计算请求体摘要
String computedDigest = computeDigest(requestBody);
// 3. 构建签名字符串
String signingString = "x-date: " + curDate + "\n" + "digest: " + computedDigest;
// 4. 计算HMAC签名
String signature = hmacSha256(secret, signingString);
// 5. 组装Authorization头
String authorization = String.format(
"hmac username=\"%s\", algorithm=\"hmac-sha256\", headers=\"x-date digest\", signature=\"%s\"",
username,
signature
);
// 6. 返回头信息Map
Map<String, String> headers = new HashMap<>();
headers.put("x-Date", curDate);
headers.put("Digest", computedDigest);
headers.put("Authorization", authorization);
return headers;
}
private static String computeDigest(String data) throws Exception {
MessageDigest md = MessageDigest.getInstance("SHA-256");
byte[] hash = md.digest(data.getBytes(StandardCharsets.UTF_8));
return "SHA-256=" + Base64.getEncoder().encodeToString(hash);
}
private static String hmacSha256(String secret, String data) throws Exception {
if (StringUtil.isEmpty(secret)){
return "";
}
Mac mac = Mac.getInstance(HMAC_ALGORITHM);
mac.init(new SecretKeySpec(secret.getBytes(StandardCharsets.UTF_8), HMAC_ALGORITHM));
byte[] hash = mac.doFinal(data.getBytes(StandardCharsets.UTF_8));
return Base64.getEncoder().encodeToString(hash);
}
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.utils;
/**
* @Author: WangShuo
* @Date: 2025/04/08/09:52
* @Version 1.0
* @注释:
*/
public enum HomeTemplateTypeEnum {
MINI_OPEN_SOURCE_HOME(1,"Mini开源首页");
private Integer code;
private String desc;
HomeTemplateTypeEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
}

View File

@@ -0,0 +1,24 @@
package com.cool.store.utils;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.util.Map;
/**
* @Author suzhuhong
* @Date 2025/3/26 19:39
* @Version 1.0
*/
public class JsonUtils {
private static final Gson gson = new Gson();
public static String toJson(Object obj) {
return gson.toJson(obj);
}
public static Map<String, Object> parseJsonToMap(String json) {
return gson.fromJson(json, new TypeToken<Map<String, Object>>() {}.getType());
}
}

View File

@@ -0,0 +1,76 @@
package com.cool.store.utils;
import lombok.extern.slf4j.Slf4j;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author su'zh
*/
@Slf4j
public class OpenSignatureUtil {
private static final String HMAC_SHA256 = "HmacSHA256";
public static String generateSign(Map<String, String> params, String appSecret) {
// 1. 分离固定参数和业务参数
String appKey = params.get("appKey");
String timestamp = params.get("timestamp");
// 2. 创建不包含固定参数的临时Map用于排序
Map<String, String> sortedParams = new TreeMap<>(
params.entrySet().stream()
.filter(e -> !"appKey".equals(e.getKey()))
.filter(e -> !"timestamp".equals(e.getKey()))
.filter(e -> !"sign".equals(e.getKey()))
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue
))
);
// 3. 构建参数字符串:业务参数(排序后) + 固定参数
StringBuilder sb = new StringBuilder();
// 3.1 添加排序后的业务参数
sortedParams.forEach((key, value) -> {
sb.append(key).append("=").append(value).append("&");
});
// 3.2 添加固定参数(不参与排序)
sb.append("appkey=").append(appKey)
.append("&timestamp=").append(timestamp);
// 4. 生成签名
return hmacSha256(sb.toString(), appSecret);
}
private static String hmacSha256(String data, String key) {
try {
Mac sha256_HMAC = Mac.getInstance(HMAC_SHA256);
SecretKeySpec secret_key = new SecretKeySpec(
key.getBytes(StandardCharsets.UTF_8),
HMAC_SHA256
);
sha256_HMAC.init(secret_key);
byte[] hash = sha256_HMAC.doFinal(data.getBytes(StandardCharsets.UTF_8));
return bytesToHex(hash);
} catch (NoSuchAlgorithmException | InvalidKeyException e) {
throw new RuntimeException("生成签名失败", e);
}
}
private static String bytesToHex(byte[] bytes) {
StringBuilder result = new StringBuilder();
for (byte b : bytes) {
result.append(String.format("%02x", b));
}
return result.toString();
}
}

View File

@@ -0,0 +1,67 @@
package com.cool.store.utils;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
/**
* @Author: WangShuo
* @Date: 2025/04/06/15:03
* @Version 1.0
* @注释:
*/
public class PasswordUtil {
/**
* 生成随机盐值
*
* @return 随机生成的盐值(字节数组)
*/
public static byte[] generateSalt() {
SecureRandom secureRandom = new SecureRandom();
// 16 字节的盐值
byte[] salt = new byte[3];
secureRandom.nextBytes(salt);
return salt;
}
/**
* 将字节数组转换为十六进制字符串
*
* @param bytes 字节数组
* @return 十六进制字符串
*/
public static String bytesToHex(byte[] bytes) {
StringBuilder hexString = new StringBuilder();
for (byte b : bytes) {
String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}
return hexString.toString();
}
/**
* 使用 MD5 加密密码
*
* @param plainPassword 明文密码
* @param salt 盐值
* @return 加密后的密码(十六进制字符串)
*/
public static String encryptPassword(String plainPassword, String salt) {
try {
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
String combined = plainPassword + salt;
byte[] hashedBytes = messageDigest.digest(combined.getBytes());
// 将字节数组转换为十六进制字符串
return bytesToHex(hashedBytes);
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("Error encrypting password", e);
}
}
}

View File

@@ -0,0 +1,73 @@
package com.cool.store.utils;
import lombok.extern.slf4j.Slf4j;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.*;
/**
* @Author suzhuhong
* @Date 2025/3/26 19:32
* @Version 1.0
*/
@Slf4j
public class SignatureUtils {
/**
* 生成 HmacSHA256 签名
* @param data 待签名字符串
* @param secret 密钥
* @return 签名Hex小写
*/
public static String hmacSha256(String data, String secret) {
try {
Mac mac = Mac.getInstance("HmacSHA256");
SecretKeySpec secretKey = new SecretKeySpec(secret.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
mac.init(secretKey);
byte[] hash = mac.doFinal(data.getBytes(StandardCharsets.UTF_8));
return bytesToHex(hash).toLowerCase();
} catch (NoSuchAlgorithmException | InvalidKeyException e) {
throw new RuntimeException("HmacSHA256签名失败", e);
}
}
/**
* 生成待签名字符串(参数按字母排序 + appkey + timestamp
* @param params 请求参数Map需提前过滤空值
* @param appKey 应用Key
* @param timestamp 时间戳(毫秒)
*/
public static String buildSignString(Map<String, Object> params, String appKey, long timestamp) {
TreeMap<String, Object> sortedParams = new TreeMap<>(params);
StringBuilder sb = new StringBuilder();
// 拼接排序后的参数
sortedParams.forEach((key, value) ->{
if (Objects.isNull(value)||(value instanceof Double &&((Double) value).intValue()==0)){
log.info("0或者空值不参与签名");
}else {
if (value instanceof Double){
sb.append(key).append("=").append(((Double) value).intValue()).append("&");
}else {
sb.append(key).append("=").append(value).append("&");
}
}
});
sb.append("appkey=").append(appKey).append("&timestamp=").append(timestamp);
return sb.toString();
}
private static String bytesToHex(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
}

View File

@@ -1,9 +1,11 @@
package com.cool.store.dao;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dto.UserDTO;
import com.cool.store.dto.openPreparation.UserNameDTO;
import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.mapper.EnterpriseUserMapper;
import com.cool.store.response.oppty.UserResponse;
import com.cool.store.utils.StringUtil;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
@@ -153,4 +155,7 @@ public class EnterpriseUserDAO {
}
return enterpriseUserMapper.getUserListByRegionId(regionId);
}
public List<UserDTO> getAllUser(String eid, String keyword){
return enterpriseUserMapper.getAllUser(eid,keyword);
}
}

View File

@@ -0,0 +1,27 @@
package com.cool.store.dao;
import com.cool.store.entity.EnumInfoDO;
import com.cool.store.mapper.EnumInfoDOMapper;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author: WangShuo
* @Date: 2025/04/08/15:22
* @Version 1.0
* @注释:
*/
@Repository
public class EnumInfoDAO {
@Resource
private EnumInfoDOMapper enumInfoDOMapper;
public List<EnumInfoDO> getByTypeCode(String typeCode) {
Example example = new Example(EnumInfoDO.class);
example.createCriteria().andEqualTo("typeCode", typeCode).andEqualTo("deleted", 0);
return enumInfoDOMapper.selectByExample(example);
}
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.dao;
import com.cool.store.entity.HomeTemplateDO;
import com.cool.store.mapper.HomeTemplateMapper;
import io.swagger.models.auth.In;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
/**
* @Author: WangShuo
* @Date: 2025/04/08/09:39
* @Version 1.0
* @注释:
*/
@Repository
public class HomeTemplateDAO {
@Resource
private HomeTemplateMapper homeTemplateMapper;
public HomeTemplateDO getHomeTemplateById(Long id) {
return homeTemplateMapper.selectByPrimaryKey(id);
}
public Long insertSelective(HomeTemplateDO homeTemplateDO) {
homeTemplateMapper.insertSelective(homeTemplateDO);
return homeTemplateDO.getId();
}
public Integer updateByPrimaryKeySelective(HomeTemplateDO homeTemplateDO) {
return homeTemplateMapper.updateByPrimaryKeySelective(homeTemplateDO);
}
}

View File

@@ -0,0 +1,38 @@
package com.cool.store.dao;
import com.cool.store.entity.HomeTemplateUserMappingDO;
import com.cool.store.mapper.HomeTemplateUserMappingMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
/**
* @Author: WangShuo
* @Date: 2025/04/08/10:25
* @Version 1.0
* @注释:
*/
@Repository
public class HomeTemplateUserMappingDAO {
@Resource
private HomeTemplateUserMappingMapper homeTemplateUserMappingMapper;
public int insertSelective(HomeTemplateUserMappingDO homeTemplateRoleMappingDO) {
return homeTemplateUserMappingMapper.insertSelective(homeTemplateRoleMappingDO);
}
public HomeTemplateUserMappingDO getHomeTemplateRoleMappingByUserId(String userId) {
if (StringUtils.isBlank(userId)){
return null;
}
Example example = new Example(HomeTemplateUserMappingDO.class);
example.createCriteria().andEqualTo("userId", userId);
return homeTemplateUserMappingMapper.selectOneByExample(example);
}
public int updateByPrimaryKeySelective(HomeTemplateUserMappingDO homeTemplateRoleMappingDO) {
return homeTemplateUserMappingMapper.updateByPrimaryKeySelective(homeTemplateRoleMappingDO);
}
}

View File

@@ -82,6 +82,14 @@ public class HyPartnerUserInfoDAO {
return hyPartnerUserInfoMapper.updateByPartnerId(record);
}
public int updatePasswordByPartnerId(HyPartnerUserInfoDO record){
if(StringUtils.isBlank(record.getPartnerId())){
return 0;
}
return hyPartnerUserInfoMapper.updatePasswordByPartnerId(record);
}
public String selectLastCrmCreateTime() {
return hyPartnerUserInfoMapper.selectLastCrmCreateTime();

View File

@@ -0,0 +1,43 @@
package com.cool.store.dao;
import com.cool.store.entity.OldShopDO;
import com.cool.store.mapper.OldShopMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author: WangShuo
* @Date: 2025/04/12/18:36
* @Version 1.0
* @注释:
*/
@Repository
public class OldShopDAO {
@Resource
private OldShopMapper oldShopMapper;
public List<OldShopDO> getByMobile(String mobile) {
if (StringUtils.isBlank(mobile)){
return null;
}
Example example = new Example(OldShopDO.class);
example.createCriteria().andEqualTo("mobile", mobile);
return oldShopMapper.selectByExample(example);
}
public OldShopDO getByCode(String code) {
if (StringUtils.isBlank(code)){
return null;
}
Example example = new Example(OldShopDO.class);
example.createCriteria().andEqualTo("shopCode", code);
example.setOrderByClause("id ASC LIMIT 1");
List<OldShopDO> list = oldShopMapper.selectByExample(example);
return list.isEmpty() ? null : list.get(0);
}
}

View File

@@ -0,0 +1,37 @@
package com.cool.store.dao;
import com.cool.store.entity.OrderSysInfoDO;
import com.cool.store.mapper.OrderSysInfoMapper;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
/**
* @Author: WangShuo
* @Date: 2025/04/06/16:03
* @Version 1.0
* @注释:
*/
@Repository
public class OrderSysInfoDAO {
@Resource
private OrderSysInfoMapper orderSysInfoMapper;
public Integer insertSelective(OrderSysInfoDO orderSysInfoDO) {
return orderSysInfoMapper.insertSelective(orderSysInfoDO);
}
public OrderSysInfoDO selectByShopId(Long shopId) {
Example example = new Example(OrderSysInfoDO.class);
example.createCriteria().andEqualTo("shopId",shopId);
return orderSysInfoMapper.selectOneByExample(example);
}
public Integer updateByShopId(OrderSysInfoDO orderSysInfoDO) {
Example example = new Example(OrderSysInfoDO.class);
example.createCriteria().andEqualTo("shopId",orderSysInfoDO.getShopId());
return orderSysInfoMapper.updateByExampleSelective(orderSysInfoDO,example);
}
}

View File

@@ -3,8 +3,10 @@ package com.cool.store.dao;
import com.cool.store.entity.PointDetailInfoDO;
import com.cool.store.mapper.PointDetailInfoMapper;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
/**
@@ -58,5 +60,11 @@ public class PointDetailInfoDAO {
return pointDetailInfoMapper.getShopPointDetailInfoByPointId(pointId);
}
public List<PointDetailInfoDO> getByPointIdList(List<Long> pointIdList) {
Example example = new Example(PointDetailInfoDO.class);
example.createCriteria().andIn("point_id", pointIdList);
return pointDetailInfoMapper.selectByExample(example);
}
}

View File

@@ -2,13 +2,14 @@ package com.cool.store.dao;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dto.MiniShopDTO;
import com.cool.store.dto.PCPointListDTO;
import com.cool.store.dto.point.LineCountDTO;
import com.cool.store.entity.PointInfoDO;
import com.cool.store.mapper.PointInfoMapper;
import com.cool.store.request.AllPointPageRequest;
import com.cool.store.request.PointPageRequest;
import com.cool.store.request.RecommendPointPageRequest;
import com.cool.store.request.*;
import com.cool.store.utils.StringUtil;
import com.cool.store.vo.point.MiniPointPageVO;
import com.cool.store.vo.point.PointHomePageDataVO;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
@@ -16,8 +17,10 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -74,9 +77,9 @@ public class PointInfoDAO {
* @param request
* @return
*/
public Page<PointInfoDO> getMyPointPage(PointPageRequest request) {
public Page<PCPointListDTO> getMyPointPage(String eid,PointPageRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
return pointInfoMapper.getMyPointPage(request);
return pointInfoMapper.getMyPointPage(eid,request);
}
public Map<Long, Integer> getSelectedShopNumMap(List<Long> lineIds) {
@@ -94,11 +97,16 @@ public class PointInfoDAO {
return pointInfoMapper.getPointListByIds(pointIds);
}
public Page<PointInfoDO> getRecommendPointList(RecommendPointPageRequest request) {
public Page<PCPointListDTO> getRecommendPointList(RecommendPointPageRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
return pointInfoMapper.getRecommendPointList(request);
}
public List<MiniPointPageVO> getRecommendOrMyList(MiniPointRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
return pointInfoMapper.getRecommendOrMyList(request);
}
public Integer updateSelectedDevelopmentManager(Long shopId, String developmentManager) {
if(Objects.isNull(shopId) || StringUtils.isBlank(developmentManager)){
return null;
@@ -106,9 +114,9 @@ public class PointInfoDAO {
return pointInfoMapper.updateSelectedDevelopmentManager(shopId, developmentManager);
}
public Page<PointInfoDO> getTeamPointPage(AllPointPageRequest request) {
public Page<PCPointListDTO> getTeamPointPage(String eid,AllPointPageRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
return pointInfoMapper.getTeamPointPage(request);
return pointInfoMapper.getTeamPointPage(eid,request);
}
public Integer recyclePoint(Long pointId) {
@@ -117,4 +125,27 @@ public class PointInfoDAO {
}
return pointInfoMapper.recyclePoint(pointId);
}
public List<MiniPointPageVO> getMiniPointPage(String eid,MiniPointRequest request ) {
List<MiniPointPageVO> pointInfoDOPage = pointInfoMapper.MiniPointPageVO(eid,request);
if(CollectionUtils.isEmpty(pointInfoDOPage)){
return Lists.newArrayList();
}
return pointInfoDOPage ;
}
public List<MiniPointPageVO> getPointByOpportunityPointCode(String code){
if (StringUtils.isBlank(code)){
return new ArrayList<>();
}
return pointInfoMapper.getPointByOpportunityPointCode(code);
}
public List<MiniShopDTO> getShopByOpportunityPointCode(String eid,String code){
if (StringUtils.isBlank(code)){
return new ArrayList<>();
}
return pointInfoMapper.getShopByOpportunityPointCode(eid,code);
}
}

View File

@@ -1,5 +1,6 @@
package com.cool.store.dao;
import com.cool.store.dto.PCPointListDTO;
import com.cool.store.entity.PointAuditRecordDO;
import com.cool.store.entity.PointInfoDO;
import com.cool.store.entity.PointTodoInfoDO;
@@ -53,7 +54,7 @@ public class PointTodoInfoDAO {
return pointTodoInfoMapper.getPointToDoByUserIdAndPointId(userId, pointId);
}
public Page<PointInfoDO> getUserTodoList(PointTodoPageRequest request) {
public Page<PCPointListDTO> getUserTodoList(PointTodoPageRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
return pointTodoInfoMapper.getUserTodoList(request);
}

View File

@@ -5,8 +5,10 @@ import com.cool.store.entity.QualificationsInfoDO;
import com.cool.store.mapper.QualificationsInfoMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author suzhuhong
@@ -42,4 +44,12 @@ public class QualificationsInfoDAO {
}
return qualificationsInfoMapper.getByLineId(lineId);
}
public List<QualificationsInfoDO> getByLineIds(@Param("lineIds") List<Long> lineIds){
if (lineIds==null||lineIds.size()==0){
return new java.util.ArrayList<>();
}
Example example = new Example(QualificationsInfoDO.class);
example.createCriteria().andIn("lineId", lineIds);
return qualificationsInfoMapper.selectByExample(example);
}
}

View File

@@ -0,0 +1,138 @@
package com.cool.store.dao;
import com.cool.store.constants.CommonConstants;
import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.entity.ShopAccountDO;
import com.cool.store.enums.OpenStatusEnum;
import com.cool.store.enums.PlatformBuildEnum;
import com.cool.store.enums.ShopAccountEnum;
import com.cool.store.mapper.ShopAccountMapper;
import com.cool.store.utils.StringUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @Author suzhuhong
* @Date 2025/4/7 14:26
* @Version 1.0
*/
@Component
public class ShopAccountDAO {
@Resource
ShopAccountMapper shopAccountMapper;
public Integer initShopAccount(HyPartnerUserInfoDO partnerUserInfoDO, List<Long> shopIds){
List<ShopAccountDO> shopAccountDOS = new ArrayList<>();
for (Long shopId : shopIds) {
for (ShopAccountEnum shopAccountEnum: ShopAccountEnum.values()) {
ShopAccountDO shopAccountDO = new ShopAccountDO();
shopAccountDO.setShopId(shopId);
shopAccountDO.setSystemName(shopAccountEnum.getSystemName());
shopAccountDO.setBoundPhone(partnerUserInfoDO.getMobile());
//其他账户不使用统一密码
if (ShopAccountEnum.getSpecialEnumList().contains(shopAccountEnum)){
shopAccountDO.setPasswordSalt(partnerUserInfoDO.getDownstreamSystemSalting());
shopAccountDO.setPassword(partnerUserInfoDO.getDownstreamSystemPassword());
shopAccountDO.setSecondaryPassword(partnerUserInfoDO.getDownstreamSystemSecondaryPassword());
}
shopAccountDO.setStatus(shopAccountEnum.getInitStatus().getCode());
if (ShopAccountEnum.HUOMA.equals(shopAccountEnum)){
shopAccountDO.setEntryStatus(CommonConstants.ONE);
}
shopAccountDOS.add(shopAccountDO);
}
}
return shopAccountMapper.batchInsert(shopAccountDOS);
}
int batchInsert(List<ShopAccountDO> list){
if (CollectionUtils.isEmpty(list)){
return CommonConstants.ZERO;
}
return shopAccountMapper.batchInsert(list);
}
/**
* 根据shopId查询多条数据
* @param shopId 店铺ID
* @return 店铺账号列表
*/
public List<ShopAccountDO> selectByShopId(Long shopId){
return shopAccountMapper.selectByShopId(shopId);
}
public ShopAccountDO selectByShopIdAndSystemName(Long shopId,String systemName){
if (Objects.isNull(shopId)|| StringUtil.isEmpty(systemName)){
return null;
}
return shopAccountMapper.selectByShopIdAndSystemName(shopId,systemName);
}
/**
* 根据shopId与system_name修改status
* @param shopId 店铺ID
* @param systemNameList 系统名称
* @param status 状态
* @return 影响的行数
*/
public int updateStatusByShopIdAndSystemName(Long shopId, List<String> systemNameList, Integer status,Date syncTime,String ylsCode){
return shopAccountMapper.updateStatusByShopIdAndSystemName(shopId,systemNameList,status,syncTime,ylsCode);
}
public int updateEntryStatusByShopIdAndSystemName(Long shopId, List<String> systemNameList, Integer status){
return shopAccountMapper.updateEntryStatusByShopIdAndSystemName(shopId,systemNameList,status);
}
/**
* changeStatus
* @param shopId
* @param type
* @param account
* @param password
* @param resultType
* @return
*/
public Boolean changeStatus(Long shopId,Integer type,String account ,String password,Integer resultType){
if (Objects.isNull(shopId)||Objects.isNull(resultType)){
return Boolean.FALSE;
}
Integer openStatus = resultType == 1 ? OpenStatusEnum.OPENSTATUSENUM_6.getCode() : OpenStatusEnum.OPENSTATUSENUM_5.getCode();
String systemName = PlatformBuildEnum.getMessageByCode(type);
shopAccountMapper.updateAccountByShopIdAndSystemName(shopId,systemName,account,password,openStatus);
return Boolean.TRUE;
}
/**
* 只修改 POS 云流水 新掌柜
* @param shopIds
* @param password
* @param passwordSalt
* @param lastSyncTime
* @return
*/
public int batchUpdatePasswordByShopIds( List<Long> shopIds, String password,String secondaryPassword, String passwordSalt, Date lastSyncTime){
return shopAccountMapper.batchUpdatePasswordByShopIds(
shopIds, password, secondaryPassword, passwordSalt, lastSyncTime
);
}
public List<ShopAccountDO> getALlFail(){
return shopAccountMapper.getALlFail();
}
}

View File

@@ -9,6 +9,7 @@ import com.cool.store.dto.point.ShopPointDTO;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.ShopInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.point.ShopStatusEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.ShopInfoMapper;
import com.cool.store.request.BranchShopRequest;
@@ -16,6 +17,7 @@ import com.cool.store.request.PlanListRequest;
import com.cool.store.request.PointLinePageRequest;
import com.cool.store.request.PreparationRequest;
import com.cool.store.request.platformBuildListRequest;
import com.cool.store.response.MiniShopsResponse;
import com.cool.store.response.PlatformBuildListResponse;
import com.cool.store.vo.shop.StageShopCountVO;
import com.github.pagehelper.Page;
@@ -27,6 +29,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.ArrayList;
@@ -76,6 +79,11 @@ public class ShopInfoDAO {
return shopInfoMapper.getShopList(lineId);
}
public List<ShopInfoDO> getShopIdBySuccessOpen(String eid){
return shopInfoMapper.getShopIdBySuccessOpen(eid);
}
public List<ShopInfoDO> getShopListByRegion(Long lineId,List<Long> regionIdList,String userId){
if(Objects.isNull(lineId)){
return new ArrayList<>();
@@ -176,6 +184,13 @@ public class ShopInfoDAO {
return shopInfoMapper.selectByStoreNum(storeNum);
}
public ShopInfoDO selectByStoreCode(String storeCode){
if (StringUtils.isBlank(storeCode)) {
return null;
}
return shopInfoMapper.selectByStoreCode(storeCode);
}
public List<ShopInfoDO> selectByIdOrSelectAll(Long shopId){
return shopInfoMapper.selectByIdOrSelectAll(shopId);
@@ -183,9 +198,6 @@ public class ShopInfoDAO {
public List<PlatformBuildListResponse> platformBuildList(List<Long> regionIds, platformBuildListRequest request){
if(CollectionUtils.isEmpty(regionIds)){
return new ArrayList<>();
}
return shopInfoMapper.platformBuildList(regionIds, request);
}
@@ -219,4 +231,36 @@ public class ShopInfoDAO {
}
return shopInfoMapper.selectByLines(lineIds,regionIds);
}
public List<MiniShopsResponse> getShopListSuccessOpen(String eid,Long lineId){
return shopInfoMapper.getShopListSuccessOpen(eid,lineId);
}
public String getOpenName(String eid,Long shopId){
if (shopId == null){
return null;
}
return shopInfoMapper.getOpenName(eid,shopId);
}
public Integer updateShopCode(String shopCode,Long shopId){
return shopInfoMapper.updateShopCode(shopCode,shopId);
}
public List<String> getShopCodeList(Long lineId){
if (lineId == null){
return new ArrayList<>();
}
return shopInfoMapper.getShopCodeList(lineId);
}
public List<Long> getShopIdList(Long lineId){
if (lineId == null){
return new ArrayList<>();
}
return shopInfoMapper.getShopIdList(lineId);
}
public MiniShopsResponse currentShopWhetherOpen(Long shopId,String eid){
if (shopId == null){
return null;
}
return shopInfoMapper.currentShopWhetherOpen(shopId,eid);
}
}

View File

@@ -0,0 +1,43 @@
package com.cool.store.dao;
import com.cool.store.entity.TallyBookDO;
import com.cool.store.mapper.TallyBookMapper;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author: WangShuo
* @Date: 2025/03/28/09:50
* @Version 1.0
* @注释:
*/
@Repository
public class TallyBookDAO {
@Resource
private TallyBookMapper tallyBookMapper;
public Long insertSelective(TallyBookDO tallyBookDO) {
tallyBookMapper.insertSelective(tallyBookDO);
return tallyBookDO.getId();
}
public Long updateByPrimaryKeySelective(TallyBookDO tallyBookDO) {
tallyBookMapper.updateByPrimaryKeySelective(tallyBookDO);
return tallyBookDO.getId();
}
public List<TallyBookDO> getTallyBookListByShopIdAndYear(Long shopId,Integer year) {
Example example = new Example(TallyBookDO.class);
example.createCriteria().andEqualTo("shopId",shopId).andEqualTo("year",year);
return tallyBookMapper.selectByExample(example);
}
public TallyBookDO getById(Long id){
if(id == null){
return null;
}
return tallyBookMapper.selectByPrimaryKey(id);
}
}

View File

@@ -0,0 +1,40 @@
package com.cool.store.dao;
import com.alibaba.excel.util.CollectionUtils;
import com.cool.store.entity.TallyBookDetailDO;
import com.cool.store.mapper.TallyBookDetailMapper;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author: WangShuo
* @Date: 2025/04/01/13:38
* @Version 1.0
* @注释:
*/
@Repository
public class TallyBookDetailDAO {
@Resource
private TallyBookDetailMapper tallyBookDetailMapper;
public Integer batchInsert(List<TallyBookDetailDO> tallyBookDetailDOList) {
if (CollectionUtils.isEmpty(tallyBookDetailDOList)){
return null;
}
return tallyBookDetailMapper.batchInsert(tallyBookDetailDOList);
}
public Integer batchDeleteByTallyBookId(Long tallyBookId){
Example example = new Example(TallyBookDetailDO.class);
example.createCriteria().andEqualTo("tallyBookId",tallyBookId);
return tallyBookDetailMapper.deleteByExample(example);
}
public List<TallyBookDetailDO> getTallyBookDetailListByTallyBookId(Long tallyBookId){
Example example = new Example(TallyBookDetailDO.class);
example.createCriteria().andEqualTo("tallyBookId",tallyBookId);
return tallyBookDetailMapper.selectByExample(example);
}
}

View File

@@ -27,4 +27,6 @@ public interface ApplyLicenseMapper extends Mapper<LicenseTransactDO> {
List<LicenseTransactDO> queryNotSyncList();
Boolean updateSyncFlagByIds(@Param("ids") List<Long> ids);
List<LicenseTransactDO> getByShopIds(@Param("list") List<Long> shopIds) ;
}

View File

@@ -1,5 +1,6 @@
package com.cool.store.mapper;
import com.cool.store.dto.UserDTO;
import com.cool.store.dto.openPreparation.UserNameDTO;
import com.cool.store.entity.EnterpriseUserDO;
import org.apache.ibatis.annotations.Mapper;
@@ -89,4 +90,5 @@ public interface EnterpriseUserMapper {
*/
List<EnterpriseUserDO> getUserListByRegionId( @Param("regionId") Long regionId);
List<UserDTO> getAllUser(@Param("eid")String id, @Param("keyword") String keyword);
}

View File

@@ -0,0 +1,13 @@
package com.cool.store.mapper;
import com.cool.store.entity.EnumInfoDO;
import tk.mybatis.mapper.common.Mapper;
/**
* @Author: WangShuo
* @Date: 2025/04/08/15:19
* @Version 1.0
* @注释:
*/
public interface EnumInfoDOMapper extends Mapper<EnumInfoDO> {
}

View File

@@ -0,0 +1,14 @@
package com.cool.store.mapper;
import com.cool.store.entity.HomeTemplateDO;
import tk.mybatis.mapper.common.Mapper;
/**
* @Author: WangShuo
* @Date: 2025/04/08/09:35
* @Version 1.0
* @注释:
*/
public interface HomeTemplateMapper extends Mapper<HomeTemplateDO> {
}

View File

@@ -0,0 +1,13 @@
package com.cool.store.mapper;
import com.cool.store.entity.HomeTemplateUserMappingDO;
import tk.mybatis.mapper.common.Mapper;
/**
* @Author: WangShuo
* @Date: 2025/04/08/10:19
* @Version 1.0
* @注释:
*/
public interface HomeTemplateUserMappingMapper extends Mapper<HomeTemplateUserMappingDO> {
}

View File

@@ -49,4 +49,6 @@ public interface HyPartnerUserInfoMapper {
String selectLastCrmCreateTime();
int updatePasswordByPartnerId(@Param("record") HyPartnerUserInfoDO record);
}

View File

@@ -0,0 +1,14 @@
package com.cool.store.mapper;
import com.cool.store.entity.OldShopDO;
import tk.mybatis.mapper.common.BaseMapper;
import tk.mybatis.mapper.common.Mapper;
/**
* @Author: WangShuo
* @Date: 2025/04/12/18:33
* @Version 1.0
* @注释:
*/
public interface OldShopMapper extends Mapper<OldShopDO> {
}

View File

@@ -0,0 +1,14 @@
package com.cool.store.mapper;
import com.cool.store.entity.OrderSysInfoDO;
import tk.mybatis.mapper.common.Mapper;
/**
* @Author: WangShuo
* @Date: 2025/04/06/15:57
* @Version 1.0
* @注释:
*/
public interface OrderSysInfoMapper extends Mapper<OrderSysInfoDO> {
}

View File

@@ -1,10 +1,11 @@
package com.cool.store.mapper;
import com.cool.store.dto.MiniShopDTO;
import com.cool.store.dto.PCPointListDTO;
import com.cool.store.dto.point.LineCountDTO;
import com.cool.store.entity.PointInfoDO;
import com.cool.store.request.AllPointPageRequest;
import com.cool.store.request.PointPageRequest;
import com.cool.store.request.RecommendPointPageRequest;
import com.cool.store.request.*;
import com.cool.store.vo.point.MiniPointPageVO;
import com.cool.store.vo.point.PointHomePageDataVO;
import com.cool.store.vo.point.PointPageVO;
import com.github.pagehelper.Page;
@@ -28,7 +29,7 @@ public interface PointInfoMapper extends Mapper<PointInfoDO> {
* @param request
* @return
*/
Page<PointInfoDO> getMyPointPage(@Param("request") PointPageRequest request);
Page<PCPointListDTO> getMyPointPage(@Param("eid") String eid,@Param("request") PointPageRequest request);
/**
* 获取线索选择门店数
@@ -49,7 +50,7 @@ public interface PointInfoMapper extends Mapper<PointInfoDO> {
* @param request
* @return
*/
Page<PointInfoDO> getRecommendPointList(@Param("request") RecommendPointPageRequest request);
Page<PCPointListDTO> getRecommendPointList(@Param("request") RecommendPointPageRequest request);
/**
* 更新铺位的拓展经理
@@ -64,7 +65,7 @@ public interface PointInfoMapper extends Mapper<PointInfoDO> {
* @param request
* @return
*/
Page<PointInfoDO> getTeamPointPage(@Param("request") AllPointPageRequest request);
Page<PCPointListDTO> getTeamPointPage(@Param("eid")String eid,@Param("request") AllPointPageRequest request);
/**
* 回收铺位
@@ -88,4 +89,31 @@ public interface PointInfoMapper extends Mapper<PointInfoDO> {
* @return
*/
Integer perfectPointInfo(@Param("request") PointInfoDO request);
/**
* @Auther: wangshuo
* @Date: 2025/3/31
* @description:获取铺位部分数据
*/
List<MiniPointPageVO> MiniPointPageVO(@Param("enterpriseId") String enterpriseId , @Param("request") MiniPointRequest request);
/**
* @Auther: wangshuo
* @Date: 2025/4/2
* @description:根据机会点code获取铺位信息
*/
List<MiniPointPageVO> getPointByOpportunityPointCode(@Param("code") String code);
/**
* @Auther: wangshuo
* @Date: 2025/4/2
* @description:根据机会点code获取门店信息
*/
List<MiniShopDTO> getShopByOpportunityPointCode(@Param("enterpriseId") String enterpriseId, @Param("code") String code);
/**
* @Auther: wangshuo
* @Date: 2025/4/3
* @description:获取全部可推荐铺位
*/
List<MiniPointPageVO> getRecommendOrMyList(@Param("request") MiniPointRequest request);
}

View File

@@ -1,5 +1,6 @@
package com.cool.store.mapper;
import com.cool.store.dto.PCPointListDTO;
import com.cool.store.entity.PointAuditRecordDO;
import com.cool.store.entity.PointInfoDO;
import com.cool.store.entity.PointTodoInfoDO;
@@ -56,7 +57,7 @@ public interface PointTodoInfoMapper extends Mapper<PointTodoInfoDO> {
* @param request
* @return
*/
Page<PointInfoDO> getUserTodoList(@Param("request") PointTodoPageRequest request);
Page<PCPointListDTO> getUserTodoList(@Param("request") PointTodoPageRequest request);
/**
* 获取当前节点

View File

@@ -0,0 +1,91 @@
package com.cool.store.mapper;
import com.cool.store.entity.ShopAccountDO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import tk.mybatis.mapper.common.Mapper;
import java.util.Date;
import java.util.List;
public interface ShopAccountMapper extends Mapper<ShopAccountDO> {
/**
* 批量新增店铺账号
* @param list 店铺账号列表
* @return 影响的行数
*/
int batchInsert(List<ShopAccountDO> list);
/**
* 根据shopId查询多条数据
* @param shopId 店铺ID
* @return 店铺账号列表
*/
List<ShopAccountDO> selectByShopId(Long shopId);
/**
* 根据shopId与系统名称查询
* @param shopId
* @param systemName
* @return
*/
ShopAccountDO selectByShopIdAndSystemName(@Param("shopId") Long shopId , @Param("systemName") String systemName);
/**
* 根据shopId与system_name修改status
* @param shopId 店铺ID
* @param systemName 系统名称
* @param status 状态
* @param lastSyncTime 最后同步时间
* @return 影响的行数
*/
int updateStatusByShopIdAndSystemName(
@Param("shopId") Long shopId,
@Param("systemNameList") List<String> systemNameList,
@Param("status") Integer status,
@Param("syncTime") Date lastSyncTime,
@Param("ylsCode") String ylsCode
);
int updateEntryStatusByShopIdAndSystemName(
@Param("shopId") Long shopId,
@Param("systemNameList") List<String> systemNameList,
@Param("entryStatus") Integer entryStatus
);
int updateAccountByShopIdAndSystemName(
@Param("shopId") Long shopId,
@Param("systemName") String systemName,
@Param("account") String account,
@Param("password") String password,
@Param("status") Integer status
);
/**
* 批量修改密码和密码盐
* @param shopIds 店铺ID列表
* @param password 新密码
* @param passwordSalt 新密码盐
* @param lastSyncTime 最后同步时间
* @return 影响的行数
*/
int batchUpdatePasswordByShopIds(
@Param("shopIds") List<Long> shopIds,
@Param("password") String password,
@Param("secondaryPassword") String secondaryPassword,
@Param("passwordSalt") String passwordSalt,
@Param("lastSyncTime") Date lastSyncTime
);
/**
* 查询云流水、新掌柜 POS失败的数据 重新推数据
* @return
*/
List<ShopAccountDO> getALlFail();
}

View File

@@ -0,0 +1,7 @@
package com.cool.store.mapper;
import com.cool.store.entity.ShopAccountDO;
import tk.mybatis.mapper.common.Mapper;
public interface ShopAccountMapper extends Mapper<ShopAccountDO> {
}

View File

@@ -12,6 +12,7 @@ import com.cool.store.request.PlanListRequest;
import com.cool.store.request.PointLinePageRequest;
import com.cool.store.request.PreparationRequest;
import com.cool.store.request.platformBuildListRequest;
import com.cool.store.response.MiniShopsResponse;
import com.cool.store.response.PlatformBuildListResponse;
import com.cool.store.vo.shop.StageShopCountVO;
import com.github.pagehelper.Page;
@@ -91,6 +92,8 @@ public interface ShopInfoMapper extends Mapper<ShopInfoDO> {
Long getRegionIdByid(@Param("shopId") Long shopId);
ShopInfoDO selectByStoreNum(@Param("storeNum") String storeNum);
ShopInfoDO selectByStoreCode(@Param("storeCode") String storeCode);
/**
* @Auther: wangshuo
* @Date: 2024/5/3
@@ -119,4 +122,19 @@ public interface ShopInfoMapper extends Mapper<ShopInfoDO> {
Boolean batchUpdate(List<ShopInfoDO> list);
List<ShopInfoDO> selectByLines (@Param("list") List<Long> list,@Param("regionIds") List<Long> regionIds);
List<ShopInfoDO> getShopIdBySuccessOpen(@Param("eid") String eid);
List<MiniShopsResponse> getShopListSuccessOpen(@Param("eid") String eid,@Param("lineId") Long lineId);
String getOpenName(@Param("eid") String eid,@Param("shopId")Long shopId);
Integer updateShopCode(@Param("shopCode") String shopCode,@Param("shopId") Long shopId);
List<String> getShopCodeList(@Param("lineId") Long lineId);
List<Long> getShopIdList(@Param("lineId") Long lineId);
MiniShopsResponse currentShopWhetherOpen(@Param("shopId")Long shopId,@Param("eid")String eid);
}

View File

@@ -0,0 +1,18 @@
package com.cool.store.mapper;
import com.cool.store.entity.TallyBookDetailDO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/**
* @Author: WangShuo
* @Date: 2025/04/01/13:36
* @Version 1.0
* @注释:
*/
public interface TallyBookDetailMapper extends Mapper<TallyBookDetailDO> {
Integer batchInsert(@Param("list") List<TallyBookDetailDO> tallyBookDetailDOList);
}

View File

@@ -0,0 +1,13 @@
package com.cool.store.mapper;
import com.cool.store.entity.TallyBookDO;
import tk.mybatis.mapper.common.Mapper;
/**
* @Author: WangShuo
* @Date: 2025/03/28/09:45
* @Version 1.0
* @注释:
*/
public interface TallyBookMapper extends Mapper<TallyBookDO> {
}

View File

@@ -0,0 +1,20 @@
package com.cool.store.mapper;
import com.cool.store.entity.WarehouseInfoDO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/**
* @Author: WangShuo
* @Date: 2025/04/08/15:07
* @Version 1.0
* @注释:
*/
public interface WarehouseInfoMapper extends Mapper<WarehouseInfoDO> {
List<WarehouseInfoDO> getAllAndActive(@Param("keyword") String keyword);
WarehouseInfoDO getByCode(@Param("code") String code);
}

View File

@@ -2,9 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.AcceptanceInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.AcceptanceInfoDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="shop_id" jdbcType="BIGINT" property="shopId"/>
<result column="actual_entry_time" jdbcType="TIMESTAMP" property="actualEntryTime"/>
@@ -25,13 +22,19 @@
<result column="actual_acceptance_time" jdbcType="TIMESTAMP" property="actualAcceptanceTime"/>
<result column="booking_user" jdbcType="VARCHAR" property="bookingUser"/>
<result column="plan_exit_time" jdbcType="TIMESTAMP" property="planExitTime"/>
<result column="ks_account" jdbcType="VARCHAR" property="ksAccount"/>
<result column="verification_mobile" jdbcType="VARCHAR" property="verificationMobile"/>
<result column="shop_location_screenshots" jdbcType="VARCHAR" property="shopLocationScreenshots"/>
<result column="shop_doorway_photo" jdbcType="VARCHAR" property="shopDoorwayPhoto"/>
<result column="shop_interior_photo" jdbcType="VARCHAR" property="shopInteriorPhoto"/>
</resultMap>
<sql id="baseColumn">
id
,shop_id,actual_entry_time,planned_completion_time,planned_start_time,decoration_planned_completion_time,
decoration_planned_start_time,construction_completion_time,engineering_acceptance_signatures,
operations_acceptance_signatures,partner_acceptance_signatures,
create_time,update_time,deleted,plan_acceptance_time,actual_acceptance_time,booking_user,plan_exit_time
create_time,update_time,deleted,plan_acceptance_time,actual_acceptance_time,booking_user,plan_exit_time,
ks_account,verification_mobile,shop_location_screenshots,shop_doorway_photo,shop_interior_photo
</sql>
<update id="updateByShopIDSelective">
update xfsg_acceptance_info
@@ -79,7 +82,22 @@
booking_user =#{bookingUser},
</if>
<if test="planExitTime !=null">
plan_exit_time =#{planExitTime}
plan_exit_time =#{planExitTime},
</if>
<if test="ksAccount !=null">
ks_account =#{ksAccount},
</if>
<if test="verificationMobile !=null">
verification_mobile =#{verificationMobile},
</if>
<if test="shopLocationScreenshots !=null">
shop_location_screenshots =#{shopLocationScreenshots},
</if>
<if test="shopDoorwayPhoto !=null">
shop_doorway_photo =#{shopDoorwayPhoto},
</if>
<if test="shopInteriorPhoto !=null">
shop_interior_photo =#{shopInteriorPhoto}
</if>
</set>
where shop_id = #{shopId}

View File

@@ -9,6 +9,10 @@
business_license,
license_type,
license_legal_person,
license_legal_id_card_no,
license_legal_id_card_front,
license_legal_id_card_back,
license_legal_mobile,
credit_code,
credit_url,
license_address,
@@ -32,7 +36,8 @@
create_time,
update_time,
deleted,
two_certificates_one
two_certificates_one,
legal_is_same_partner
</sql>
<update id="updateByShopId">
update xfsg_license_transact
@@ -102,6 +107,16 @@
where sync_flag = 0
and deleted = 0
</select>
<select id="getByShopIds" resultType="com.cool.store.entity.LicenseTransactDO">
select <include refid="baseColumn"/>
from xfsg_license_transact
where deleted = 0
<if test="list != null and list.size > 0">
<foreach item="item" collection="list" open="and shop_id in (" separator="," close=")">
#{item}
</foreach>
</if>
</select>
<update id="updateSyncFlagByIds">

View File

@@ -19,8 +19,11 @@
<result property="juridicalHandheldIdCardReverse" column="juridical_handheld_id_card_reverse"
jdbcType="VARCHAR"/>
<result property="juridicalIdCardNo" column="juridical_id_card_no" jdbcType="VARCHAR"/>
<result property="settlerName" column="settler_name" jdbcType="VARCHAR"/>
<result property="settlerIdCardFront" column="settler_id_card_front" jdbcType="VARCHAR"/>
<result property="settlerIdCardReverse" column="settler_id_card_reverse" jdbcType="VARCHAR"/>
<result property="settlerInHandFrontPicture" column="settler_in_hand_front_picture" jdbcType="VARCHAR"/>
<result property="settlerInHandBackPicture" column="settler_in_hand_back_picture" 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"/>
@@ -33,6 +36,10 @@
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="createUser" column="create_user" jdbcType="VARCHAR"/>
<result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
<result property="cShopName" column="c_shop_name" jdbcType="VARCHAR"/>
<result property="settlerBankBackPhotoUrl" column="settler_bank_back_photo_url" jdbcType="VARCHAR"/>
<result property="settlerIsSamePartner" column="settler_is_same_partner" jdbcType="TINYINT"/>
<result property="juridicalIsSamePartner" column="juridical_is_same_partner" jdbcType="TINYINT"/>
</resultMap>
<sql id="Base_Column_List">
@@ -40,10 +47,10 @@
,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,authorizationUrl,relationshipProve,accountOpeningPermit,
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,
juridical_id_card_reverse,juridical_handheld_id_card_front,juridical_handheld_id_card_reverse,settler_name,
settler_id_card_front,settler_id_card_reverse,settler_in_hand_front_picture,settler_in_hand_back_picture,settler_id_card_no,
settler_bank_number,settler_bank_mobile,settler_bank_name,
create_time,update_time,create_user,
update_user
update_user,c_shop_name,settler_bank_back_photo_url,settler_is_same_partner,juridical_is_same_partner
</sql>
</mapper>

View File

@@ -168,4 +168,15 @@
from enterprise_user_${enterpriseId}
where user_region_ids like concat('%', #{regionId}, '%') and active = true
</select>
<select id="getAllUser" resultType="com.cool.store.dto.UserDTO">
select
user_id as userId,
name,
mobile
from enterprise_user_${eid}
where active = true
<if test="keyword!=null and keyword!=''">
and( name like concat('%',#{keyword},'%') or mobile like concat('%',#{keyword},'%'))
</if>
</select>
</mapper>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--mybatis-3-mapper.dtd:约束文件的名称限制和检查在当前文件中出现的标签和属性符合mybatis的要求-->
<!--namespace命名空间要有唯一的值要求使用dao接口的权限定名称一个dao接口对应一个mappernamespace指明对应哪个dao接口-->
<mapper namespace="com.cool.store.mapper.EnumInfoDOMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.EnumInfoDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="type_code" jdbcType="VARCHAR" property="typeCode" />
<result column="sys_key" jdbcType="VARCHAR" property="sysKey" />
<result column="sys_value" jdbcType="VARCHAR" property="sysValue" />
<result column="deleted" jdbcType="BIT" property="deleted" />
</resultMap>
</mapper>

View File

@@ -25,7 +25,8 @@
a.first_year_end_time as firstYearEndTime,
a.first_year_fee as firstYearFee,
a.performance_bond as performanceBond,
b.pay_user_name as payUserName
b.pay_user_name as payUserName,
a.discount_reason as discountReason
from xfsg_franchise_fee a
LEFT JOIN xfsg_line_pay b ON b.id = a.pay_id
where a.shop_id in

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--mybatis-3-mapper.dtd:约束文件的名称限制和检查在当前文件中出现的标签和属性符合mybatis的要求-->
<!--namespace命名空间要有唯一的值要求使用dao接口的权限定名称一个dao接口对应一个mappernamespace指明对应哪个dao接口-->
<mapper namespace="com.cool.store.mapper.HomeTemplateMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.HomeTemplateDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="template_name" jdbcType="VARCHAR" property="templateName" />
<result column="template_description" jdbcType="VARCHAR" property="templateDescription" />
<result column="is_default" jdbcType="BIT" property="isDefault" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="mini_open_components_json" jdbcType="VARCHAR" property="miniOpenComponentsJson" />
<result column="create_id" jdbcType="VARCHAR" property="createId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_id" jdbcType="VARCHAR" property="updateId" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
</mapper>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--mybatis-3-mapper.dtd:约束文件的名称限制和检查在当前文件中出现的标签和属性符合mybatis的要求-->
<!--namespace命名空间要有唯一的值要求使用dao接口的权限定名称一个dao接口对应一个mappernamespace指明对应哪个dao接口-->
<mapper namespace="com.cool.store.mapper.HomeTemplateUserMappingMapper">
<resultMap id="BaseResultMapper" type="com.cool.store.entity.HomeTemplateUserMappingDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="template_id" jdbcType="BIGINT" property="templateId" />
<result column="user_id" jdbcType="VARCHAR" property="userId" />
<result column="create_id" jdbcType="VARCHAR" property="createId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_id" jdbcType="VARCHAR" property="updateId" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
</mapper>

View File

@@ -10,9 +10,12 @@
<result column="user_channel_id" jdbcType="BIGINT" property="userChannelId" />
<result column="crm_create_time" jdbcType="TIMESTAMP" property="crmCreateTime" />
<result column="openid" jdbcType="VARCHAR" property="openid" />
<result column="downstream_system_salting" jdbcType="VARCHAR" property="downstreamSystemSalting" />
<result column="downstream_system_password" jdbcType="VARCHAR" property="downstreamSystemPassword" />
<result column="downstream_system_secondary_password" jdbcType="VARCHAR" property="downstreamSystemSecondaryPassword" />
</resultMap>
<sql id="Base_Column_List">
id, partner_id, mobile, create_time, update_time, user_channel_id, crm_create_time, openid
id, partner_id, mobile, create_time, update_time, user_channel_id, crm_create_time, openid, downstream_system_salting, downstream_system_password,downstream_system_secondary_password
</sql>
<select id="selectByPartnerId" resultMap="BaseResultMap" >
select
@@ -148,5 +151,23 @@
</set>
where partner_id = #{record.partnerId}
</update>
<update id="updatePasswordByPartnerId">
update xfsg_partner_user_info
<set>
<if test="record.downstreamSystemSalting != null">
downstream_system_salting = #{record.downstreamSystemSalting},
</if>
<if test="record.downstreamSystemPassword != null">
downstream_system_password = #{record.downstreamSystemPassword},
</if>
<if test="record.downstreamSystemSecondaryPassword != null">
downstream_system_secondary_password = #{record.downstreamSystemSecondaryPassword},
</if>
<if test="record.updateTime != null">
update_time = #{record.updateTime},
</if>
</set>
where partner_id = #{record.partnerId}
</update>
</mapper>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--mybatis-3-mapper.dtd:约束文件的名称限制和检查在当前文件中出现的标签和属性符合mybatis的要求-->
<!--namespace命名空间要有唯一的值要求使用dao接口的权限定名称一个dao接口对应一个mappernamespace指明对应哪个dao接口-->
<mapper namespace="com.cool.store.mapper.OldShopMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.OldShopDO">
<result column="id" property="id" jdbcType="BIGINT"/>
<result column="shop_code" property="shopCode" jdbcType="VARCHAR"/>
<result column="shop_name" property="shopName" jdbcType="VARCHAR"/>
<result column="mobile" property="mobile" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id, shop_code, shop_name,mobile, create_time, update_time
</sql>
</mapper>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--mybatis-3-mapper.dtd:约束文件的名称限制和检查在当前文件中出现的标签和属性符合mybatis的要求-->
<!--namespace命名空间要有唯一的值要求使用dao接口的权限定名称一个dao接口对应一个mappernamespace指明对应哪个dao接口-->
<mapper namespace="com.cool.store.mapper.OrderSysInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.OrderSysInfoDO">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="xgjVicePresident" column="xgj_vice_president" jdbcType="VARCHAR"/>
<result property="xgjRegionId" column="xgj_region_id" jdbcType="VARCHAR"/>
<result property="xgjRegionName" column="xgj_region_name" jdbcType="VARCHAR"/>
<result property="addresseeName" column="addressee_name" jdbcType="VARCHAR"/>
<result property="addresseeMobile" column="addressee_mobile" jdbcType="VARCHAR"/>
<result property="addresseeProvince" column="addressee_province" jdbcType="VARCHAR"/>
<result property="addresseeCity" column="addressee_city" jdbcType="VARCHAR"/>
<result property="addresseeDistrict" column="addressee_district" jdbcType="VARCHAR"/>
<result property="addresseeAddress" column="addressee_address" jdbcType="VARCHAR"/>
<result property="declareGoodsLogisticsWarehouse" column="declare_goods_logistics_warehouse"
jdbcType="VARCHAR"/>
<result property="declareGoodsType" column="declare_goods_type" jdbcType="VARCHAR"/>
<result property="declareGoodsDate" column="declare_goods_date" jdbcType="VARCHAR"/>
<result property="warehouseDeliveryDate" column="warehouse_delivery_date" jdbcType="VARCHAR"/>
<result property="orderCreateTime" column="order_create_time" jdbcType="TIMESTAMP"/>
<result property="orderUpdateTime" column="order_update_time" jdbcType="TIMESTAMP"/>
<result property="orderCreateUser" column="order_create_user" jdbcType="VARCHAR"/>
<result property="orderUpdateUser" column="order_update_user" jdbcType="VARCHAR"/>
<result property="receivingFirmName" column="receiving_firm_name" jdbcType="VARCHAR"/>
<result property="receivingMsBankAccount" column="receiving_ms_bank_account" jdbcType="VARCHAR"/>
<result property="receivingMsBankBranch" column="receiving_ms_bank_branch" jdbcType="VARCHAR"/>
<result property="bankUnionPayAccount" column="bank_unionPay_account" jdbcType="VARCHAR"/>
<result property="receivingCreateTime" column="receiving_create_time" jdbcType="TIMESTAMP"/>
<result property="receivingUpdateTime" column="receiving_update_time" jdbcType="TIMESTAMP"/>
<result property="receivingCreateUser" column="receiving_create_user" jdbcType="VARCHAR"/>
<result property="receivingUpdateUser" column="receiving_update_user" jdbcType="VARCHAR"/>
</resultMap>
<sql id="base_colum_list">
id, shop_id, xgj_vice_president, xgj_region_id,xgj_region_name,addresseeName, addressee_mobile, addressee_province, addressee_city,
addressee_district, addressee_address, declare_goods_logistics_warehouse, declare_goods_date,
warehouse_delivery_date, order_create_time, order_update_time, order_create_user, order_update_user,
receiving_firm_name, receiving_ms_bank_account, receiving_ms_bank_branch, bank_unionPay_account,
receiving_create_time, receiving_update_time, receiving_create_user, receiving_update_user,
declare_goods_type
</sql>
</mapper>

View File

@@ -9,9 +9,12 @@
<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="settlerName" column="settler_name" 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="settlerInHandFrontPicture" column="settler_in_hand_front_picture" jdbcType="VARCHAR"/>
<result property="settlerInHandBackPicture" column="settler_in_hand_back_picture" 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"/>
@@ -32,8 +35,8 @@
<sql id="Base_Column_List">
id
,shop_id,audit_id,
type,settler_id_card_front,settler_id_card_reverse,password,ks_account,
settler_id_card_no,settler_bank_number,settler_bank_mobile,
type,settler_name,settler_id_card_front,settler_id_card_reverse,password,ks_account,
settler_id_card_no,settler_in_hand_front_picture,settler_in_hand_back_picture,settler_bank_number,settler_bank_mobile,
settler_bank_name,
account,store_positioning_url,authorization_url,
create_time,update_time,create_user,

View File

@@ -1,224 +1,344 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.PointInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.PointInfoDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="point_code" jdbcType="VARCHAR" property="pointCode" />
<result column="point_name" jdbcType="VARCHAR" property="pointName" />
<result column="region_id" jdbcType="BIGINT" property="regionId" />
<result column="shop_id" jdbcType="BIGINT" property="shopId" />
<result column="line_id" jdbcType="BIGINT" property="lineId" />
<result column="point_area" jdbcType="VARCHAR" property="pointArea" />
<result column="longitude" jdbcType="VARCHAR" property="longitude" />
<result column="latitude" jdbcType="VARCHAR" property="latitude" />
<result column="address" jdbcType="VARCHAR" property="address" />
<result column="development_manager" jdbcType="VARCHAR" property="developmentManager" />
<result column="operate_user_id" jdbcType="VARCHAR" property="operateUserId" />
<result column="development_time" jdbcType="TIMESTAMP" property="developmentTime" />
<result column="point_status" jdbcType="TINYINT" property="pointStatus" />
<result column="point_score" jdbcType="INTEGER" property="pointScore" />
<result column="select_status" jdbcType="TINYINT" property="selectStatus" />
<result column="submit_audit_count" jdbcType="TINYINT" property="submitAuditCount" />
<result column="point_source" jdbcType="TINYINT" property="pointSource" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="province" jdbcType="VARCHAR" property="province" />
<result column="city" jdbcType="VARCHAR" property="city" />
<result column="district" jdbcType="VARCHAR" property="district" />
<result column="township" jdbcType="VARCHAR" property="township" />
<result column="storage_status" jdbcType="TINYINT" property="storageStatus" />
</resultMap>
<resultMap id="BaseResultMap" type="com.cool.store.entity.PointInfoDO">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="point_code" jdbcType="VARCHAR" property="pointCode"/>
<result column="point_name" jdbcType="VARCHAR" property="pointName"/>
<result column="region_id" jdbcType="BIGINT" property="regionId"/>
<result column="shop_id" jdbcType="BIGINT" property="shopId"/>
<result column="line_id" jdbcType="BIGINT" property="lineId"/>
<result column="point_area" jdbcType="VARCHAR" property="pointArea"/>
<result column="longitude" jdbcType="VARCHAR" property="longitude"/>
<result column="latitude" jdbcType="VARCHAR" property="latitude"/>
<result column="address" jdbcType="VARCHAR" property="address"/>
<result column="development_manager" jdbcType="VARCHAR" property="developmentManager"/>
<result column="operate_user_id" jdbcType="VARCHAR" property="operateUserId"/>
<result column="development_time" jdbcType="TIMESTAMP" property="developmentTime"/>
<result column="point_status" jdbcType="TINYINT" property="pointStatus"/>
<result column="point_score" jdbcType="INTEGER" property="pointScore"/>
<result column="select_status" jdbcType="TINYINT" property="selectStatus"/>
<result column="submit_audit_count" jdbcType="TINYINT" property="submitAuditCount"/>
<result column="point_source" jdbcType="TINYINT" property="pointSource"/>
<result column="deleted" jdbcType="BIT" property="deleted"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="province" jdbcType="VARCHAR" property="province"/>
<result column="city" jdbcType="VARCHAR" property="city"/>
<result column="district" jdbcType="VARCHAR" property="district"/>
<result column="township" jdbcType="VARCHAR" property="township"/>
<result column="storage_status" jdbcType="TINYINT" property="storageStatus"/>
<result column="opportunity_point_code" jdbcType="VARCHAR" property="opportunityPointCode"/>
<result column="opportunity_point_name" jdbcType="VARCHAR" property="opportunityPointName"/>
<result column="province_code" jdbcType="VARCHAR" property="provinceCode"/>
<result column="city_code" jdbcType="VARCHAR" property="cityCode"/>
<result column="district_code" jdbcType="VARCHAR" property="districtCode"/>
<result column="point_location" jdbcType="VARCHAR" property="pointLocation"/>
</resultMap>
<sql id="allColumn">
id, point_code, point_name, region_id, shop_id, line_id, point_area, longitude, latitude, address, development_manager, operate_user_id,
development_time, point_status, point_score, select_status, submit_audit_count, point_source, deleted, create_time, update_time,
province, city, district, township
</sql>
<sql id="allColumn">
id, point_code, point_name, region_id, shop_id, line_id, point_area, longitude, latitude, address,
development_manager, operate_user_id,
development_time, point_status, point_score, select_status, submit_audit_count, point_source, deleted,
create_time, update_time,
province, city, district, township, opportunity_point_code, opportunity_point_name,
province_code, city_code, district_code, point_location
</sql>
<select id="getMyPointData" resultType="com.cool.store.vo.point.PointHomePageDataVO">
select
sum(if(point_status != 7, 1, 0)) as myPoint,
sum(if(point_status in (4, 5, 6), 1, 0)) as poolPoint,
sum(if(point_status = 1, 1, 0)) as collectPoint,
sum(if(point_status = 2, 1, 0)) as evaluatePoint,
sum(if(point_status in (3, 4), 1, 0)) as waitAuditPoint,
sum(if(point_status = 7, 1, 0)) as signPoint
from xfsg_point_info
where deleted = 0 and development_manager = #{userId}
</select>
<select id="getMyPointPage" resultMap="BaseResultMap">
select
id,
point_name,
point_code,
address,
region_id,
point_status,
point_score,
point_area,
development_manager,
operate_user_id,
development_time,
select_status,
create_time,
update_time
from xfsg_point_info
where deleted = 0 and development_manager = #{request.developmentManager}
<if test="request.keyword != null and request.keyword != ''">
and (point_code like concat('%', #{request.keyword}, '%') or point_name like concat('%', #{request.keyword}, '%'))
</if>
<if test="request.developmentStartTime != null and request.developmentStartTime != ''">
and development_time >= #{request.developmentStartTime}
</if>
<if test="request.developmentEndTime != null and request.developmentEndTime != ''">
<![CDATA[and development_time <= #{request.developmentEndTime}]]>
</if>
<if test="request.pointStatusList != null and request.pointStatusList.size() > 0">
and point_status in
<foreach collection="request.pointStatusList" item="pointStatus" open="(" close=")" separator=",">
#{pointStatus}
</foreach>
</if>
<if test="request.storageStatus != null">
and storage_status = #{request.storageStatus}
</if>
<if test="request.operateUserId != null and request.operateUserId != ''">
and operate_user_id = #{request.operateUserId}
</if>
<if test="request.createStartTime != null and request.createStartTime != ''">
and create_time >= #{request.createStartTime}
</if>
<if test="request.createEndTime != null and request.createEndTime != ''">
<![CDATA[and create_time <= #{request.createEndTime}]]>
</if>
<if test="request.regionIds != null and request.regionIds.size() > 0">
and region_id in
<foreach collection="request.regionIds" item="regionId" index="index" open="(" separator="," close=")">
#{regionId}
</foreach>
</if>
order by id desc
</select>
<select id="getMyPointData" resultType="com.cool.store.vo.point.PointHomePageDataVO">
select
sum(if(point_status != 7, 1, 0)) as myPoint,
sum(if(point_status in (4, 5, 6), 1, 0)) as poolPoint,
sum(if(point_status = 1, 1, 0)) as collectPoint,
sum(if(point_status = 2, 1, 0)) as evaluatePoint,
sum(if(point_status in (3, 4), 1, 0)) as waitAuditPoint,
sum(if(point_status = 7, 1, 0)) as signPoint
from xfsg_point_info
where deleted = 0 and development_manager = #{userId}
</select>
<select id="getMyPointPage" resultType="com.cool.store.dto.PCPointListDTO">
select
a.id,
a.point_name,
a.point_code,
a.address,
a.region_id,
a.point_status,
a.point_score,
a.point_area,
a.development_manager,
a.operate_user_id,
a.development_time,
a.select_status,
a.create_time,
a.update_time,
a.opportunity_point_code,
a.opportunity_point_name,
c.store_name as openName
from xfsg_point_info a
left join xfsg_shop_info b on a.shop_id = b.id
left join store_${eid} c on b.shop_code = c.store_num
where a.deleted = 0 and a.development_manager = #{request.developmentManager}
<if test="request.keyword != null and request.keyword != ''">
and (a.point_code like concat('%', #{request.keyword}, '%') or a.point_name like concat('%', #{request.keyword},
'%'))
</if>
<if test="request.developmentStartTime != null and request.developmentStartTime != ''">
and a.development_time >= #{request.developmentStartTime}
</if>
<if test="request.developmentEndTime != null and request.developmentEndTime != ''">
<![CDATA[and a.development_time <= #{request.developmentEndTime}]]>
</if>
<if test="request.pointStatusList != null and request.pointStatusList.size() > 0">
and a.point_status in
<foreach collection="request.pointStatusList" item="pointStatus" open="(" close=")" separator=",">
#{pointStatus}
</foreach>
</if>
<if test="request.storageStatus != null">
and a.storage_status = #{request.storageStatus}
</if>
<if test="request.operateUserId != null and request.operateUserId != ''">
and a.operate_user_id = #{request.operateUserId}
</if>
<if test="request.createStartTime != null and request.createStartTime != ''">
and a.create_time >= #{request.createStartTime}
</if>
<if test="request.createEndTime != null and request.createEndTime != ''">
<![CDATA[and a.create_time <= #{request.createEndTime}]]>
</if>
<if test="request.regionIds != null and request.regionIds.size() > 0">
and a.region_id in
<foreach collection="request.regionIds" item="regionId" index="index" open="(" separator="," close=")">
#{regionId}
</foreach>
</if>
<if test="request.areaCode!=null and request.areaCode!=''">
and (a.province_code = #{request.areaCode} or a.city_code = #{request.areaCode} or a.district_code = #{request.areaCode})
</if>
order by a.id desc
</select>
<select id="getSelectedShopNum" resultType="com.cool.store.dto.point.LineCountDTO">
select
select
line_id as lineId,
count(1) as selectedShopNum
from xfsg_point_info
where deleted = 0 and select_status = 1 and point_status !=7 and line_id in
<foreach collection="lineIds" item="lineId" index="index" open="(" separator="," close=")">
#{lineId}
</foreach>
group by line_id
from xfsg_point_info
where deleted = 0 and select_status = 1 and point_status !=7 and line_id in
<foreach collection="lineIds" item="lineId" index="index" open="(" separator="," close=")">
#{lineId}
</foreach>
group by line_id
</select>
<select id="getPointListByIds" resultMap="BaseResultMap">
select
<include refid="allColumn"/>
from xfsg_point_info
where deleted = 0 and id in
<foreach collection="pointIds" item="pointId" index="index" open="(" separator="," close=")">
#{pointId}
</foreach>
</select>
<select id="getRecommendPointList" resultType="com.cool.store.entity.PointInfoDO">
select
<include refid="allColumn"/>
from xfsg_point_info
where deleted = 0 and point_status in (4,5) and development_manager = #{request.developmentManager} and select_status = 0
<if test="request.pointStatusList != null and request.pointStatusList.size() > 0">
and point_status in
<foreach collection="request.pointStatusList" item="pointStatus" separator="," open="(" close=")">
#{pointStatus}
</foreach>
</if>
</select>
<update id="updateSelectedDevelopmentManager">
update
xfsg_point_info
set
development_manager = #{developmentManager}
where
shop_id = #{shopId} and select_status = '1' and deleted = 0
</update>
<select id="getTeamPointPage" resultMap="BaseResultMap">
select
id,
point_name,
point_code,
address,
region_id,
point_status,
point_score,
point_area,
development_manager,
operate_user_id,
development_time,
select_status,
create_time,
update_time
from
xfsg_point_info
where deleted = 0 and point_status in (4,5,6,7)
<if test="request.keyword != null and request.keyword != ''">
and (point_code like concat('%', #{request.keyword}, '%') or point_name like concat('%', #{request.keyword}, '%'))
</if>
<if test="request.developmentManager != null and request.developmentManager != ''">
and development_manager = #{request.developmentManager}
</if>
<if test="request.pointStatus != null and request.pointStatus != ''">
and point_status = #{request.pointStatus}
</if>
<if test="request.createStartTime != null and request.createStartTime != ''">
and create_time >= #{request.createStartTime}
</if>
<if test="request.createEndTime != null and request.createEndTime != ''">
<![CDATA[and create_time <= #{request.createEndTime}]]>
</if>
<if test="request.regionIds != null and request.regionIds.size() > 0">
and region_id in
<foreach collection="request.regionIds" item="regionId" index="index" open="(" separator="," close=")">
#{regionId}
<select id="getPointListByIds" resultMap="BaseResultMap">
select
<include refid="allColumn"/>
from xfsg_point_info
where deleted = 0 and id in
<foreach collection="pointIds" item="pointId" index="index" open="(" separator="," close=")">
#{pointId}
</foreach>
</if>
<if test="request.authRegionIds != null and request.authRegionIds.size() > 0">
and region_id in
<foreach collection="request.authRegionIds" item="regionId" index="index" open="(" separator="," close=")">
#{regionId}
</foreach>
</if>
order by id desc
</select>
</select>
<select id="getRecommendPointList" resultType="com.cool.store.dto.PCPointListDTO">
select
<include refid="allColumn"/>
from xfsg_point_info
where deleted = 0 and point_status in (4,5) and development_manager = #{request.developmentManager} and
select_status = 0
<if test="request.pointStatusList != null and request.pointStatusList.size() > 0">
and point_status in
<foreach collection="request.pointStatusList" item="pointStatus" separator="," open="(" close=")">
#{pointStatus}
</foreach>
</if>
</select>
<update id="updateSelectedDevelopmentManager">
update
xfsg_point_info
set
development_manager = #{developmentManager}
where
shop_id = #{shopId} and select_status = '1' and deleted = 0
</update>
<select id="getTeamPointPage" resultType="com.cool.store.dto.PCPointListDTO">
select
a.id,
a.point_name,
a.point_code,
a.address,
a.region_id,
a.point_status,
a.point_score,
a.point_area,
a.development_manager,
a.operate_user_id,
a.development_time,
a.select_status,
a.create_time,
a.update_time,
a.opportunity_point_code,
a.opportunity_point_name,
c.store_name as openName
from xfsg_point_info a
left join xfsg_shop_info b on a.shop_id = b.id
left join store_${eid} c on b.shop_code = c.store_num
where a.deleted = 0 and a.point_status in (4,5,6,7)
<if test="request.keyword != null and request.keyword != ''">
and (a.point_code like concat('%', #{request.keyword}, '%') or a.point_name like concat('%', #{request.keyword},
'%'))
</if>
<if test="request.developmentManager != null and request.developmentManager != ''">
and a.development_manager = #{request.developmentManager}
</if>
<if test="request.pointStatus != null and request.pointStatus != ''">
and a.point_status = #{request.pointStatus}
</if>
<if test="request.createStartTime != null and request.createStartTime != ''">
and a.create_time >= #{request.createStartTime}
</if>
<if test="request.createEndTime != null and request.createEndTime != ''">
<![CDATA[and a.create_time <= #{request.createEndTime}]]>
</if>
<if test="request.regionIds != null and request.regionIds.size() > 0">
and a.region_id in
<foreach collection="request.regionIds" item="regionId" index="index" open="(" separator="," close=")">
#{regionId}
</foreach>
</if>
<if test="request.authRegionIds != null and request.authRegionIds.size() > 0">
and a.region_id in
<foreach collection="request.authRegionIds" item="regionId" index="index" open="(" separator="," close=")">
#{regionId}
</foreach>
</if>
<if test="request.storageStatus != null ">
and a.storage_status = #{request.storageStatus}
</if>
<if test="request.areaCode!=null and request.areaCode!=''">
and (a.province_code = #{request.areaCode} or a.city_code = #{request.areaCode} or a.district_code = #{request.areaCode})
</if>
order by a.id desc
</select>
<select id="getDataByShopIdAndLineId" resultType="com.cool.store.entity.PointInfoDO">
SELECT
<include refid="allColumn"/>
FROM xfsg_point_info
WHERE shop_id = #{shopId}
AND line_id = #{lineId}
AND deleted = 0
SELECT
<include refid="allColumn"/>
FROM xfsg_point_info
WHERE shop_id = #{shopId}
AND line_id = #{lineId}
AND deleted = 0
</select>
<select id="MiniPointPageVO" resultType="com.cool.store.vo.point.MiniPointPageVO">
select a.id as pointId,
a.point_name as pointName,
a.point_code as pointCode,
a.longitude as longitude,
a.latitude as latitude,
a.address as address,
a.create_time as createTime,
a.opportunity_point_code as opportunityPointCode,
a.opportunity_point_name as opportunityPointName,
c.picture_obj as pictureObj,
a.point_area as pointArea,
c.landlord_mobile as landlordMobile,
c.month_rent as monthRent,
d.store_name as openShopName
from xfsg_point_info a
left JOIN xfsg_shop_info b ON a.shop_id = b.id
LEFT JOIN xfsg_point_detail_info c on a.id = c.point_id
left JOIN store_${enterpriseId} d ON b.shop_code = d.store_num
where a.deleted = 0
<if test="request.areaCode!=null and request!=''">
and (a.province_code = #{request.areaCode} or a.city_code = #{request.areaCode} or a.district_code =
#{request.areaCode})
</if>
</select>
<select id="getPointByOpportunityPointCode" resultType="com.cool.store.vo.point.MiniPointPageVO">
select a.id as pointId,
a.point_name as pointName,
a.point_code as pointCode,
a.longitude as longitude,
a.latitude as latitude,
a.address as address,
a.create_time as createTime,
a.opportunity_point_code as opportunityPointCode,
a.opportunity_point_name as opportunityPointName,
c.picture_obj as pictureObj,
a.point_area as pointArea,
c.landlord_mobile as landlordMobile,
c.month_rent as monthRent
from xfsg_point_info a
LEFT JOIN xfsg_point_detail_info c on a.id = c.point_id
where a.opportunity_point_code = #{code}
</select>
<select id="getShopByOpportunityPointCode" resultType="com.cool.store.dto.MiniShopDTO">
select c.store_name as shopName,
c.store_address as address
from xfsg_point_info a
inner join xfsg_shop_info b on a.shop_id = b.id
inner join store_${enterpriseId} c on b.shop_code = c.store_num
where a.opportunity_point_code = #{code}
</select>
<select id="getRecommendOrMyList" resultType="com.cool.store.vo.point.MiniPointPageVO">
select
a.id as pointId,
a.point_name as pointName,
a.point_code as pointCode,
a.longitude as longitude,
a.latitude as latitude,
a.address as address,
a.create_time as createTime,
a.opportunity_point_code as opportunityPointCode,
a.opportunity_point_name as opportunityPointName,
c.picture_obj as pictureObj,
a.point_area as pointArea,
c.landlord_mobile as landlordMobile,
c.month_rent as monthRent
from xfsg_point_info a
LEFT JOIN xfsg_point_detail_info c on a.id = c.point_id
where a.deleted = 0
<if test = "request.keyword!=null and request.keyword !=''">
and a.point_name like concat('%', #{request.keyword}, '%')
</if>
<if test = "request.type == 1">
and a.point_status in( 4,5)
</if>
<if test="request.type == 2">
and a.line_id = #{request.lineId}
</if>
<if test="request.areaCode!=null and request!=''">
and (a.province_code = #{request.areaCode} or a.city_code = #{request.areaCode} or a.district_code =
#{request.areaCode})
</if>
</select>
<update id="recyclePoint">
update xfsg_point_info set line_id = null, shop_id = null, select_status = 0, update_time = now(), point_status = if(point_status = 6, 5, point_status) where id = #{pointId}
</update>
<update id="perfectPointInfo">
update
xfsg_point_info
set
point_name = #{request.pointName},
region_id = #{request.regionId},
point_area = #{request.pointArea},
latitude = #{request.latitude},
longitude = #{request.longitude},
address = #{request.address},
province = #{request.province},
city = #{request.city},
district = #{request.district},
township = #{request.township},
point_score = #{request.pointScore}
where id = #{request.id}
</update>
update xfsg_point_info set line_id = null, shop_id = null, select_status = 0, update_time = now(), point_status
= if(point_status = 6, 5, point_status) where id = #{pointId}
</update>
<update id="perfectPointInfo">
update
xfsg_point_info
set
point_name = #{request.pointName},
region_id = #{request.regionId},
point_area = #{request.pointArea},
latitude = #{request.latitude},
longitude = #{request.longitude},
address = #{request.address},
province = #{request.province},
city = #{request.city},
district = #{request.district},
township = #{request.township},
point_score = #{request.pointScore},
opportunity_point_code = #{request.opportunityPointCode},
opportunity_point_name = #{request.opportunityPointName},
province_code = #{request.provinceCode},
city_code = #{request.cityCode},
district_code = #{request.districtCode},
point_location = #{request.pointLocation}
where id = #{request.id}
</update>
</mapper>

View File

@@ -1,196 +1,203 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.PointRecommendMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.PointRecommendDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="line_id" jdbcType="BIGINT" property="lineId" />
<result column="shop_id" jdbcType="BIGINT" property="shopId" />
<result column="point_id" jdbcType="BIGINT" property="pointId" />
<result column="development_manager" jdbcType="VARCHAR" property="developmentManager" />
<result column="status" jdbcType="TINYINT" property="status" />
<result column="reason" jdbcType="VARCHAR" property="reason" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<resultMap id="BaseResultMap" type="com.cool.store.entity.PointRecommendDO">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="line_id" jdbcType="BIGINT" property="lineId"/>
<result column="shop_id" jdbcType="BIGINT" property="shopId"/>
<result column="point_id" jdbcType="BIGINT" property="pointId"/>
<result column="development_manager" jdbcType="VARCHAR" property="developmentManager"/>
<result column="status" jdbcType="TINYINT" property="status"/>
<result column="reason" jdbcType="VARCHAR" property="reason"/>
<result column="deleted" jdbcType="BIT" property="deleted"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="allColumn">
id, line_id,shop_id, point_id, development_manager, status, reason, deleted, create_time, update_time
</sql>
<sql id="allColumn">
id, line_id,shop_id, point_id, development_manager, status, reason, deleted, create_time, update_time
</sql>
<update id="updateShopPointRecommendStatus">
update xfsg_point_recommend set status = #{status} where point_id = #{pointId} and deleted = 0
<if test="excludeStatus != null and excludeStatus.size()>0">
and status not in
<foreach collection="excludeStatus" separator="," open="(" close=")" item="status">
#{status}
</foreach>
</if>
</update>
<update id="updateShopPointRecommendStatus">
update xfsg_point_recommend set status = #{status} where point_id = #{pointId} and deleted = 0
<if test="excludeStatus != null and excludeStatus.size()>0">
and status not in
<foreach collection="excludeStatus" separator="," open="(" close=")" item="status">
#{status}
</foreach>
</if>
</update>
<update id="updateRecommendStatusByStatusAndPointId">
update xfsg_point_recommend set status = #{status} where point_id = #{pointId} and deleted = 0 and status in
<foreach collection="statusList" item="status" index="index" open="(" separator="," close=")">
#{status}
</foreach>
</update>
<update id="updateRecommendStatusByStatusAndPointId">
update xfsg_point_recommend set status = #{status} where point_id = #{pointId} and deleted = 0 and status in
<foreach collection="statusList" item="status" index="index" open="(" separator="," close=")">
#{status}
</foreach>
</update>
<select id="getPushShopNumMap" resultType="com.cool.store.dto.point.LineCountDTO">
select
line_id as lineId,
count(1) as recommendShopNum
from
xfsg_point_recommend
where
deleted = 0 and line_id in
<foreach collection="lineIds" item="lineId" index="index" open="(" separator="," close=")">
#{lineId}
</foreach>
group by line_id
</select>
<select id="getPushShopNumMap" resultType="com.cool.store.dto.point.LineCountDTO">
select
line_id as lineId,
count(1) as recommendShopNum
from
xfsg_point_recommend
where
deleted = 0 and line_id in
<foreach collection="lineIds" item="lineId" index="index" open="(" separator="," close=")">
#{lineId}
</foreach>
group by line_id
</select>
<select id="getShopPushPointNumMap" resultType="com.cool.store.dto.point.ShopCountDTO">
select
shop_id as shopId,
count(1) as recommendShopNum
from
xfsg_point_recommend
where
deleted = 0 and shop_id in
<foreach collection="shopIds" item="shopId" index="index" open="(" separator="," close=")">
#{shopId}
</foreach>
group by shop_id
</select>
<select id="getShopPushPointNumMap" resultType="com.cool.store.dto.point.ShopCountDTO">
select
shop_id as shopId,
count(1) as recommendShopNum
from
xfsg_point_recommend
where
deleted = 0 and shop_id in
<foreach collection="shopIds" item="shopId" index="index" open="(" separator="," close=")">
#{shopId}
</foreach>
group by shop_id
</select>
<select id="getRecommendPointList" resultMap="BaseResultMap">
select
id,
point_id,
line_id,
development_manager,
status,
reason
from
xfsg_point_recommend
where
line_id = #{lineId} and deleted = 0
</select>
<select id="getRecommendPointList" resultMap="BaseResultMap">
select
id,
point_id,
line_id,
development_manager,
status,
reason
from
xfsg_point_recommend
where
line_id = #{lineId} and deleted = 0
</select>
<select id="getShopRecommendPointList" resultMap="BaseResultMap">
select
id,
point_id,
line_id,
development_manager,
status,
reason
from
xfsg_point_recommend
where
shop_id = #{shopId} and deleted = 0
</select>
<select id="getShopRecommendPointList" resultMap="BaseResultMap">
select
id,
point_id,
line_id,
development_manager,
status,
reason
from
xfsg_point_recommend
where
shop_id = #{shopId} and deleted = 0
</select>
<insert id="batchInsert">
<foreach collection="recommendList" item="item" index="index" separator=";">
insert into xfsg_point_recommend (shop_id, point_id, development_manager, status)
values (#{item.shopId}, #{item.pointId}, #{item.developmentManager}, #{item.status})
</foreach>
</insert>
<insert id="batchInsert">
<foreach collection="recommendList" item="item" index="index" separator=";">
insert into xfsg_point_recommend (shop_id, point_id, development_manager, status)
values (#{item.shopId}, #{item.pointId}, #{item.developmentManager}, #{item.status})
</foreach>
</insert>
<update id="turnLineUpdateRecommendStatus">
update
xfsg_point_recommend
set
deleted = if(status = 1, 1, deleted),
development_manager = if(status in (2,4), #{developmentManager}, development_manager)
where
shop_id = #{shopId}
</update>
<update id="turnLineUpdateRecommendStatus">
update
xfsg_point_recommend
set
deleted = if(status = 1, 1, deleted),
development_manager = if(status in (2,4), #{developmentManager}, development_manager)
where
shop_id = #{shopId}
</update>
<select id="getLineRecommendPointPage" resultType="com.cool.store.dto.point.MiniPointPageDTO">
select
p.id as pointId,
pr.line_id as lineId,
p.point_name as pointName,
p.point_code as pointCode,
p.region_id as regionId,
p.address as address,
p.point_score as pointScore,
p.point_area as pointArea,
p.point_status as pointStatus,
p.select_status as selectStatus,
pr.status as recommendStatus
from
xfsg_point_recommend pr
<select id="getLineRecommendPointPage" resultType="com.cool.store.dto.point.MiniPointPageDTO">
select
p.id as pointId,
pr.line_id as lineId,
p.point_name as pointName,
p.point_code as pointCode,
p.region_id as regionId,
p.longitude as longitude,
p.latitude as latitude,
p.address as address,
p.point_score as pointScore,
p.point_area as pointArea,
p.point_status as pointStatus,
p.select_status as selectStatus,
p.create_time as createTime,
p.opportunity_point_code as opportunityPointCode,
p.opportunity_point_name as opportunityPointName,
c.picture_obj as pictureObj,
pr.status as recommendStatus
from
xfsg_point_recommend pr
inner join xfsg_point_info p on p.id = pr.point_id
where
p.deleted = 0 and pr.shop_id = #{request.shopId} and pr.deleted = 0
<if test="request.status != null and request.status == 1">
and pr.status = 1 and p.select_status = 0
</if>
<if test="request.status != null and request.status == 2">
and pr.status = 2 and p.select_status = 1 and p.shop_id = #{request.shopId}
</if>
<if test="request.status != null and request.status == 3">
and pr.status in (5, 6)
</if>
</select>
left join xfsg_point_detail_info c on p.id = c.point_id
where
p.deleted = 0 and pr.shop_id = #{request.shopId} and pr.deleted = 0
<if test="request.status != null and request.status == 1">
and pr.status = 1 and p.select_status = 0
</if>
<if test="request.status != null and request.status == 2">
and pr.status = 2 and p.select_status = 1 and p.shop_id = #{request.shopId}
</if>
<if test="request.status != null and request.status == 3">
and pr.status in (5, 6)
</if>
</select>
<update id="updateStatusByPointIdAndLineId">
update
xfsg_point_recommend
set
status = if(shop_id = #{shopId}, 2, 3)
where point_id = #{pointId} and deleted = 0 and status = 1
</update>
<update id="updateStatusByPointIdAndLineId">
update
xfsg_point_recommend
set
status = if(shop_id = #{shopId}, 2, 3)
where point_id = #{pointId} and deleted = 0 and status = 1
</update>
<update id="rejectPoint">
update
xfsg_point_recommend
set
status = 5,
reason = #{reason}
where point_id = #{pointId} and shop_id = #{shopId} and deleted = 0 and status = 1
</update>
<select id="getRecommendPointListByPointId" resultMap="BaseResultMap">
select
<include refid="allColumn"/>
from
xfsg_point_recommend
where
point_id = #{pointId} and deleted = 0
</select>
<update id="rejectPoint">
update
xfsg_point_recommend
set
status = 5,
reason = #{reason}
where point_id = #{pointId} and shop_id = #{shopId} and deleted = 0 and status = 1
</update>
<select id="getAllRecommendPointList" resultMap="BaseResultMap">
select
<include refid="allColumn"/>
from
xfsg_point_recommend
<where>
and (shop_id = 0 or shop_id is null)
<if test="lineId!=null">
and line_id = #{lineId}
</if>
</where>
</select>
<select id="getRecommendPointListByPointId" resultMap="BaseResultMap">
select
<include refid="allColumn"/>
from
xfsg_point_recommend
where
point_id = #{pointId} and deleted = 0
</select>
<select id="getAllRecommendPointList" resultMap="BaseResultMap">
select
<include refid="allColumn"/>
from
xfsg_point_recommend
<where>
and (shop_id = 0 or shop_id is null)
<if test="lineId!=null">
and line_id = #{lineId}
</if>
</where>
</select>
<update id="batchUpdateShopId">
update xfsg_point_recommend
set
shop_id = case id
<foreach collection="recommendList" item="item" index="index" >
when #{item.id} then #{item.shopId}
</foreach>
end
where
id in
<foreach collection="recommendList" item="entity" open="(" separator="," close=")">
#{entity.id}
</foreach>
</update>
<update id="batchUpdateShopId">
update xfsg_point_recommend
set
shop_id = case id
<foreach collection="recommendList" item="item" index="index">
when #{item.id} then #{item.shopId}
</foreach>
end
where
id in
<foreach collection="recommendList" item="entity" open="(" separator="," close=")">
#{entity.id}
</foreach>
</update>
</mapper>

View File

@@ -69,7 +69,7 @@
update xfsg_point_todo_info set status = if(handler_user_id = #{handlerUserId}, 1, 2), update_time = now() where point_id = #{pointId} and node_no = #{nodeNo} and cycle_count = #{cycleCount} and deleted = 0
</update>
<select id="getUserTodoList" resultType="com.cool.store.entity.PointInfoDO">
<select id="getUserTodoList" resultType="com.cool.store.dto.PCPointListDTO">
select
b.id,
b.point_name,

View File

@@ -67,6 +67,7 @@
<if test="request.companyRegisteredAddress != null">company_registered_address,</if>
<if test="request.officeAddress != null">office_address,</if>
<if test="request.legalName != null">legal_name,</if>
<if test="request.legalMobile != null">legal_mobile,</if>
<if test="request.legalIdCardNo != null">legal_id_card_no,</if>
<if test="request.legalIdCardFront != null">legal_id_card_front,</if>
<if test="request.legalIdCardBack != null">legal_id_card_back,</if>
@@ -100,6 +101,7 @@
<if test="request.companyRegisteredAddress != null">#{request.companyRegisteredAddress},</if>
<if test="request.officeAddress != null">#{request.officeAddress},</if>
<if test="request.legalName != null">#{request.legalName},</if>
<if test="request.legalMobile != null">#{request.legalMobile},</if>
<if test="request.legalIdCardNo != null">#{request.legalIdCardNo},</if>
<if test="request.legalIdCardFront != null">#{request.legalIdCardFront},</if>
<if test="request.legalIdCardBack != null">#{request.legalIdCardBack},</if>
@@ -134,6 +136,7 @@
<if test="request.companyRegisteredAddress != null">company_registered_address = #{request.companyRegisteredAddress},</if>
<if test="request.officeAddress != null">office_address = #{request.officeAddress},</if>
<if test="request.legalName != null">legal_name = #{request.legalName},</if>
<if test="request.legalMobile != null">legal_mobile = #{request.legalMobile},</if>
<if test="request.legalIdCardNo != null">legal_id_card_no = #{request.legalIdCardNo},</if>
<if test="request.legalIdCardFront != null">legal_id_card_front = #{request.legalIdCardFront},</if>
<if test="request.legalIdCardBack != null">legal_id_card_back = #{request.legalIdCardBack},</if>

View File

@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.ShopAccountMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.ShopAccountDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="shop_id" jdbcType="INTEGER" property="shopId" />
<result column="system_name" jdbcType="VARCHAR" property="systemName" />
<result column="account" jdbcType="VARCHAR" property="account" />
<result column="bound_phone" jdbcType="VARCHAR" property="boundPhone" />
<result column="password_salt" jdbcType="VARCHAR" property="passwordSalt" />
<result column="password" jdbcType="VARCHAR" property="password" />
<result column="status" jdbcType="BIT" property="status" />
<result column="entry_status" jdbcType="TINYINT" property="entryStatus" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="last_sync_time" jdbcType="TIMESTAMP" property="lastSyncTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
</resultMap>
<!-- 批量新增 -->
<insert id="batchInsert">
INSERT INTO xfsg_shop_account (
shop_id,
system_name,
account,
bound_phone,
password_salt,
password,
status,
entry_status,
last_sync_time,
remark
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.shopId},
#{item.systemName},
#{item.account},
#{item.boundPhone},
#{item.passwordSalt},
#{item.password},
#{item.status},
#{item.entryStatus},
#{item.lastSyncTime},
#{item.remark}
)
</foreach>
</insert>
<!-- 根据shopId查询多条数据 -->
<select id="selectByShopId" resultMap="BaseResultMap">
SELECT
id,
shop_id,
system_name,
account,
bound_phone,
password_salt,
password,
status,
entry_status,
create_time,
last_sync_time,
remark
FROM
xfsg_shop_account
WHERE
shop_id = #{shopId}
order by id
</select>
<select id="selectByShopIdAndSystemName" resultMap="BaseResultMap">
SELECT
id,
shop_id,
system_name,
account,
bound_phone,
password_salt,
password,
status,
entry_status,
create_time,
last_sync_time,
remark
FROM
xfsg_shop_account
WHERE
shop_id = #{shopId}
and system_name = #{systemName}
</select>
<!-- 根据shopId与system_name修改status -->
<update id="updateStatusByShopIdAndSystemName">
UPDATE
xfsg_shop_account
<set>
<if test="status != null">
status = #{status},
</if>
<if test="syncTime != null">
last_sync_time = #{syncTime},
</if>
<if test="ylsCode != null">
account = #{ylsCode},
</if>
</set>
WHERE
shop_id = #{shopId}
and system_name in
<foreach close=")" collection="systemNameList" item="systemName" open="(" separator=",">
#{systemName}
</foreach>
</update>
<update id="updateEntryStatusByShopIdAndSystemName">
UPDATE
xfsg_shop_account
SET
entry_status = #{entryStatus,jdbcType=BIT}
WHERE
shop_id = #{shopId}
and system_name in
<foreach close=")" collection="systemNameList" item="systemName" open="(" separator=",">
#{systemName}
</foreach>
</update>
<update id="updateAccountByShopIdAndSystemName">
UPDATE
xfsg_shop_account
SET
account = #{account},
password = #{password},
status = #{status}
WHERE
shop_id = #{shopId}
AND system_name = #{systemName}
</update>
<!-- 批量修改密码和密码盐 -->
<update id="batchUpdatePasswordByShopIds">
UPDATE
xfsg_shop_account
SET
password = #{password},
secondary_password = #{secondaryPassword},
password_salt = #{passwordSalt},
last_sync_time = #{lastSyncTime,jdbcType=TIMESTAMP}
WHERE
system_name in ('火码POS','云流水','新掌柜')
and shop_id IN
<foreach close=")" collection="shopIds" item="shopId" open="(" separator=",">
#{shopId}
</foreach>
</update>
<select id="getALlFail">
select * from xfsg_shop_account WHERE
system_name in ('火码POS')
and status = 6
</select>
</mapper>

View File

@@ -173,6 +173,12 @@
from xfsg_shop_info
where store_num = #{storeNum}
</select>
<select id="selectByStoreCode" resultType="com.cool.store.entity.ShopInfoDO">
select
<include refid="allColumn"/>
from xfsg_shop_info
where shop_code = #{storeCode}
</select>
<select id="selectShopListByRegionId" resultType="com.cool.store.entity.ShopInfoDO">
select
xsi.id,xsi.line_id as lineId,xsi.region_id as regionId,xsi.shop_name as shopName,xsi.store_num as
@@ -216,11 +222,13 @@
xsi.deleted = 0
and xssi.shop_stage = 3
and xssi.shop_sub_stage_status != -100
and
xsi.region_id in
<foreach collection="list" open="(" separator="," close=")" index="index" item="item">
#{item}
</foreach>
<if test="list !=null and list.size >0">
and
xsi.region_id in
<foreach collection="list" open="(" separator="," close=")" index="index" item="item">
#{item}
</foreach>
</if>
<if test="request.shopKeyword != null and request.shopKeyword != ''">
and (xsi.shop_name like concat("%",#{request.shopKeyword},"%") or xsi.shop_code like
concat("%",#{request.shopKeyword},"%"))
@@ -281,7 +289,8 @@
a.create_time as createTime,
a.join_mode as joinMode,
a.franchise_brand as franchiseBrand,
a.shop_status as shopStatus
a.shop_status as shopStatus,
a.detail_address as shopAddress
from xfsg_shop_info a left join xfsg_line_info b on a.line_id = b.id
where a.deleted = 0
<if test="request.partnerKeyword != null and request.partnerKeyword != ''">
@@ -407,6 +416,44 @@
#{item}
</foreach>
</select>
<select id="getShopIdBySuccessOpen" resultType="com.cool.store.entity.ShopInfoDO">
select a.id as id, a.partner_id as partnerId
from xfsg_shop_info a
inner join store_${eid} b on a.shop_code = b.store_num
</select>
<select id="getShopListSuccessOpen" resultType="com.cool.store.response.MiniShopsResponse">
select a.shop_name as shopName,
a.id as shopId,
a.shop_code as shopCode
from xfsg_shop_info a
inner join store_${eid} c on a.shop_code = c.store_num
where a.line_id = #{lineId}
</select>
<select id="getOpenName" resultType="java.lang.String">
select b.store_name
from xfsg_shop_info a
inner join store_${eid} b on a.shop_code = b.store_num
where a.id = #{shopId}
</select>
<select id="getShopCodeList" resultType="java.lang.String">
select shop_code
from xfsg_shop_info
where deleted = 0 and line_id = #{lineId} and shop_code is not null
</select>
<select id="currentShopWhetherOpen" resultType="com.cool.store.response.MiniShopsResponse">
select a.shop_name as shopName,
a.shop_code as shopCode
from xfsg_shop_info a
inner join store_${eid} b on a.shop_code = b.store_num
where a.id = #{shopId}
</select>
<select id="getShopIdList" resultType="java.lang.String">
select id
from xfsg_shop_info
where deleted = 0 and line_id = #{lineId} and shop_code is not null
</select>
<update id="batchUpdate" parameterType="list">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
@@ -421,4 +468,7 @@
WHERE id = #{item.id}
</foreach>
</update>
<update id="updateShopCode">
update xfsg_shop_info set shop_code = #{shopCode} where id = #{shopId}
</update>
</mapper>

View File

@@ -55,7 +55,7 @@
from
xfsg_shop_stage_info
where
shop_id = #{shopId} and deleted = 0
shop_id = #{shopId} and deleted = 0 and shop_sub_stage !=85
<if test="shopStage != null">
and shop_stage = #{shopStage}
</if>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--mybatis-3-mapper.dtd:约束文件的名称限制和检查在当前文件中出现的标签和属性符合mybatis的要求-->
<!--namespace命名空间要有唯一的值要求使用dao接口的权限定名称一个dao接口对应一个mappernamespace指明对应哪个dao接口-->
<mapper namespace="com.cool.store.mapper.TallyBookDetailMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.TallyBookDetailDO">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="tally_book_id" property="tallyBookId" jdbcType="BIGINT"/>
<result column="field_name" property="fieldName" jdbcType="VARCHAR"/>
<result column="field_value" property="fieldValue" jdbcType="DECIMAL"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
</resultMap>
<insert id="batchInsert">
insert into xfsg_tally_book_detail (tally_book_id, field_name, field_value, create_time, update_time)
values
<foreach collection="list" item="item" separator=",">
(#{item.tallyBookId,jdbcType=BIGINT},
#{item.fieldName,jdbcType=VARCHAR},
#{item.fieldValue,jdbcType=DECIMAL},
#{item.createTime,jdbcType=TIMESTAMP},
#{item.updateTime,jdbcType=TIMESTAMP})
</foreach>
</insert>
</mapper>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--mybatis-3-mapper.dtd:约束文件的名称限制和检查在当前文件中出现的标签和属性符合mybatis的要求-->
<!--namespace命名空间要有唯一的值要求使用dao接口的权限定名称一个dao接口对应一个mappernamespace指明对应哪个dao接口-->
<mapper namespace="com.cool.store.mapper.TallyBookMapper">
<!-- 所有的数据库操作都要写在mapper标签中可以使用特定的标签表示数据库中的特定操作 -->
<resultMap id="BaseResultMap" type="com.cool.store.entity.TallyBookDO">
<!-- 主键字段 -->
<id property="id" column="id" jdbcType="BIGINT" />
<!-- 普通字段 -->
<result property="partnerId" column="partner_id" jdbcType="VARCHAR" />
<result property="shopId" column="shop_id" jdbcType="BIGINT" />
<result property="year" column="year" jdbcType="INTEGER" />
<result property="month" column="month" jdbcType="INTEGER" />
<result property="createTime" column="create_time" jdbcType="TIMESTAMP" />
<result property="createUser" column="create_user" jdbcType="VARCHAR" />
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP" />
<result property="updateUser" column="update_user" jdbcType="VARCHAR" />
<result property="status" column="status" jdbcType="TINYINT"/>
<result property="total" column="total" jdbcType="DECIMAL"/>
<result property="operatorName" column="operator_name" jdbcType="VARCHAR"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--mybatis-3-mapper.dtd:约束文件的名称限制和检查在当前文件中出现的标签和属性符合mybatis的要求-->
<!--namespace命名空间要有唯一的值要求使用dao接口的权限定名称一个dao接口对应一个mappernamespace指明对应哪个dao接口-->
<mapper namespace="com.cool.store.mapper.WarehouseInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.WarehouseInfoDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="warehouse_code" jdbcType="VARCHAR" property="warehouseCode" />
<result column="warehouse_name" jdbcType="VARCHAR" property="warehouseName" />
<result column="warehouse_remark" jdbcType="VARCHAR" property="warehouseRemark" />
<result column="warehouse_branches" jdbcType="VARCHAR" property="warehouseBranches" />
<result column="deleted" jdbcType="BIT" property="deleted" />
</resultMap>
<select id="getAllAndActive" resultType="com.cool.store.entity.WarehouseInfoDO">
select * from xfsg_warehouse_info where deleted = 0
<if test="keyword != null and keyword != ''">
and ( warehouse_name like concat('%',#{keyword},'%'))
</if>
</select>
<select id="getByCode" resultType="com.cool.store.entity.WarehouseInfoDO">
select * from xfsg_warehouse_info where warehouse_code = #{code}
</select>
</mapper>

View File

@@ -0,0 +1,29 @@
package com.cool.store.dto;
import com.cool.store.enums.ShopAccountEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Author suzhuhong
* @Date 2025/4/8 20:32
* @Version 1.0
*/
@Data
public class AccountAuditDTO {
@ApiModelProperty(value = "门店ID",required = true)
@NotNull(message = "门店ID不能为空")
private Long shopId;
@ApiModelProperty("审核标识 1-通过 2-拒绝 推送数据时不需要传 审核开通数据时必传")
private Integer auditFlag;
@ApiModelProperty(value = "HUOMA-火码 YLS-云流水 XZG-新掌柜" ,required = true)
private ShopAccountEnum shopAccountEnum;
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.dto;
import com.cool.store.enums.ShopAccountEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Author suzhuhong
* @Date 2025/4/8 21:13
* @Version 1.0
*/
@Data
public class AccountEntryStatusAuditDTO {
@ApiModelProperty(value = "门店ID",required = true)
@NotNull(message = "门店ID不能为空")
private Long shopId;
@ApiModelProperty(value = "审核标识 1-通过 2-拒绝",required = true)
private Integer auditFlag;
}

View File

@@ -0,0 +1,29 @@
package com.cool.store.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author suzhuhong
* @Date 2025/4/8 21:15
* @Version 1.0
*/
@Data
public class AccountEntryStatusChangeDTO {
@ApiModelProperty(value = "门店ID" ,required = true)
@NotNull(message = "门店ID不能为空")
private Long shopId;
@ApiModelProperty(value = "进件状态 5-进件成功 6-进件失败",required = true)
@Max(6)
@Min(5)
private Integer entryStatus;
}

View File

@@ -0,0 +1,15 @@
package com.cool.store.dto;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/4/17 15:13
* @Version 1.0
*/
@Data
public class AskBotTokenDTO {
private String shopCode;
}

View File

@@ -0,0 +1,20 @@
package com.cool.store.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: WangShuo
* @Date: 2025/04/16/20:46
* @Version 1.0
* @注释:
*/
@Data
public class DeclareGoodsDateDTO {
@ApiModelProperty(value = "报货日期,例如:星期一(星期六,星期天)/每月1号")
private String declareGoods;
@ApiModelProperty(value = "报货日期,例如:星期一(星期六,星期天)/每月1号")
private String deliverGoods;
}

View File

@@ -26,6 +26,10 @@ public class ExportBranchShopDTO {
@ColumnWidth(30)
private String shopName;
@ExcelProperty(value = "加盟签约店铺地址",order = 4)
@ColumnWidth(40)
private String shopAddress;
@ExcelProperty(value = "门店编号",order = 4)
@ColumnWidth(30)
private String shopCode;
@@ -77,9 +81,11 @@ public class ExportBranchShopDTO {
@ExcelProperty(value = "缴纳加盟费/保证金",order =15)
@ColumnWidth(30)
private String franchiseFeeStageStatus;
@ExcelProperty(value = "加盟合同签约",order =16)
@ColumnWidth(30)
private String signFranchiseStageStatus ;
@ExcelProperty(value = "签约时间",order =17)
@ColumnWidth(30)
private String signTime ;
@@ -100,91 +106,95 @@ public class ExportBranchShopDTO {
@ColumnWidth(30)
private String totalAmountContributions;
@ExcelProperty(value = "加盟费(取自账单)",order = 20)
@ExcelProperty(value = "加盟费优惠原因",order = 20)
@ColumnWidth(40)
private String discountReason;
@ExcelProperty(value = "加盟费(取自账单)",order = 21)
@ColumnWidth(30)
private String franchiseFeeBill;
@ExcelProperty(value = "加盟费(含税金额)",order = 21)
@ExcelProperty(value = "加盟费(含税金额)",order = 22)
@ColumnWidth(30)
private String franchiseFeeTax;
@ExcelProperty(value = "加盟费(不含税金额)",order = 22)
@ExcelProperty(value = "加盟费(不含税金额)",order = 23)
@ColumnWidth(30)
private String franchiseFee;
@ExcelProperty(value = "保证金(取自账单)",order = 23)
@ExcelProperty(value = "保证金(取自账单)",order = 24)
@ColumnWidth(30)
private String loanMargin;
@ExcelProperty(value = "第一年度管理费(取自账单)",order = 24)
@ExcelProperty(value = "第一年度管理费(取自账单)",order = 25)
@ColumnWidth(30)
private String firstYearManagementFeeBill;
@ExcelProperty(value = "第一年度管理费(含税金额)",order = 25)
@ExcelProperty(value = "第一年度管理费(含税金额)",order = 26)
@ColumnWidth(30)
private String firstYearManagementFeeTax;
@ExcelProperty(value = "第一年度管理费(不含税金额)",order = 26)
@ExcelProperty(value = "第一年度管理费(不含税金额)",order = 27)
@ColumnWidth(30)
private String firstYearManagementFee;
@ExcelProperty(value = "第一年度品牌费(取自账单)",order = 27)
@ExcelProperty(value = "第一年度品牌费(取自账单)",order = 28)
@ColumnWidth(30)
private String firstYearBrandingFeeBill;
@ExcelProperty(value = "第一年度品牌费(含税金额)",order = 28)
@ExcelProperty(value = "第一年度品牌费(含税金额)",order = 29)
@ColumnWidth(30)
private String firstYearBrandingFeeTax;
@ExcelProperty(value = "第一年度品牌费(不含税金额)",order = 29)
@ExcelProperty(value = "第一年度品牌费(不含税金额)",order = 30)
@ColumnWidth(30)
private String firstYearBrandingFee;
@ExcelProperty(value = "设计费(取自账单)",order = 30)
@ExcelProperty(value = "设计费(取自账单)",order = 31)
@ColumnWidth(30)
private String performanceBondBill;
@ExcelProperty(value = "设计费(含税金额)",order = 31)
@ExcelProperty(value = "设计费(含税金额)",order = 32)
@ColumnWidth(30)
private String designFeeTax;
@ExcelProperty(value = "设计费(不含税金额)",order = 32)
@ExcelProperty(value = "设计费(不含税金额)",order = 33)
@ColumnWidth(30)
private String designFee;
@ExcelProperty(value = "缴款人",order = 33)
@ExcelProperty(value = "缴款人",order = 34)
@ColumnWidth(30)
private String payUserName;
@ExcelProperty(value = "第1次缴纳时间",order = 33)
@ExcelProperty(value = "第1次缴纳时间",order = 35)
@ColumnWidth(30)
private String firstPayTime;
@ExcelProperty(value = "第2次缴纳时间",order = 34)
@ExcelProperty(value = "第2次缴纳时间",order = 36)
@ColumnWidth(30)
private String secondPayTime;
@ExcelProperty(value = "第3次缴纳时间",order = 35)
@ExcelProperty(value = "第3次缴纳时间",order = 37)
@ColumnWidth(30)
private String thirdPayTime;
@ExcelProperty(value = "第4次缴纳时间",order = 36)
@ExcelProperty(value = "第4次缴纳时间",order = 38)
@ColumnWidth(30)
private String fourthPayTime;
@ExcelProperty(value = "当前进度",order = 37)
@ExcelProperty(value = "当前进度",order = 39)
@ColumnWidth(30)
private String currentProgress;
@ExcelProperty(value = "状态",order = 38)
@ExcelProperty(value = "状态",order = 40)
@ColumnWidth(30)
private String shopStatus;
@ExcelProperty(value = "计划开店时间",order = 39)
@ExcelProperty(value = "计划开店时间",order = 41)
@ColumnWidth(30)
private String planOpenTime;
@ExcelProperty(value = "开店时长(天)",order =40)
@ExcelProperty(value = "开店时长(天)",order =42)
@ColumnWidth(30)
private String openDuration;

View File

@@ -15,6 +15,8 @@ import java.util.List;
*/
@Data
public class FranchiseFeeDTO {
private String discountReason;
private Long shopId;
//缴费时间
private Date payTime;

View File

@@ -0,0 +1,25 @@
package com.cool.store.dto;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/4/9 15:08
* @Version 1.0
*/
@Data
public class GetAccessTokenDTO {
private String mobile;
private String shopCode;
public GetAccessTokenDTO(){
}
public GetAccessTokenDTO(String mobile, String shopCode) {
this.mobile = mobile;
this.shopCode = shopCode;
}
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.dto;
import lombok.Data;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @Author: WangShuo
* @Date: 2025/04/10/11:30
* @Version 1.0
* @注释:
*/
@Data
public class GetUserDTO {
private String keyword;
private Integer pageNum =1;
private Integer pageSize = 10;
}

View File

@@ -0,0 +1,63 @@
package com.cool.store.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author: WangShuo
* @Date: 2025/04/08/09:42
* @Version 1.0
* @注释:
*/
@Data
public class HomeTemplateDTO {
/**
* 模块列表
*/
@ApiModelProperty(value = "模块列表")
private List<Module> moduleList;
@Data
public static class Module {
/**
* 模块的唯一标识符
*/
@ApiModelProperty(value = "模块的唯一标识符")
private String key;
/**
* 模块名称
*/
@ApiModelProperty(value = "模块名称")
private String name;
/**
* 是否可见
*/
@ApiModelProperty(value = "是否可见")
private Boolean visible;
/**
* 是否可拖动
*/
@ApiModelProperty(value = "是否可拖动")
private Boolean dragable;
/**
* 是否可配置
*/
@ApiModelProperty(value = "是否可配置")
private Boolean configurable;
/**
* 模块 ID
*/
@ApiModelProperty(value = "模块 ID")
private String id;
}
}

View File

@@ -0,0 +1,19 @@
package com.cool.store.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: WangShuo
* @Date: 2025/04/02/18:20
* @Version 1.0
* @注释:
*/
@Data
public class MiniShopDTO {
@ApiModelProperty("门店名称")
private String shopName;
@ApiModelProperty("地址")
private String address;
}

View File

@@ -0,0 +1,30 @@
package com.cool.store.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2025/4/7 16:31
* @Version 1.0
*/
@Data
public class ModifyPasswordDTO {
@ApiModelProperty(value = "手机号",hidden = true)
private String mobile;
@ApiModelProperty(value = "盐值",required = true)
String passwordSalt;
@ApiModelProperty(value = "密码",required = true)
String password;
@ApiModelProperty(value = "第二密码",required = true)
String secondaryPassword;
@ApiModelProperty(value = "门店ID",required = true)
Long shopId;
@ApiModelProperty(value = "门店ID",hidden = true)
List<String> shopCode;
}

View File

@@ -0,0 +1,16 @@
package com.cool.store.dto;
import com.cool.store.entity.PointInfoDO;
import lombok.Data;
/**
* @Author: WangShuo
* @Date: 2025/04/03/11:17
* @Version 1.0
* @注释:
*/
@Data
public class PCPointListDTO extends PointInfoDO {
private String openName;
}

View File

@@ -13,6 +13,8 @@ import java.util.Date;
@Data
public class PreparationDTO {
private String shopAddress;
private Long id;
private Long wantShopAreaId;

View File

@@ -0,0 +1,57 @@
package com.cool.store.dto.ShopAccount;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import java.util.Date;
/**
* @Author suzhuhong
* @Date 2025/4/7 15:53
* @Version 1.0
*/
@Data
public class ShopAccountDTO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("店铺ID")
private Long shopId;
@Column(name = "system_name")
@ApiModelProperty("系统名称")
private String systemName;
@ApiModelProperty("账号")
private String account;
@Column(name = "绑定的手机")
@ApiModelProperty("id")
private String boundPhone;
@ApiModelProperty("密码")
private String password;
@ApiModelProperty("状态1-开通资料收集中, 2-资料审核中, 3-资料审核失败, 4-开通中, 5-开通成功, 6-开通失败")
private Integer status;
@ApiModelProperty(" 只有火码需要 进件状态1-进件资料收集中, 2-进件资料审核中, 3-进件资料审核失败, 4-进件中, 5-进件成功, 6-进件失败")
private Integer entryStatus;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("最新同步时间")
private Date lastSyncTime;
@ApiModelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,20 @@
package com.cool.store.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: WangShuo
* @Date: 2025/04/09/13:42
* @Version 1.0
* @注释:
*/
@Data
public class ShopNameAndCodeDTO {
@ApiModelProperty("店铺名称")
private String shopName;
@ApiModelProperty("店铺编码")
private String shopCode;
}

View File

@@ -0,0 +1,24 @@
package com.cool.store.dto;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
/**
* @Author suzhuhong
* @Date 2025/4/7 16:55
* @Version 1.0
*/
@Data
public class StatusRefreshDTO {
@NotEmpty(message = "来源不能为空")
private String systemSource;
@NotEmpty(message = "门店编码不能为空")
private String shopCode;
@NotEmpty(message = "开通状态")
private Boolean openStatus;
}

View File

@@ -0,0 +1,50 @@
package com.cool.store.dto;
import com.alibaba.excel.util.CollectionUtils;
import com.cool.store.entity.TallyBookDO;
import com.cool.store.entity.TallyBookDetailDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
public class TallyBookDTO {
private Long id;
@ApiModelProperty(value = "加盟商ID")
@NotNull(message = "加盟商ID不能为空")
@Size(max = 64, message = "加盟商ID长度不能超过64个字符")
private String partnerId;
@ApiModelProperty(value = "店铺ID")
@NotNull(message = "店铺ID不能为空")
private Long shopId;
@ApiModelProperty(value = "")
@NotNull(message = "年不能为空")
private Integer year;
@ApiModelProperty(value = "")
@NotNull(message = "月不能为空")
private Integer month;
@ApiModelProperty(value = "成本合计")
private BigDecimal total;
@ApiModelProperty(value = "提交时间")
private Date updateTime;
@ApiModelProperty(value = "0,未提交 1,已提交);")
private Integer status;
@ApiModelProperty("操作人")
private String operatorName;
}

View File

@@ -0,0 +1,14 @@
package com.cool.store.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class TallyBookDetailDTO {
@ApiModelProperty(value = "字段名称")
private String fieldName;
@ApiModelProperty(value = "字段值")
private BigDecimal fieldValue;
}

View File

@@ -0,0 +1,20 @@
package com.cool.store.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: WangShuo
* @Date: 2025/04/03/14:40
* @Version 1.0
* @注释:
*/
@Data
public class UserDTO {
@ApiModelProperty(value = "用户id")
private String userId;
@ApiModelProperty(value = "用户名")
private String name;
@ApiModelProperty(value = "手机号")
private String mobile;
}

View File

@@ -0,0 +1,118 @@
package com.cool.store.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @Author: WangShuo
* @Date: 2025/04/11/13:38
* @Version 1.0
* @注释:
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class XgjOrganizationDTO {
/**
* 主键ID
*/
@ApiModelProperty(value = "主键ID", example = "1")
private String id;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", example = "2023-12-12 16:15:23")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
/**
* 创建人
*/
@ApiModelProperty(value = "创建人", example = "张三")
private String createBy;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间", example = "2024-03-11 14:53:35")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
/**
* 更新人
*/
@ApiModelProperty(value = "更新人", example = "超级管理员")
private String updateBy;
/**
* 删除标志0未删除1已删除
*/
@ApiModelProperty(value = "删除标志0未删除1已删除", example = "0")
private Integer deleted;
/**
* 父级ID
*/
@ApiModelProperty(value = "父级ID", example = "0")
private String parentId;
/**
* 编码
*/
@ApiModelProperty(value = "编码", example = "KH")
private String code;
/**
* 名称
*/
@ApiModelProperty(value = "名称", example = "所有客户")
private String name;
/**
* 父级编码
*/
@ApiModelProperty(value = "父级编码", example = "TOP")
private String parentCode;
/**
* 父级完整编码
*/
@ApiModelProperty(value = "父级完整编码", example = "TOP.KH")
private String parentFullCode;
/**
* 开始时间
*/
@ApiModelProperty(value = "开始时间", example = "2023-12-12 16:15:23")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间", example = "2024-03-11 14:53:35")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date endTime;
/**
* 状态ENABLED启用DISABLED禁用
*/
@ApiModelProperty(value = "状态ENABLED启用DISABLED禁用", example = "ENABLED")
private String state;
/**
* 备注
*/
@ApiModelProperty(value = "备注", example = "这是一个备注")
private String remark;
/**
* 系统标识
*/
@ApiModelProperty(value = "系统标识", example = "XIONG")
private String sys;
}

Some files were not shown because too many files have changed in this diff Show More