随笔记录的一些思路1

提供自定义规则的万博荟商户的聚水潭的jar工具包,提供给所有的第三方仓库接入聚水潭API使用。
其中回调接口的ip端口由第三方主动提供,只暴露getToken接口供聚水潭的API接入使用。

①预判JVM里面的token是否存在
②不存在:预判文件是否存在

	③不存在:预判jvm的code是否存在,不存在提示:授权码为空,请重新授权!存在:
		④将响应数据入文件(token入jvm)	

			⑤第四步正常了 放定时任务更新文件的 token,保证文件是最新token(定时任务的写法最后看)

运营平台
修改文件OrderInfoActionMultiController.getLogisticsCode
拿到数据过滤填充

            //物流信息
            var LogisticsId = mini.get("LogisticsId");
            LogisticsId.setUrl("<%=path%>/order/orderInfo.do?action=getLogisticsCode&orderCode=" + orderCode);
            LogisticsId.load();

不用 修改运营文件orderInfolist.jsp


H5/运营平台 修改member-app OrderLogisticsAction
商户平台 修改member-web orderInfo.jsp

–路径配置测试
select * FROM nmc_member.t_system_config_type
需要修改nginx.conf配置项(nginx在web服务器下面)

member-app访问路径服务器 (http://192.168.8.234:8081/account/transportInfos)
member-web访问路径服务器(http://192.168.8.234:8081/account/transportInfos)

member-web和member-app之间是可以相互访问的

写一个Test.java 访问路径接口测试 (提前测试 // 完毕)

使用说明书

1:打开你idea工具上设置C:\maven\apache-maven-3.6.3\conf\settings.xml
2:编辑settings.xml文件加入–>你idea工具上设置的local repository路径–>这行: 加入本地仓库的自定义路径/repository
3:将jar包放入该项目的/maven/bin目录下,地址栏输入cmd
4:执行命令 mvn install:install-file -Dfile=token-boot-2.1.3.RELEASE.jar -DgroupId=cn.newland -DartifactId=erp-token -Dversion=1.0.0 -Dpackaging=jar
5:pom引入后刷新maven依赖

cn.newland
erp-token
1.0.0

代码书写
import com.newland.token.executor.GetTokenServiceUtil;
GetTokenServiceUtil getTokenServiceUtil = new GetTokenServiceUtil();

可以通过jd-gui反编译该jar包看一下情况ResultVO的结构。谢谢合作!
该jar包3个接口皆通过测试(回调.getCode方法待验证)
响应数据中,响应状态code为200为接口正常 (其余状态码为异常)

1:getCode的使用:只需要在你们项目里面新建controller类,登录聚水潭平台设置一个回调地址
每个新商户controller类中只需要写如下书写
//在聚水潭商户管理平台设置 回调地址为:http://host:port/account/getCode
@GetMapping(“getCode”)
@CrossOrigin
public String getCode(@RequestParam String app_key, @RequestParam String code,@RequestParam String state, @RequestParam String sign) {
return getCode方法的使用(String app_key, String code,String state, String sign);
}

2:toAuth方法的使用 public ResultVO toAuth(String app_key,String app_secret)
获取url放到浏览器上面登录授权后(内容:聚水潭将发送验证码到回调接口保存到(static标识的)jvm内存)
新商户只需要授权成功后直接调用getToken方法获取token
(请在15分钟内调用getToken获取token并将正确的响应数据入库)

3:getToken方法使用(请在15分钟内调用getToken获取token并将正确的响应数据入库)
public ResultVO getToken(String app_key,String app_secret)

4:refreshToken方法的使用:将getToken接口中携带的refresh_token作为入参
public ResultVO refreshToken(String app_key,String app_secret,String refreshToken)


获取某端口的进程

netstat -ano | findstr 8080

获取任务列表

tasklist|findstr 14820

杀掉进程

taskkill /pid 14820 -t -f


/{uid}/getExpress
private String getAction(String action) {
if (“READY_DECLARE”.equals(action)) {
//海关申报中
return “2”;
}

    if ("FAIL_DECLARE".equals(action)) {
        //海关申报失败
        return "3";
    }

    if ("SUCCESS_DECLARE".equals(action)) {
        //海关申报成功
        return "4";
    }

    if ("GOT".equals(action)) {
        //海关申报成功
        return "7";
    }

    if("DEPARTURE".equals(action)
            || "ARRIVAL".equals(action))
    {
        return "8";
    }

    if("DISPATCH".equals(action))
    {
        return "9";
    }

    if("INBOUND".equals(action)
            || "HANDOVERSCAN_SIGNED".equals(action)
            || "DEPARTURE_SIGNED".equals(action)
            || "SIGNED".equals(action))
    {
        return "10";
    }

    if("RETURN_SCAN".equals(action)
        || "RETURN_SIGNED".equals(action))
    {
        return "11";
    }

    logger.info("未知物流动作");
    //1=已下单, 2=海关申报中,3=海关申报失败,4=海关申报成功,

6=已发货,包裹等待揽件,7=已揽件,8=运输中,9=派送中,10=签收,11=已退回
return “0”;
}


注意点:

四:更换 运营端java/商户jsp 更换需要访问的服务器ip及端口?

2个服务器节点 ( / ) 本地访问本地测试一下看看
apifox右侧生成 代码crul 确保能够 能够访问到后端服务器节点
C:\Users\ASUS1>curl http://120.25:8081/account/orderInfo
{“timestamp”:“2022-05-30T08:15:42.017+00:00”,“status”:400,“error”:“Bad Request”,“message”:“”,“path”:“/account/orderInfo”}

curl http://192.14:8081/account/orderInfo

select * FROM nmc_member.t_system_config_type
http://120.245:8081/account/transportInfos

五:jsp页面修改的war包部署 (要确认运营端的 java程序 / 商户 jsp页面的 ip路径地址是否正确,能够正常访问生产环境)

cmd 测试连接服务器节点,程序服务端口号

telnet 127.0.0.1 8081

一:更换
生产的时候用:
{
“UserName”: “60035”,
“Password”: “bLNsY@TQs(Q>W%Ch(a”
}

二:新增2个定时任务

三:SQL执行部署
CREATE TABLE t_order_transport (
ID int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键’,
order_no varchar(200) DEFAULT NULL COMMENT ‘普华响应数据订单号’,
logistics_no varchar(200) DEFAULT NULL COMMENT ‘普华响应数据运单号’,
stastus int(1) DEFAULT 0 COMMENT ‘状态为1表示该数据已被t_order_transport_info表成功拉取过’,
PRIMARY KEY (ID) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

CREATE TABLE t_order_transport_info(
ID int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键’,
order_no varchar(200) DEFAULT NULL COMMENT ‘普华响应数据订单号’,
logistics_no varchar(200) DEFAULT NULL COMMENT ‘普华响应数据运单号’,

time VARCHAR (200) NOT NULL COMMENT ‘操作时间’,
context VARCHAR (400) NOT NULL DEFAULT ‘’ COMMENT ‘运输描述’,
ftime VARCHAR (200) NOT NULL DEFAULT ‘’ COMMENT ‘格式化的操作时间(更新时)’,
area_code VARCHAR (200) NOT NULL DEFAULT ‘’ COMMENT ‘地区编码’,
area_name VARCHAR (200) NOT NULL DEFAULT ‘’ COMMENT ‘地区名称’,
status VARCHAR (200) NOT NULL DEFAULT ‘’ COMMENT ‘物流状态描述’,
location VARCHAR (200) NOT NULL DEFAULT ‘’ COMMENT ‘地区名称’,
area_center VARCHAR (200) NOT NULL DEFAULT ‘’ COMMENT ‘地区经纬度’,
area_pin_yin VARCHAR (200) NOT NULL DEFAULT ‘’ COMMENT ‘地区拼音’,
status_code VARCHAR (200) NOT NULL DEFAULT ‘’ COMMENT ‘物流状态’,

length_pre int(30) NOT NULL DEFAULT 0 COMMENT '单号的长度',
com_code VARCHAR (200) NOT NULL DEFAULT '' COMMENT '快递公司对应的编码',
name VARCHAR (200) NOT NULL DEFAULT '' COMMENT '快递公司名称',

PRIMARY KEY (ID) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;


原有
韵达物流—>普华仓库–>logisticsFeedback万博汇

现需
6.普华获取token的接口:测试的时候用
{
“UserName”: “60030”,
“Password”: “g6g:VRn3SPjPa>F0ox”
}
生产的时候用:
{
“UserName”: “60035”,
“Password”: “bLNsY@TQs(Q>W%Ch(a”
}

去普华仓库获取订单和发货信息–>直接查询快递100获得物流信息(先存一遍)–>信息入库提供给前端渲染 (物流详情信息入库新表)
https://poll.kuaidi100.com/poll/query.do
(实时查询)


0直邮1保税2自取 订单直邮状态才有物流信息
订单表nmc_member.t_order.LOGISTICS_TYPE = 0

方案:原代码不动

新建表order_transport
订单号 order_no
运单号 logistics_no
用户名 username
用户手机号 phone
快递公司对应的编码 comCode
快递100响应数据(更新数据入库) transport_json
create_time
update_time

这些信息一次性入库

(订单需要和用户关联 通过订单号 把唯一的 用户名/用户手机号 查询到并保存)
预查 新表状态 的订单号是否为获取成功的数据。

一个定时任务(定为每31分钟访问一次)
步骤①该接口内容需要确定:去普华仓库获取订单和发货信息(该接口数据只能获取一次)。获取到的数据信息入库 order_transport

第二个定时任务
步骤②该接口内容需要确定:通过获取 .order_transport 的订单和发货信息 访问快递100(该接口限制30分钟访问一次)。
(add)将数据入库(新建order_transport_info )
_

提供新的查询接口 给前端渲染 订单的物流信息。
该接口查询order_transport_info表每个用户下的订单物流详情信息

前端需要渲染处(步骤① 由前端筛选原带海关信息的物流,保留下来 步骤② 其他物流状态用新接口渲染)
接口①:用户订单物流详情信息

C:\Program Files\JetBrains\IntelliJ IDEA 2022.1\bin>idea
Error opening zip file or JAR manifest missing : E:\ja-netfilter
Error occurred during initialization of VM
agent library failed to init: instrument

idea64.
E:\ja-netfilter_idea\ja-netfilter
C:\Program Files\JetBrains\IntelliJ IDEA 2022.1\bin>

核销及聚水潭订单上传代码 最终版本代码已提交至master分支
前后端已部署到234环境由产品验收完–>
修改master分支配置及sql—>待部署

原项目前端的生产地址120.

为了避免影响 原项目前端nginx的配置,及可能出现问题。

故在120.24.85.95新安装一个nginx 用来部署新的H5前端项目,部署详情如下
上生产前端生产8773=120.24.85.95 / 后端jar=120.25:8081

项目地址:
http://192.1633:8083/PengYi/order-push.git

nginx.conf中增加 include /etc/nginx/conf.d/*.conf;
前端nginx配置项
cd /etc/nginx/conf.d
ng.conf

server {
listen 8773;
location / {
add_header Access-Control-Allow-Origin *;
root /data/newland/pro_busH5/;
index index.html index.htm;
}
location /api {
proxy_pass http://192.164:8081/;
}
}

nginx -t 查看配置是否正确

nginx -s reload 重启

服务器重启之后,执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错

需要先执行

nginx -c /etc/nginx/nginx.conf

nginx.conf文件的路径可以从nginx -t的返回中找到。

nginx -s reload


xxl-job管理平台地址 http://120.2.95:8080/xxl-job-admin (账号admin/密码newlandgo)
更新内容:核销功能
后端部署jar程序包
①程序包上传
连接120.24.85.95节点:cd /app/xxl-job
使用(http://192.1683:8083/PengYi/order-push.git)master分支代码的打包程序
②启动jar程序包
admin程序包启动:nohup /app/business/jdk8/jdk1.8.0_261/bin/java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=512M /app/business/xxl-job-admin-2.3.1-SNAPSHOT.jar > /app/business/tempJobAdmin.txt 2>&1 &
excutor程序包启动:nohup /app/business/jdk8/jdk1.8.0_261/bin/java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=512M /app/business/business.jar > /app/business/business.txt 2>&1 &
③查看jar程序包:ps -ef|grep xxl-job
④强制关闭jar程序包:kill -9 进程号
前端部署vue.js程序/静态页面(黄健豪由你部署时详细补充②③④⑤)
①程序包zip上传
连接120.100节点:cd /app/newland/pro_busH5
使用(http://192.16:8083/PengYi/BusOrder-h5.git)master分支代码的打包程序
解压:unzip /app/newland/pro_busH5/商户管理h5-生产(1).zip -d /app/newland/pro_busH5/

②增加阿里云管理平台的域名绑定

③更改nginx配置项进行挂载:cd /app/nginx/conf

④nginx -t 查看配置是否正确

⑤nginx -s reload 重启

记事本

// 核销 h5 上线配置
 后端接口配置

server {
listen 443 ssl;
server_name businesses.newlandgo.com;
ssl_certificate key/newlandgo.com.pem;
ssl_certificate_key key/newlandgo.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
ssl_prefer_server_ciphers on;
access_log logs/businesses.newlandgo.com.log main;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100M;

    location / {
        #add_header Access-Control-Allow-Origin https://businesses.newlandgo.com;
        #add_header Access-Control-Allow-Credentials true;
        #add_header Access-Control-Allow-Methods 'GET,POST,OPTIONS';
        #add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
        if ($http_origin ~ [a-z]+\.newlandgo\.com$){
           add_header Access-Control-Allow-Origin $http_origin;
           add_header Access-Control-Allow-Credentials true;
           add_header Access-Control-Allow-Methods 'GET,POST,OPTIONS';
        }
        proxy_pass   http://127.0.0.1:8081;
    }
}

server {
    listen       80;
    server_name  businesses.newlandgo.com;
    rewrite ^(.*)$ https://$host$1 permanent;
}

 前端页面配置

server {
listen 443 ssl;
server_name business.newlandgo.com;
ssl_certificate key/newlandgo.com.pem;
ssl_certificate_key key/newlandgo.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
ssl_prefer_server_ciphers on;
access_log logs/business.newlandgo.com.log main;
client_max_body_size 100M;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Forwarded-Proto $scheme;

    location /{
        root   /app/newland/pro_busH5;
        index  index.html index.htm;
		try_files $uri $uri/ /index.html;
    }
}

server {
    listen       80;
    server_name  business.newlandgo.com;
    rewrite ^(.*)$ https://$host$1 permanent;
}
// 核销 h5 上线配置

你记得把这个代码提交到master分支http://192.233:8083/PengYi/BusOrder-h5.git
(生产环境)请谨慎操作!

前端包放上去了,你检查一下看对不对:cd /app/newland/pro_busH5

234环境环境启动核销.jar
nohup java -jar /data/xxl-job-executor-sample-springboot-2.3.1-SNAPSHOT.jar > /data/tempJob.txt 2>&1 &
查看
ps -ef|grep xxl-job

埋点:此埋点功能仅需统计h5页面。该功能最后做。
登录/核销
对接的百度数据埋点
SN1635123908473 改成 SN16351239084776666上传新数据测试环境

buyer_message string
非必填
买家留言 长度<=400;可更新
remark string
非必填
卖家备注 长度<=150;可更新
is_cod bool
非必填
是否货到付款

4月25日开始实施(若有风险会提前5天通知并说明原因,日报会记录需求进度)
看代码及写代码:10-12天 (将map改为实体的json数据返回及其他细节处理等)
接口对接:2-3天
测试:2天
总:14-17个工作日(用时可长可短。理由如下:java代码中大量的map集合嵌套的循环查库!JSP页面!)

详细情况
密码校验即可 md5.getMD5ofStr
商户平台登录接口改造comCompanyLogin

商户平台订单查询改造getOrderList(订单编号 模糊查询,订单状态 查询)

商户平台订单详情改造getOrderInfo(订单详情图片固定形式的url地址拼接)
<%=mainImgUrl%> o r d e r . c h a n n e l I d / p i m g / {order.channelId}/pimg/ order.channelId/pimg/{order.productId}/${order.skuId}/s1_200_200.jpg
https://img-ndemall1.oss-cn-guangzhou.aliyuncs.com/666001/pimg/29/59/s1_200_200.jpg
https://img-ndemall1.oss-cn-guangzhou.aliyuncs.com/666666/pimg/52/85/s1_200_200.jpg

商户平台订单核销改造upOrderTakeDelivery

新大陆万博汇商城支付状态
部分付款, 传递状态给erp聚水潭的状态是: 等待卖家发货=WAIT_SELLER_SEND_GOODS
erp聚水潭和高捷对接时 会不会出现针对这部分已经付款的商品 不予发货?

t_order.ORDER_CODE outer_pay_id,
substring_index(substring_index(nmc_pay.t_validatepay.PAY_INFO,‘“createTime”:"’,-1),‘"’,1) pay_date,
substring_index(substring_index(nmc_pay.t_validatepay.PAY_INFO,‘“money”:’,-1),‘,’,1) amounts,
substring_index(substring_index(nmc_pay.t_validatepay.PAY_INFO,‘“paymentName”:"’,-1),‘"’,1) payment,
IFNULL(nmc_member.t_payment_info.PAY_ACCOUNT,‘未知’) buyer_account,
‘未知’ seller_account,
t_order.SHOPS_ID shop_id,
t_order.order_code so_id,
t_order.create_time order_date,
(CASE t_order.HANDLE_STATUS
WHEN 0 THEN ‘WAIT_BUYER_PAY’
WHEN 1 THEN ‘WAIT_SELLER_SEND_GOODS’
WHEN 2 THEN ‘WAIT_BUYER_CONFIRM_GOODS’
WHEN 3 THEN ‘TRADE_FINISHED’
WHEN 4 THEN ‘TRADE_CLOSED’
WHEN 5 THEN ‘TRADE_CLOSED’
WHEN 6 THEN ‘TRADE_CLOSED’
WHEN 7 THEN ‘TRADE_CLOSED’
WHEN 100 THEN ‘TRADE_CLOSED_BY_TAOBAO’
ELSE ‘未知’ END) shop_status,
t_order.RECEIVE_MOBILE shop_buyer_id,
t_order.PROVINCE_NAME receiver_state,
t_order.CITY_NAME receiver_city,
t_order.AREA_NAME receiver_district,
t_order.RECEIVE_ADDRESS receiver_town,
t_order.PROVINCE_NAME receiver_address,
t_order.RECEIVE_Name receiver_name,
t_order.RECEIVE_MOBILE receiver_phone,
t_order.RECEIVE_MOBILE receiver_mobile,
t_order.SUM_AMOUT pay_amount,
t_order.SHIPPING freight,
t_order.update_time shop_modified,

        t_order_line.PRODUCT_CODE sku_id,
        t_order_line.PROPERTY properties_value,
        t_order_line.SKU_AMOUT amount,
        t_order_line.PURCHASE_PRICE base_price,
        t_order_line.SKU_QTY qty,
        t_order_line.PRODUCT_ID outer_oi_id,
        t_order_line.PRODUCT_CODE shop_sku_id,
        t_order_line.PRODUCT_Name name

浏览万博汇项目源码,使用定时任务push订单详情数据
拉取github的xxl-job项目运行

每30分钟执行一次

我现在写了一个程序,springboot项目服务端口是8080。部署上去到 120.95 这个ip上了
http://120…95:8080/xxl-job-admin
配置端口

生产上的这3个地址都有对应的域名吗
120.24.2/22 -web
119.23.45/22 -app
120.24.5/22 -memcahed/solr

newlandgo.cn
newlandgo.top
newlandgo.net
newlandgo.com
newlandgo.com.cn

待办:先查看 下单/支付 的代码流程

下一个需求:查找JSP中的订单列表接口,开放出来供前端的H5渲染数据

已完成:订单上传第三方聚水潭 的代码修改,待观察测试数据库数据情况再上生产

阿里云暂时的开放了端口 8080 用来看xxl-job的管理平台,待验证完毕后可将该8080端口关闭
xxl-job管理平台地址 http://8080/xxl-job-admin (账号admin/密码newlandgo)

生产服务器 环境启动命令为
nohup /app/xxl-job/jdk8/jdk1.8.0_261/bin/java -jar /app/xxl-job/xxl-job-admin-2.3.1-SNAPSHOT.jar > /app/xxl-job/tempAdmin.txt 2>&1 &
nohup /app/xxl-job/jdk8/jdk1.8.0_261/bin/java -jar /app/xxl-job/xxl-job-executor-sample-springboot-2.3.1-SNAPSHOT.jar > /app/xxl-job/tempJob.txt 2>&1 &

查看 2个jar服务状态 ps -ef|grep ‘job’
查看日志 cd /data/applogs/xxl-job/jobhandler

         编码完成,本地验证通过。
         已将该xxl-job项目上传到gitlab管理处:http://8083/PengYi/order-push.git
         xxl-job.sql已在生产环境执行, 库为xxl_job

待办: 部署该定时任务的新项目(2个jar包(xxl-job管理界面.jar/定时任务.jar)),java -jar 启动
放到生产环境用来验证,该jar包只是数据库查询不影响生产环境
查看日志,查看数据库xxl-job的任务执行成功时间

不需要改动代码,数据新增时,字段 update_time 将默认为当前时间
ALTER TABLE nmc_member.t_order CHANGE update_time update_time timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘数据更新时间’;

已完成:环境

   代码调试 登录 流程 ,解决 密码错误无法登录问题

     待 远程调试  订单创建 流程 
       
  	     订单上传需求基本完成待部署

待办:
(需要配置域名,使外网可以进行访问)待 支付流程的远程调试环境

-----------------------------------------------------------------需要等待ndmall项目验收完毕 才能动生产环境的war包
⑤备份原war包,部署新member-app.war包

④修改订单创建代码2处,追加代码order.setUpdateTime(DateUtil.Now()); 
order.setCreateTime(DateUtil.Now()); -->        order.setUpdateTime(DateUtil.Now());

orderInfoDTO.setCreateTime(new Date());-->        orderInfoDTO.setUpdateTime(new Date());  


①更改万博汇商城H5(access_token/appKey/appSecret)
 第三方接口正式环境地址https://openapi.jushuitan.com/open/jushuitan/orders/upload

②更改t_order表字段update_time数据生成

ALTER TABLE nmc_member.t_order CHANGE update_time update_time timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘数据更新时间’;
ALTER TABLE nmc_member.t_system_config_info CHANGE update_time update_time timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘数据更新时间’;

③初始化配置表SQL(用于记录每次定时任务成功的时间)

insert INTO nmc_member.t_system_config_info
(ID,config_name,config_value,config_type,value_type,CREATE_TIME,CREATE_BY,config_desc)
VALUES
(68,‘JOBUPDATE’,‘0000:00:00 00:00:00’,68,68,NOW(),‘admin’,‘orderPushJobHandler执行成功时间’)

insert INTO nmc_member.t_system_config_info
(ID,config_name,config_value,config_type,value_type,CREATE_TIME,CREATE_BY,config_desc)
VALUES
(69,‘TOKENINFO’,
‘{“code”:0,“msg”:null,“data”:{“access_token”:“”,“expires_in”:2592000,“refresh_token”:“”,“scope”:“all”}}’,
69,69,NOW(),‘admin’,‘初始化第三方聚水潭的token信息’)

待办:转测放到生产环境验证。
查看日志,查看数据库xxl-job的任务执行成功时间

需求背景:一是为了和仓库打通,仓库发货。二是将订单数据推到ERP,可以在ERP统一进行管理

已完成:对接第三方erp聚水潭 的订单上传 编码基本完成(80%)(待本地验证)

待办:待本地的多次验证后的更正工作(待上传到gitlab管理处)
代码规范:每个函数不允许超过100行(其他规范:使用阿里审查工具SonarLint检测)

待部署到云端服务器 测试验证
注意项:

第三方接口需要的订单详情数据源 梳理

    测试xxl-job定时任务,验证:放到生产服务器环境(120.24.85.95 solr/memcached)上运行

     编写 查询出 万博汇数据库相关订单详情数据

已完成:单条订单详情数据推送第三方erp聚水潭成功

    待将多条数据 验证测试
    对方接口规定 1分钟内只能被调用100次,最大集合数传递数50条。并发数5。       
    按接口规则待修改 分片集合数据 ,每传递一次 50条的集合数据,sleep睡眠0.5秒钟(即不会超过1分钟100次)

待办:
待改造定时任务为 动态刷新(每6小时)
编写xxl-job定时动态获取 最新一次成功的定时任务时间 来刷新获取的token,并去访问第三方接口

     部署到云端服务器,通过观察日志查看结果         

4月11号开始执行
首要条件:
刚接手项目 从0到1,我个人认为需要5天时间及以上时间熟悉项目源码

以下时间都是预估,可长可短,每天日报会汇报进度
时间排期规划:
①前期准备:按照 第三方高捷 的接口规定 提供 公司相关固定参数 封装录入代码并单元测试。 2天


一:需要查阅万博汇商城的 相关源码,找到万博汇所有的下单及支付入口,找到这些订单数据源。 (先预估 还在接收整理项目中 有可能长) 5天

二:编码对接第三方1个接口 :订单上传(推荐)  1-3天  

③测试目前只能进行后端的代码单元测试。 (保险一点:需要前端配合打本地包 点击下单购买支付流程测试)

万博汇所有的支付的整个流程没有测试环境。一个人进行测试难免遗漏。 预估 代码调试/测试 3天

总计时间:11-13 天工作日

生产环境上的最终验收:单元测试通过后直接发布生产环境。可实时关注 第三方高捷 订单数据的接收情况。

完成项 启动springMVC项目

后端项目13个war包本地已正常启动( 使用local.properties配置文件)
本地启动2个tomcat进行后端war包部署(web端tomcat:8090/app端tomcat:8080)

完成项 生产环境地址正常连接。前端2个项目,后端一个项目 本地正常启动。
后端ndmall已上传到:8083环境上gitlab管理处。

            安装配置windows版mysql-5.7.31/memecashed-1.4.4/solr-8.11.1

#db 项目正常连接
db.host=127.0.0.1:3306
username root
password	admin

#memecashed 项目正常连接
cache.host=127.0.0.1:11211

#solr (待连接/需要使用solr配置mysql数据源/待验证)  
solr.host=127.0.0.1:9090

待办项
熟悉生产服务器的相关环境
熟悉后端springmvc项目整体架构框架
熟悉memecashed/solr的基本使用


问题判定:相关文件或压缩包,数据库中没有与之对应的密码。
云端的数据平台139.159.214.144触发器myevent未生成密码。
导致文件/zip解密失败并阻塞后面文件数据入库,导致数据时间未更新。
处理:人工手动insert入库密码,删除解密失败数据,等待定时任务每30分钟执行。

获取日期时间方法
getCurrentDate
redis清除时间缓存
sudo cp ./redis-cli /usr/local/bin/
redis-cli
get ‘getCurrentDate’
del ‘getCurrentDate’

将前端项目BOC-APP/BOC-WEB放入gitlab管理处
已将生产服务器数据库地址发给黄健豪,待中台大数据服务器的最终搭建。

测试本地日志记录ibatis输出sql记录到新目录下

待办
熟悉生产服务器的相关环境 及 前端后端整体部署流程

熟悉memecashed 安装缓存管理连接器/solr的基本使用 待连接

熟悉后端springmvc项目整体架构框架(dao层orm-ibatis框架,查询是否有ibatis的自动生成代码工具类)

将log4j增加配置到后端2个服务器环境日志(app/web)。
每个服务器将日志输出到总文件(该日志文件只记录SQL执行记录)。

待本地测试 日志文件输出正常。验证通过后,将修改发布到生产环境。

需求
如果你的java项目,能够把执行的sql ,例如 insert into … ,
update set … 之类的日志都打印到一个文件,我就可以监听并实时同步数据

这种方案感觉更靠谱,你只需要找到 log4j的配置输出到文件就好
配置日志的level 对应的包
java的package

待办项
(node.js)前端vue项目(万博会-app/BOC-web)已使用idea npm run dev启动
本地启动不需要部署。前端vue部署需要到nginx服务器。

问题记录(无法连接远程服务) 本地的

#ndmall-config 下 dev-linux.properties.context配置如下
context.url.root.app=http://:8080

Cannot connect to Hessian remote service at
[http://:8080/member-app/remoting/serviceExporter]; nested exception is java.net.ConnectException:
Connection timed out: connect

本人邮箱账号密码 (solr搜索插件)


项目验收文件下载地址:


待办项:电商项目的环境搭建及项目启动(预计3天左右完成)

主要是针对于 澳門中銀銀行卡收單數據日明細_2022_20220329fe3049e3-ea31-4765-aea8-6677ad37a7fe.zip 的需要解密的文档类型的问题
①针对于解密失败问题远程断点调试了一遍代码,修改了代码待有时间来进行验证 (该问题①解密失败导致解压文件数据未入库 会引发问题②读取不到最新文档数据时间不正确)

②快速的初步的看了一下 银行/扫码 数据入库的 时间更新 ,及 选择对应模式的筛选 生成对应数据的excel文档。

用银行,扫码的 文件数据。使用用自己邮箱用来验证 将数据入库到233环境数据库。数据入库正常。
查看数据时间正常{“bankDate”:“2022年03月23日”,“sweepDate”:“2022年03月08日”}。选择对应模式导出excel文档正常。

第一:
getCurrentDate方法 (日期的获取) select * from big_screen_statistics where entrance = ‘getCurrentDate’

第二:
BigScreenJob定时任务每20分钟saveData 定时更新 storeId与Mid对应关系。 最后更新扫码/银行 即第一步(日期的获取)。sql如下
select a.ac_dt as date , b.ac_dt as data from
(
select ac_dt from bank_trade_week ORDER BY ac_dt desc limit 0,1
) as a ,
(
select ac_dt from sweep_trade_daily ORDER BY ac_dt desc limit 0,1
) as b

第三:
开启线程异步生成数据selectResult recordDataBank.setStatus(“已生成”);
发送socket消息通知前端 webSocket.sendOneMessage(sysUser.getId() , jo.toJSONString()); 刷新获取执行状态

定位bug,待解决和验证:在zip压缩包解密失败后,再获取一遍staus=0的密钥进行解密。解密成功后将该密钥状态status值为1

通过远程调试定位问题
java -Xmx8192m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar jeecg-boot.jar --spring.profiles.active=prod

該觸發器每周三上午9:00定時執行
BEGIN
IF (select 4 = (select DAYOFWEEK(NOW())))=1 THEN
CALL pwd_record();
END IF;
END

BEGIN
INSERT INTO pwd_record ( mid, pwd, state )
VALUES
( ‘The System Input’, CONCAT( ‘B@cACQ’, DATE_FORMAT( NOW(), ‘%Y%m%d’ )), ‘0’ );
END

定時任務 org.jeecg.modules.quartz.job.AsyncJob
定时读取邮件,下载附件并解密(周期:周一至周五 9-21点每隔半小时执行一次)

原因为:zip文件获取到的密码错误导致文件解压失败 。待进一步定位该问题。

调试过了一遍代码,没有发现问题。去看看234环境的日志

修改234环境 redis.conf配置项为protected-mode no
使redisManager管理工具可以正常连接redis

需求相关代码已使用阿里的代码审查工具SonarLint自检。
在服务器上验证通过,已部署到云端服务器。

部署过程如下

1:连接云环境服务器mysql地址(root/Mimashi@1234) 执行SQL脚本(install_data_all.sql)

2:①注释掉微服务的application.yml的数据源
#spring:
# profiles:
# active: @env@
执行脚本中的数据源指向服务器中的 cloud 数据源

 ②jar包替换到服务器上apps/目录下,kill -9 结束当前jeecg-boot.jar服务,执行bin/目录下的脚本jeestart.sh

3:admin/123456 登录在云服务管理平台的quartz管理处添加2个定时任务

----------------------------------修改docker容器
进去docker 容器 docker exec -it service /bin/bash
修改vi /etc/supervisordfile/local.conf
重启对应的服务
ctrl a + d退出

[program:memcache]
directory = /tmp
command = /usr/bin/memcached -p 11211 -u memcache -l 0.0.0.0 -m 128 -u root
autostart = true
startsecs = 5
autorestart = true
startretries = 3
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /data/logs/memcache.log

[program:solr]
directory = /app/solr/tomcat6-solr
command = /app/solr/tomcat6-solr/bin/catalina.sh run
autostart = true
startsecs = 5
autorestart = true
startretries = 3
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /data/logs/solr.log
environment=JAVA_HOME=/var/comps/jdk1.6.0_45,JRE_HOME=/var/comps/jre1.6.0_45,CATALINA_HOME=/app/solr/tomcat6-solr

[program:nginx]
command=/usr/sbin/nginx -g ‘daemon off;’
directory=/etc/nginx
autostart=true
autorestart=true
redirect_stderr=true
priority=10
stdout_logfile=/data/logs/nginx/nginx.log
stderr_logfile=/data/logs/nginx/nginx.err.log

[program:tomcatapp]
startsecs = 5
autorestart = true
startretries = 3
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /data/logs/tomcatapp.log

autorestart = true
startretries = 3
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /data/logs/tomcatapp.log
startsecs = 5
autorestart = true
startretries = 3
startsecs = 5
autorestart = true
startretries = 3
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /data/logs/tomcatapp.log

[program:tomcatweb]
stdout_logfile_backups = 20
stdout_logfile = /data/logs/tomcatapp.log
environment=JAVA_HOME=/var/comps/jdk1.6.0_45,CATALINA_HOME=/app/tomcat7-app,CATALINA_OPTS=" -Xdebug -Xrunjdwp:transport=dt_socket,address=8200,server=y,suspend=n",JRE_HOME=/var/comps/jre1.6.0_45,JAVA_OPTS=" -Dspring.profiles.active=dev-linux -server -Xms2048m -Xmx6144m -XX:MaxPermSize=1024M -XX:+UseParallelOldGC -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:NewSize=1G -XX:MaxNewSize=1G "

[program:tomcatweb]
directory = /app/tomcat7-web
command = /app/tomcat7-web/web.sh

风险点:建议6月2号上线
①运营/商户 这2个管理平台是JSP页面,修改难度极大

②人员不足,前端。产品+业务技术经理+项目架构师+web+H5端VUE+后端2人+运维(这个H5商城项目至少要8个人)

③环境问题,后期建议搞成自动化部署。减少手动上传程序包的出错情况。

④项目未完全验收完情况下,任何需求 修修补补是可以做。但是后期 ,若要重构该项目, 难度将指数级上升

  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值