TASK:design new;

This commit is contained in:
shahaibo
2024-02-20 10:12:44 +08:00
parent 4e2e1affa8
commit 68f6ae2a8d
34 changed files with 1914 additions and 316 deletions

View File

@@ -158,6 +158,13 @@
<version>1.4</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>9.2.1.jre8</version>
</dependency>
<!-- RabbitMQ -->
<dependency>
<groupId>org.springframework.boot</groupId>

View File

@@ -0,0 +1,393 @@
package com.ai.da.common.config;
import com.ai.da.mapper.primary.entity.CustomerData;
import com.ai.da.mapper.primary.entity.TransactionData;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class CRMReportInterface {
// JDBC 驱动器名称以及数据库 URL
static final String JDBC_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
static final String DB_URL = "jdbc:sqlserver://118.142.0.178:1550;databaseName=Hayman_prod";
// 数据库凭据
static final String USER = "user01";
static final String PASS = "haySIS-2302";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// 注册 JDBC 驱动器
Class.forName(JDBC_DRIVER);
// 打开一个连接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行查询步骤1: 生成 RW0095 报告以获取客户完整数据
System.out.println("执行步骤1生成 RW0095 报告...");
// 执行相应的查询并获取数据
// List<CustomerData> customerData = retrieveCustomerData();
// 执行查询步骤2: 使用 MZG013 报告检查客户的销售历史
System.out.println("执行步骤2使用 MZG013 报告检查客户的销售历史...");
// 执行相应的查询并获取数据
List<TransactionData> transactionData = retrieveTransactionData();
List<String> collect = transactionData.stream().map(TransactionData::getUserMember).collect(Collectors.toList());
List<CustomerData> customerData = retrieveCustomerData(collect);
for (TransactionData transactionDatum : transactionData) {
for (CustomerData customerDatum : customerData) {
if (customerDatum.getMbrCode().equals(transactionDatum.getUserMember())) {
customerDatum.setLastMonth(transactionDatum.getSumAmt());
break;
}
}
}
// 执行步骤3: 合并vlookupRW0095中的客户购买金额
System.out.println("执行步骤3合并客户购买金额...");
// 执行相应的操作如vlookup
// 执行步骤4: 按“发行店”筛选以分离不同文件并逐个发送给店铺
System.out.println("执行步骤4按发行店筛选并发送文件给店铺...");
// 执行相应的操作,如过滤和导出
String filePath = "C:\\Users\\10233\\Desktop\\CRM.csv";
exportToCSV(customerData, filePath);
// 关闭连接
conn.close();
} catch (SQLException se) {
// 处理 JDBC 错误
se.printStackTrace();
} catch (Exception e) {
// 处理 Class.forName 错误
e.printStackTrace();
} finally {
// 关闭资源
try {
if (stmt != null) stmt.close();
} catch (SQLException se2) {
} // 什么都不做
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println("接口执行完成!");
}
private static void exportToCSV(List<CustomerData> customerDataList, String filePath) throws IOException {
FileWriter writer = new FileWriter(filePath);
// // 写入 CSV 文件的第一行,即字段名
// writer.append("User Member,Mbr Name,Sh Code,Sum Amt\n");
//
// // 遍历数据列表,并将每一行数据写入 CSV 文件
// for (TransactionData transaction : transactionDataList) {
// writer.append(transaction.getUserMember()).append(",");
// writer.append(transaction.getMbrName()).append(",");
// writer.append(transaction.getShCode()).append(",");
// writer.append(String.valueOf(transaction.getSumAmt())).append("\n");
// }
writer.append("mbrCode,mbrName,mbrMobile,mbrGroup,mbrStatus,joinDate,mbrIssue,birthMonth,mbrSex,offBonus,effBonus,sumBonus,lastMonth\n");
// 遍历 customerDataList并将数据写入 CSV 文件
for (CustomerData customer : customerDataList) {
writer.append(customer.getMbrCode()).append(",");
writer.append(customer.getMbrName()).append(",");
writer.append(customer.getMbrMobile()).append(",");
writer.append(customer.getMbrGroup()).append(",");
writer.append(customer.getMbrStatus()).append(",");
writer.append(customer.getJoinDate().toString()).append(","); // 日期需要根据实际情况格式化
writer.append(customer.getMbrIssue()).append(",");
writer.append(Integer.toString(customer.getBirthMonth())).append(",");
writer.append(customer.getMbrSex()).append(",");
writer.append(Double.toString(customer.getOffBonus())).append(",");
writer.append(Double.toString(customer.getEffBonus())).append(",");
writer.append(Double.toString(customer.getSumBonus())).append(",");
writer.append(Double.toString(customer.getLastMonth())).append("\n");
}
writer.close();
}
public static List<CustomerData> retrieveCustomerData(List<String> collect) {
List<CustomerData> customerDataList = new ArrayList<>();
Connection conn = null;
Statement stmt = null;
try {
// 注册 JDBC 驱动器
Class.forName(JDBC_DRIVER);
// 打开一个连接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行查询
System.out.println("创建声明...");
stmt = conn.createStatement();
String sql;
// 构建 IN 子句的字符串,用于添加到 SQL 查询中
StringBuilder inClause = new StringBuilder("(");
for (String code : collect) {
inClause.append("'").append(code).append("',");
}
inClause.deleteCharAt(inClause.length() - 1); // 删除最后一个逗号
inClause.append(")");
// 构建完整的 SQL 查询语句
sql = "SELECT * FROM V_RW0095B WHERE mbr_code IN " + inClause.toString();
ResultSet rs = stmt.executeQuery(sql);
// 处理结果集
while (rs.next()) {
// 将每行数据转换为 CustomerData 对象并添加到列表中
CustomerData customer = new CustomerData();
customer.setMbrCode(rs.getString("mbr_code"));
customer.setMbrName(rs.getString("mbr_name"));
customer.setMbrMobile(rs.getString("mbr_mobile"));
customer.setMbrGroup(rs.getString("mbr_group"));
customer.setMbrStatus(rs.getString("mbr_status"));
customer.setJoinDate(rs.getDate("join_date"));
customer.setMbrIssue(rs.getString("mbr_issue"));
customer.setBirthMonth(rs.getInt("birth_m"));
customer.setMbrSex(rs.getString("mbr_sex"));
customer.setOffBonus(rs.getDouble("off_bonus"));
customer.setEffBonus(rs.getDouble("eff_bonus"));
customer.setSumBonus(rs.getDouble("sum_bonus"));
customerDataList.add(customer);
}
// 清理环境
rs.close();
stmt.close();
conn.close();
} catch (SQLException se) {
// 处理 JDBC 错误
se.printStackTrace();
} catch (Exception e) {
// 处理 Class.forName 错误
e.printStackTrace();
} finally {
// 关闭资源
try {
if (stmt != null) stmt.close();
} catch (SQLException se2) {
} // 什么都不做
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println("查询执行完成!");
return customerDataList;
}
public static List<TransactionData> retrieveTransactionData() {
List<TransactionData> transactionDataList = new ArrayList<>();
Connection conn = null;
Statement stmt = null;
try {
// 注册 JDBC 驱动器
Class.forName(JDBC_DRIVER);
// 打开一个连接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行查询
System.out.println("创建声明...");
stmt = conn.createStatement();
String sql;
sql = "SELECT user_member,mbr_name,sum(trx_bas_amt) sumAmtByMebBySh FROM V_MZG013\n" +
"WHERE trx_date >= DATEADD(day, -7, GETDATE())\n" +
"and user_member is not NULL\n" +
"GROUP BY user_member,mbr_name";
ResultSet rs = stmt.executeQuery(sql);
// 处理结果集
while (rs.next()) {
// 将每行数据转换为 TransactionData 对象并添加到列表中
TransactionData transaction = new TransactionData();
transaction.setUserMember(rs.getString("user_member"));
transaction.setMbrName(rs.getString("mbr_name"));
// transaction.setShCode(rs.getString("sh_code"));
transaction.setSumAmt(rs.getDouble("sumAmtByMebBySh"));
// transaction.setTrxNo(rs.getString("trx_no"));
// transaction.setTrxDate(rs.getTimestamp("trx_date"));
// transaction.setTrxType(rs.getString("trx_type"));
// transaction.setTrxStatus(rs.getString("trx_status"));
// transaction.setTrxTotQty(rs.getDouble("trx_tot_qty"));
// transaction.setCurrCode(rs.getString("curr_code"));
// transaction.setExchRate(rs.getDouble("exch_rate"));
// transaction.setDiscountPerc(rs.getDouble("discount_perc"));
// transaction.setTrxAccAmt(rs.getDouble("trx_acc_amt"));
// transaction.setTrxBasAmt(rs.getDouble("trx_bas_amt"));
// transaction.setOutstandAmt(rs.getDouble("outstand_amt"));
// transaction.setReceiveAmt(rs.getDouble("receive_amt"));
// transaction.setChangeAmt(rs.getDouble("change_amt"));
// transaction.setTrxTotBonus(rs.getDouble("trx_tot_bonus"));
// transaction.setDepositNo(rs.getString("deposit_no"));
// transaction.setDepositAmt(rs.getDouble("deposit_amt"));
// transaction.setDepositStatus(rs.getString("deposit_status"));
// transaction.setTrxAmtDesc(rs.getString("trx_amt_desc"));
// transaction.setRemark(rs.getString("remark"));
// transaction.setShCode(rs.getString("sh_code"));
// transaction.setWhCodeFrom(rs.getString("wh_code_from"));
// transaction.setWhCodeTo(rs.getString("wh_code_to"));
// transaction.setIssuedBy(rs.getString("issued_by"));
// transaction.setClientCode(rs.getString("client_code"));
// transaction.setClientName(rs.getString("client_name"));
// transaction.setSalesmanCode(rs.getString("salesman_code"));
// transaction.setCtypeCode(rs.getString("ctype_code"));
// transaction.setUpdatedOn(rs.getTimestamp("updated_on"));
// transaction.setDocType(rs.getString("doc_type"));
// transaction.setRefNo(rs.getString("ref_no"));
// transaction.setAdjType(rs.getString("adj_type"));
// transaction.setRefType(rs.getString("ref_type"));
// transaction.setOrderNo(rs.getString("order_no"));
// transaction.setRecoverF(rs.getString("recover_f"));
// transaction.setRecoverT(rs.getString("recover_t"));
// transaction.setRequestBy(rs.getString("request_by"));
// transaction.setError(rs.getString("error"));
// transaction.setAuthorizedDate(rs.getTimestamp("authorized_date"));
// transaction.setAuthorizedBy(rs.getString("authorized_by"));
// transaction.setChangeCurrCode(rs.getString("change_curr_code"));
// transaction.setChgRate(rs.getDouble("chg_rate"));
// transaction.setCashier(rs.getString("cashier"));
// transaction.setCashiNo(rs.getString("cashi_no"));
// transaction.setSalesmanCode2(rs.getString("salesman_code2"));
// transaction.setClassId(rs.getString("class_id"));
// transaction.setDisAmt(rs.getDouble("dis_amt"));
// transaction.setAcStatus(rs.getString("ac_status"));
// transaction.setReprint(rs.getString("reprint"));
// transaction.setAlt1(rs.getString("alt_1"));
// transaction.setAlt2(rs.getString("alt_2"));
// transaction.setAlt3(rs.getString("alt_3"));
// transaction.setAlt4(rs.getString("alt_4"));
// transaction.setAlt5(rs.getString("alt_5"));
// transaction.setAltD1(rs.getDate("alt_d1"));
// transaction.setAltD2(rs.getDate("alt_d2"));
// transaction.setAltD3(rs.getDate("alt_d3"));
// transaction.setAltD4(rs.getDate("alt_d4"));
// transaction.setAltD5(rs.getDate("alt_d5"));
// transaction.setSalesmanCode3(rs.getString("salesman_code3"));
// transaction.setContractNo(rs.getString("contract_no"));
// transaction.setExpireDate(rs.getTimestamp("expire_date"));
// transaction.setDepositNetAmt(rs.getDouble("deposit_netamt"));
// transaction.setClientRestriction(rs.getString("client_restriction"));
// transaction.setRefStatus(rs.getString("ref_status"));
// transaction.setMbrDis(rs.getDouble("mbr_dis"));
// transaction.setPmtDiscount(rs.getDouble("pmt_discount"));
// transaction.setPmtAmount(rs.getDouble("pmt_amount"));
// transaction.setPmtNo(rs.getString("pmt_no"));
// transaction.setRefCode(rs.getString("ref_code"));
// transaction.setDocApproved(rs.getString("doc_approved"));
// transaction.setRefractionNo(rs.getString("refraction_no"));
// transaction.setCcpTot(rs.getDouble("ccp_tot"));
// transaction.setCcpRed(rs.getDouble("ccp_red"));
// transaction.setCcpExpired(rs.getDouble("ccp_expired"));
// transaction.setPrintedTimes(rs.getInt("printed_times"));
// transaction.setPickupShop(rs.getString("pickup_shop"));
// transaction.setDeliveryDate(rs.getDate("delivery_date"));
// transaction.setDeliveryTime(rs.getString("delivery_time"));
// transaction.setWsCode(rs.getString("ws_code"));
// transaction.setClCode(rs.getString("cl_code"));
// transaction.setClDesc(rs.getString("cl_desc"));
// transaction.setRatio(rs.getString("ratio"));
// transaction.setUserMember(rs.getString("user_member"));
// transaction.setHflag(rs.getString("hflag"));
// transaction.setIssueShop(rs.getString("issue_shop"));
// transaction.setHoUpdBy(rs.getString("ho_upd_by"));
// transaction.setHoUpdOn(rs.getTimestamp("ho_upd_on"));
// transaction.setBonusExpired(rs.getDouble("bonus_expired"));
// transaction.setBonusRed(rs.getDouble("bonus_red"));
// transaction.setConfirmedOn(rs.getTimestamp("confirmed_on"));
// transaction.setConfirmedBy(rs.getString("confirmed_by"));
// transaction.setDocConfirmed(rs.getString("doc_confirmed"));
// transaction.setBrNo(rs.getString("br_no"));
// transaction.setChangeAmt2(rs.getDouble("change_amt2"));
// transaction.setSalesDate(rs.getDate("sales_date"));
// transaction.setMbrName(rs.getString("mbr_name"));
// transaction.setCanEntryDis(rs.getString("can_entry_dis"));
// transaction.setReactiveClient(rs.getString("reactive_client"));
// transaction.setReactiveMbr(rs.getString("reactive_mbr"));
// transaction.setShUpdBy(rs.getString("sh_upd_by"));
// transaction.setShUpdOn(rs.getTimestamp("sh_upd_on"));
// transaction.setTax1(rs.getDouble("tax1"));
// transaction.setTax2(rs.getDouble("tax2"));
// transaction.setTax3(rs.getDouble("tax3"));
// transaction.setTax4(rs.getDouble("tax4"));
// transaction.setTax5(rs.getDouble("tax5"));
// transaction.setAltChar1(rs.getString("alt_char1"));
// transaction.setAltChar2(rs.getString("alt_char2"));
// transaction.setAltChar3(rs.getString("alt_char3"));
// transaction.setAltChar4(rs.getString("alt_char4"));
// transaction.setAltChar5(rs.getString("alt_char5"));
// transaction.setAltNum1(rs.getDouble("alt_num1"));
// transaction.setAltNum2(rs.getDouble("alt_num2"));
// transaction.setAltNum3(rs.getDouble("alt_num3"));
// transaction.setAltNum4(rs.getDouble("alt_num4"));
// transaction.setAltNum5(rs.getDouble("alt_num5"));
// transaction.setNewClient(rs.getString("new_client"));
// transaction.setNewMbr(rs.getString("new_mbr"));
// transaction.setPmtExtraDiscount(rs.getDouble("pmt_extra_discount"));
// transaction.setPmtExtraAmount(rs.getDouble("pmt_extra_amount"));
// transaction.setManualDiscount(rs.getDouble("manual_discount"));
// transaction.setManualAmount(rs.getDouble("manual_amount"));
// transaction.setUsermbrDiscount(rs.getDouble("usermbr_discount"));
// transaction.setClientDiscount(rs.getDouble("client_discount"));
// transaction.setHoldVoid(rs.getString("hold_void"));
// transaction.setPayBasAmt(rs.getDouble("pay_bas_amt"));
// transaction.setPayDesc(rs.getString("pay_desc"));
// transaction.setPayCode(rs.getString("pay_code"));
// transaction.setCardNo(rs.getString("card_no"));
// transaction.setPayCurr(rs.getString("pay_curr"));
// transaction.setPayCurrAmt(rs.getDouble("pay_curr_amt"));
// transaction.setOnbehalfPaid(rs.getString("onbehalf_paid"));
// transaction.setOnbehalfLoc(rs.getString("onbehalf_loc"));
// transaction.setOldCardNo(rs.getString("old_card_no"));
// transaction.setTrxYear(rs.getInt("TRX_YEAR"));
// transaction.setTrxMonth(rs.getInt("TRX_MONTH"));
transactionDataList.add(transaction);
}
// 清理环境
rs.close();
stmt.close();
conn.close();
} catch (SQLException | ClassNotFoundException e) {
// 处理异常
e.printStackTrace();
}
System.out.println("查询执行完成!");
return transactionDataList;
}
// 示例导出数据到CSV文件
private static void exportToCSV(ResultSet resultSet, String filePath) throws SQLException, IOException {
FileWriter writer = new FileWriter(filePath);
while (resultSet.next()) {
// 将结果写入CSV文件
// 这里需要根据实际情况将数据写入CSV文件
}
writer.close();
}
}

View File

@@ -20,15 +20,15 @@ public enum CurrentDesignPictureTypeEnum {
/**
* USER_LIBRARY
*/
USER_LIBRARY(2, "userLibrary"),
// USER_LIBRARY(2, "userLibrary"),
/**
* SYS_FILE
*/
SYS_FILE(3, "sysFile"),
SYS_FILE(2, "sysFile"),
/**
* noPIN
*/
NO_PIN(4, "noPIN");
NO_PIN(3, "noPIN");
private Integer code;
private String desc;

View File

@@ -48,5 +48,9 @@ public class RandomsUtil {
return RandomUtil.randomLong(randomStart, randomEnd);
}
public static Integer randomSysFile(Integer randomEnd) {
return RandomUtil.randomInt(randomEnd);
}
}

View File

@@ -2,13 +2,10 @@ package com.ai.da.controller;
import com.ai.da.common.response.PageBaseResponse;
import com.ai.da.common.response.Response;
import com.ai.da.common.security.jwt.JWTTokenHelper;
import com.ai.da.mapper.entity.TrialOrder;
import com.ai.da.mapper.primary.entity.TrialOrder;
import com.ai.da.model.dto.*;
import com.ai.da.model.enums.Language;
import com.ai.da.model.vo.AccountLoginVO;
import com.ai.da.model.vo.AccountPreLoginVO;
import com.ai.da.model.vo.QueryLibraryPageVO;
import com.ai.da.service.AccountService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@@ -30,6 +30,7 @@ public class DesignController {
@ApiOperation(value = "设计 Conllection")
@PostMapping("/designCollection")
@CrossOrigin
public Response<DesignCollectionVO> designCollection(@Valid @RequestBody DesignCollectionDTO designDTO) {
return Response.success(designService.designCollection(designDTO));
}

View File

@@ -0,0 +1,13 @@
package com.ai.da.mapper.primary;
import com.ai.da.common.config.mybatis.plus.CommonMapper;
import com.ai.da.mapper.primary.entity.Collection;
import com.ai.da.mapper.primary.entity.Collocation;
import com.ai.da.python.vo.DesignPythonItem;
import java.util.List;
public interface CollocationMapper extends CommonMapper<Collocation> {
List<Collocation> getCollocationListBySketch(String apparel, String styleCategory);
}

View File

@@ -0,0 +1,11 @@
package com.ai.da.mapper.primary;
import com.ai.da.common.config.mybatis.plus.CommonMapper;
import com.ai.da.mapper.primary.entity.Dressing;
import java.util.List;
public interface DressingMapper extends CommonMapper<Dressing> {
List<String> getOtherSketchCategoryNameList(Long id, String styleCategory);
}

View File

@@ -1,7 +1,7 @@
package com.ai.da.mapper;
package com.ai.da.mapper.primary;
import com.ai.da.common.config.mybatis.plus.CommonMapper;
import com.ai.da.mapper.entity.GenerateCancel;
import com.ai.da.mapper.primary.entity.GenerateCancel;
public interface GenerateCancelMapper extends CommonMapper<GenerateCancel> {
}

View File

@@ -1,8 +1,7 @@
package com.ai.da.mapper;
package com.ai.da.mapper.primary;
import com.ai.da.common.config.mybatis.plus.CommonMapper;
import com.ai.da.mapper.entity.Library;
import com.ai.da.mapper.entity.LibraryCopy;
import com.ai.da.mapper.primary.entity.LibraryCopy;
/**
* Mapper 接口

View File

@@ -1,8 +1,7 @@
package com.ai.da.mapper;
package com.ai.da.mapper.primary;
import com.ai.da.common.config.mybatis.plus.CommonMapper;
import com.ai.da.mapper.entity.LibraryModelPoint;
import com.ai.da.mapper.entity.LibraryModelPointCopy;
import com.ai.da.mapper.primary.entity.LibraryModelPointCopy;
/**
* Mapper 接口

View File

@@ -0,0 +1,44 @@
package com.ai.da.mapper.primary.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = false)
public class BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private Long id;
/**
* 创建时间
*/
private Date createDate;
/**
* 更新时间
*/
private Date updateDate;
/**
* 是否已删除
*/
private Integer isDeleted;
/**
* 用户ID
*/
// private Long userId;
}

View File

@@ -0,0 +1,50 @@
package com.ai.da.mapper.primary.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("collocation")
public class Collocation implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 用户ID
*/
private String name;
/**
* mood模板id
*/
private Integer isSystem;
private Long userId;
/**
* 创建时间
*/
private Date createDate;
/**
* 更新时间
*/
private Date updateDate;
private Integer isDeleted;
}

View File

@@ -0,0 +1,23 @@
package com.ai.da.mapper.primary.entity;
import lombok.Data;
import java.util.Date;
@Data
public class CustomerData {
private String mbrCode;
private String mbrName;
private String mbrMobile;
private String mbrGroup;
private String mbrStatus;
private Date joinDate;
private String mbrIssue;
private int birthMonth;
private String mbrSex;
private double offBonus;
private double effBonus;
private double sumBonus;
private double lastMonth;
}

View File

@@ -1,4 +1,4 @@
package com.ai.da.mapper.secondary.entity;
package com.ai.da.mapper.primary.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -8,18 +8,23 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("female_dress")
public class FemaleDress implements Serializable {
@TableName("dressing")
public class Dressing implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "ID", type = IdType.AUTO)
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private String imgName;
}
private String apparel;
private String styleCategory;
private String ageGroup;
private String position;
private Integer priority;
}

View File

@@ -1,4 +1,4 @@
package com.ai.da.mapper.entity;
package com.ai.da.mapper.primary.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@@ -0,0 +1,83 @@
package com.ai.da.mapper.primary.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* Attendance
*
* @author easy-generator
* @since 2022-06-13
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_library_copy")
public class LibraryCopy implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 用户ID
*/
private Long accountId;
/**
* 一级类型
*/
private String level1Type;
/**
* 二级类型
*/
private String level2Type;
private String level3Type;
/**
* 元素名
*/
private String name;
/**
* 元素存放地址
*/
private String url;
/**
* md5值
*/
private String md5;
/**
* 图片高度,目前只争对 models类型
*/
private Integer high;
/**
* 图片宽度,目前只争对 models类型
*/
private Integer width;
/**
* 创建时间
*/
private Date createDate;
/**
* 更新时间
*/
private Date updateDate;
// private Integer isCopy;
}

View File

@@ -0,0 +1,81 @@
package com.ai.da.mapper.primary.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* Attendance
*
* @author easy-generator
* @since 2022-11-13
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_library_model_point_copy")
public class LibraryModelPointCopy implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* modelType
*/
private String modelType;
/**
* 关联的 library或sys Id
*/
private Long libraryId;
/**
* 左肩
*/
private String shoulderLeft;
/**
* 右肩
*/
private String shoulderRight;
/**
* 左腰
*/
private String waistbandLeft;
/**
* 右腰
*/
private String waistbandRight;
/**
* 左手
*/
private String handLeft;
/**
* 右手
*/
private String handRight;
/**
* 创建时间
*/
private Date createDate;
/**
* 更新时间
*/
private Date updateDate;
}

View File

@@ -0,0 +1,149 @@
package com.ai.da.mapper.primary.entity;
import lombok.Data;
import java.sql.Date;
import java.sql.Timestamp;
@Data
public class TransactionData {
private String trxNo;
private Timestamp trxDate;
private String trxType;
private String trxStatus;
private double trxTotQty;
private String currCode;
private double exchRate;
private double discountPerc;
private double trxAccAmt;
private double trxBasAmt;
private double outstandAmt;
private double receiveAmt;
private double changeAmt;
private double trxTotBonus;
private String depositNo;
private double depositAmt;
private String depositStatus;
private String trxAmtDesc;
private String remark;
private String shCode;
private String whCodeFrom;
private String whCodeTo;
private String issuedBy;
private String clientCode;
private String clientName;
private String salesmanCode;
private String ctypeCode;
private Timestamp updatedOn;
private String docType;
private String refNo;
private String adjType;
private String refType;
private String orderNo;
private String recoverF;
private String recoverT;
private String requestBy;
private String error;
private Timestamp authorizedDate;
private String authorizedBy;
private String changeCurrCode;
private double chgRate;
private String cashier;
private String cashiNo;
private String salesmanCode2;
private String classId;
private double disAmt;
private String acStatus;
private String reprint;
private String alt1;
private String alt2;
private String alt3;
private String alt4;
private String alt5;
private Date altD1;
private Date altD2;
private Date altD3;
private Date altD4;
private Date altD5;
private String salesmanCode3;
private String contractNo;
private Timestamp expireDate;
private double depositNetAmt;
private String clientRestriction;
private String refStatus;
private double mbrDis;
private double pmtDiscount;
private double pmtAmount;
private String pmtNo;
private String refCode;
private String docApproved;
private String refractionNo;
private double ccpTot;
private double ccpRed;
private double ccpExpired;
private int printedTimes;
private String pickupShop;
private Date deliveryDate;
private String deliveryTime;
private String wsCode;
private String clCode;
private String clDesc;
private String ratio;
private String userMember;
private String hflag;
private String issueShop;
private String hoUpdBy;
private Timestamp hoUpdOn;
private double bonusExpired;
private double bonusRed;
private Timestamp confirmedOn;
private String confirmedBy;
private String docConfirmed;
private String brNo;
private double changeAmt2;
private Date salesDate;
private String mbrName;
private String canEntryDis;
private String reactiveClient;
private String reactiveMbr;
private String shUpdBy;
private Timestamp shUpdOn;
private double tax1;
private double tax2;
private double tax3;
private double tax4;
private double tax5;
private String altChar1;
private String altChar2;
private String altChar3;
private String altChar4;
private String altChar5;
private double altNum1;
private double altNum2;
private double altNum3;
private double altNum4;
private double altNum5;
private String newClient;
private String newMbr;
private double pmtExtraDiscount;
private double pmtExtraAmount;
private double manualDiscount;
private double manualAmount;
private double usermbrDiscount;
private double clientDiscount;
private String holdVoid;
private double payBasAmt;
private String payDesc;
private String payCode;
private String cardNo;
private String payCurr;
private double payCurrAmt;
private String onbehalfPaid;
private String onbehalfLoc;
private String oldCardNo;
private int trxYear;
private int trxMonth;
private double sumAmt;
}

View File

@@ -0,0 +1,25 @@
package com.ai.da.mapper.secondary;
import com.ai.da.mapper.secondary.entity.AttributeRetrieval;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* Mapper 接口
*
* @author easy-generator
* @since 2022-06-13
*/
@Mapper
public interface AttributeRetrievalMapper {
List<AttributeRetrieval> getSystemSketchPool(@Param("attributeRetrievalAttrDict") AttributeRetrieval attributeRetrievalAttrDict, @Param("tableName") String tableName, @Param("poolNum") int poolNum);
AttributeRetrieval getSystemRandom(String tableName);
List<AttributeRetrieval> getSystemSketchPoolBySameCategory(AttributeRetrieval attributeRetrievalAttrDict, String tableName);
}

View File

@@ -1,16 +0,0 @@
package com.ai.da.mapper.secondary;
import com.ai.da.common.config.mybatis.plus.CommonMapper;
import com.ai.da.mapper.secondary.entity.FemaleDress;
/**
* Mapper 接口
*
* @author easy-generator
* @since 2022-06-13
*/
public interface FemaleDressMapper extends CommonMapper<FemaleDress> {
}

View File

@@ -0,0 +1,22 @@
package com.ai.da.mapper.secondary.entity;
import lombok.Data;
import java.util.List;
@Data
public class AttributeRecognitionJSON {
private Long id;
private List<String> imgName;
private List<String> length;
private List<String> sleeveLength;
private List<String> sleeveShape;
private List<String> sleeveShoulder;
private List<String> neckline;
private List<String> collar;
private List<String> design;
private List<String> silhouette;
private List<String> type;
private List<String> openingType;
private List<String> subtype;
}

View File

@@ -0,0 +1,24 @@
package com.ai.da.mapper.secondary.entity;
import lombok.Data;
@Data
public class AttributeRetrieval {
private Long id;
private String imgName;
private String length;
private String sleeveLength;
private String sleeveShape;
private String sleeveShoulder;
private String neckline;
private String collar;
private String design;
private String silhouette;
private String type;
private String openingType;
private String subtype;
private String sleeve;
private String sleeve1;
private String sleeve2;
}

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,6 @@ package com.ai.da.service;
import com.ai.da.mapper.primary.entity.Account;
import com.ai.da.mapper.primary.entity.TrialOrder;
import com.ai.da.mapper.secondary.entity.FemaleDress;
import com.ai.da.model.dto.*;
import com.ai.da.model.vo.AccountLoginVO;
import com.ai.da.model.vo.AccountPreLoginVO;

View File

@@ -13,8 +13,6 @@ import com.ai.da.mapper.primary.TrialOrderMapper;
import com.ai.da.mapper.primary.entity.Account;
import com.ai.da.mapper.primary.entity.AccountLoginLog;
import com.ai.da.mapper.primary.entity.TrialOrder;
import com.ai.da.mapper.secondary.FemaleDressMapper;
import com.ai.da.mapper.secondary.entity.FemaleDress;
import com.ai.da.model.dto.*;
import com.ai.da.model.enums.AutoApproved;
import com.ai.da.model.enums.Language;
@@ -32,7 +30,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;

View File

@@ -5,11 +5,11 @@ import com.ai.da.common.context.UserContext;
import com.ai.da.common.enums.GenerateModeEnum;
import com.ai.da.common.enums.ModelNameEnum;
import com.ai.da.common.utils.*;
import com.ai.da.mapper.CollectionElementMapper;
import com.ai.da.mapper.GenerateCancelMapper;
import com.ai.da.mapper.GenerateDetailMapper;
import com.ai.da.mapper.GenerateMapper;
import com.ai.da.mapper.entity.*;
import com.ai.da.mapper.primary.CollectionElementMapper;
import com.ai.da.mapper.primary.GenerateCancelMapper;
import com.ai.da.mapper.primary.GenerateDetailMapper;
import com.ai.da.mapper.primary.GenerateMapper;
import com.ai.da.mapper.primary.entity.*;
import com.ai.da.model.dto.GenerateLikeDTO;
import com.ai.da.model.dto.GenerateThroughImageTextDTO;
import com.ai.da.model.dto.GenerateToPythonDTO;

View File

@@ -12,8 +12,7 @@ import com.ai.da.common.utils.CopyUtil;
import com.ai.da.common.utils.DateUtil;
import com.ai.da.common.utils.FileUtil;
import com.ai.da.common.utils.MinioUtil;
import com.ai.da.mapper.primary.LibraryMapper;
import com.ai.da.mapper.primary.SysFileMapper;
import com.ai.da.mapper.primary.*;
import com.ai.da.mapper.primary.entity.*;
import com.ai.da.model.dto.*;
import com.ai.da.model.enums.*;

View File

@@ -1,11 +1,16 @@
server.port=5567
server.port=17088
spring.datasource.primary.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.primary.jdbcUrl=jdbc:mysql://18.167.251.121:33008/aida?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
spring.datasource.primary.username=aida_con
spring.datasource.primary.password=123456
spring.datasource.secondary.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.secondary.jdbcUrl=jdbc:mysql://18.167.251.121:33008/attribute_retrieval?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
spring.datasource.secondary.username=aida_con
spring.datasource.secondary.password=123456
#datasource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://18.167.251.121:33008/aida?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
spring.datasource.username=aida_con
spring.datasource.password=123456
#spring.datasource.password=QWa998345
#security
spring.security.jwtSecret=JWTSECRET
@@ -23,8 +28,7 @@ rsa.private_key=MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8
#mybatis
mybatis-plus.global-config.banner=false
mybatis-plus.mapper-locations=classpath:mapper/*Mapper.xml
#mybatis-plus.configuration.log-impl= org.apache.ibatis.logging.stdout.StdOutImpl
mybatis-plus.mapper-locations=classpath:mapper/*/*.xml
mybatis-plus.global-config.db-config.logic-delete-field=isDeleted
mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0
@@ -39,10 +43,8 @@ file.windows.path=D:\\upload\\
spring.servlet.multipart.max-file-size = 10MB
spring.servlet.multipart.max-request-size= 10MB
#访问python服务的ip(对应环境)
#access.python.ip=http://43.198.80.117
access.python.ip=http://18.167.251.121
#access.python.ip=http://18.167.251.121:9991/
access.python.port=9990
access.python.port=9992
minio.endpoint=https://www.minio.aida.com.hk:9000
minio.accessKey=admin

View File

@@ -42,7 +42,7 @@ spring.servlet.multipart.max-request-size= 10MB
#access.python.ip=http://43.198.80.117
access.python.ip=http://18.167.251.121
#access.python.ip=http://18.167.251.121:9991/
access.python.port=9990
access.python.port=9992
minio.endpoint=https://www.minio.aida.com.hk:9000
minio.accessKey=admin

View File

@@ -0,0 +1,30 @@
<?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.ai.da.mapper.primary.CollocationMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.ai.da.mapper.primary.entity.Collocation">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="is_system" property="isSystem" />
<result column="user_id" property="userId" />
<result column="create_date" property="createDate" />
<result column="update_date" property="updateDate" />
<result column="is_deleted" property="isDeleted" />
</resultMap>
<select id="getCollocationListBySketch" resultMap="BaseResultMap">
SELECT
*
FROM
collocation
WHERE
id IN (
SELECT
collocation_id
FROM
collocation_rel_dressing
WHERE
dressing_id = ( SELECT id FROM dressing WHERE apparel = #{apparel} AND style_category = #{styleCategory} ))
</select>
</mapper>

View File

@@ -0,0 +1,26 @@
<?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.ai.da.mapper.primary.DressingMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.ai.da.mapper.primary.entity.Dressing">
<id column="id" property="id" />
<result column="apparel" property="apparel" />
<result column="style_category" property="styleCategory" />
<result column="age_group" property="ageGroup" />
<result column="position" property="position" />
<result column="priority" property="priority" />
</resultMap>
<select id="getOtherSketchCategoryNameList" resultType="java.lang.String">
SELECT
style_category
FROM
dressing
WHERE
id IN ( SELECT dressing_id FROM collocation_rel_dressing WHERE collocation_id = #{id} )
AND style_category != #{styleCategory}
</select>
</mapper>

View File

@@ -0,0 +1,68 @@
<?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.ai.da.mapper.secondary.AttributeRetrievalMapper">
<resultMap id="BaseResultMap" type="com.ai.da.mapper.secondary.entity.AttributeRetrieval">
<id column="ID" property="id" />
<result column="img_name" property="imgName" />
<result column="length" property="length" />
<result column="sleeve_length" property="sleeveLength" />
<result column="sleeve_shape" property="sleeveShape" />
<result column="sleeve_shoulder" property="sleeveShoulder" />
<result column="neckline" property="neckline" />
<result column="collar" property="collar" />
<result column="design" property="design" />
<result column="silhouette" property="silhouette" />
<result column="type" property="type" />
<result column="opening_type" property="openingType" />
<result column="subtype" property="subtype" />
</resultMap>
<select id="getSystemSketchPool" resultMap="BaseResultMap">
SELECT
*
FROM
${tableName}
<trim prefix="WHERE" prefixOverrides="AND">
<if test="attributeRetrievalAttrDict.design != null">
AND design = #{attributeRetrievalAttrDict.design}
</if>
<if test="attributeRetrievalAttrDict.silhouette != null">
AND silhouette = #{attributeRetrievalAttrDict.silhouette}
</if>
</trim>
ORDER BY
RAND()
LIMIT #{poolNum}
</select>
<select id="getSystemRandom" resultMap="BaseResultMap">
SELECT
*
FROM
${tableName}
ORDER BY
RAND()
LIMIT 1
</select>
<select id="getSystemSketchPoolBySameCategory" resultMap="BaseResultMap">
SELECT
*
FROM
${tableName}
<trim prefix="WHERE" prefixOverrides="AND">
<if test="attributeRetrievalAttrDict.type != null">
AND type = #{attributeRetrievalAttrDict.type}
</if>
<if test="attributeRetrievalAttrDict.openingType != null">
AND opening_type = #{attributeRetrievalAttrDict.openingType}
</if>
<if test="attributeRetrievalAttrDict.subtype != null">
AND subtype = #{attributeRetrievalAttrDict.subtype}
</if>
</trim>
ORDER BY
RAND()
LIMIT 20
</select>
</mapper>

View File

@@ -1,8 +0,0 @@
<?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.ai.da.mapper.secondary.FemaleDressMapper">
<resultMap id="BaseResultMap" type="com.ai.da.mapper.secondary.entity.FemaleDress">
<id column="ID" property="id" />
</resultMap>
</mapper>