联调大B完成用户修改记录中用户名称查询功能的开发

release
gongquanlin 2 years ago
parent c0e5cbb2a4
commit 58cb3d7ee7
  1. 12
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/config/UserCenterConfig.java
  2. 17
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/controller/CommodityController.java
  3. 10
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/CommodityCodeModifyLog.java
  4. 15
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/dto/QueryModifyLogDTO.java
  5. 23
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/dto/UserInfoDTO.java
  6. 6
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/CommodityCodeModifyLogService.java
  7. 88
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityCodeModifyLogServiceImpl.java
  8. 12
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java
  9. 22
      order-management-base-service/src/main/resources/mybatis/mapper/CommodityCodeModifyLogDao.xml

@ -2,6 +2,7 @@ package com.dxhy.order.baseservice.config;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;
@ -93,12 +94,23 @@ public class UserCenterConfig {
/**
* i-tax新增用户
*
* @return
*/
public String configAddBigUser() {
return dbUserInfoUrl + "/api/user/addUserInfo";
}
/**
* i-tax批量根据用户id查询用户
*
* @return
*/
public String queryUserByIds() {
String url = StringUtils.isNotBlank(System.getenv("DEBUG_ITAX_HOST")) ? "http://localhost:18100/itax" : dbUserInfoUrl;
return url + "/api/user/queryUserBatch";
}
/**
* 获取大B用户信息
*

@ -4,6 +4,9 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeModifyLog;
import com.dxhy.order.baseservice.module.commodity.model.dto.QueryModifyLogDTO;
import com.dxhy.order.baseservice.module.commodity.service.CommodityCodeModifyLogService;
import com.dxhy.order.constant.*;
import com.dxhy.order.model.CommodityCodeCheckQuery;
import com.dxhy.order.model.CommodityTaxClassCodeReq;
@ -63,6 +66,9 @@ public class CommodityController {
@Resource
private BaseService baseService;
@Resource
private CommodityCodeModifyLogService commodityCodeModifyLogService;
/**
* 查询商品编码
* 在使用
@ -662,4 +668,15 @@ public class CommodityController {
private String nullToEmptyString(String str) {
return Objects.isNull(str) ? "" : str;
}
@PostMapping("/modifyLog")
public R modifyLog(@RequestBody QueryModifyLogDTO dto) {
try {
PageUtils pageUtil = commodityCodeModifyLogService.queryPage(dto);
return R.ok().put("page", pageUtil);
} catch (NumberFormatException e) {
log.error("{},分页参数类型转换异常:{}", LOGGER_MSG, e.getMessage());
return R.error("商品信息列表查询异常");
}
}
}

@ -6,6 +6,8 @@ package com.dxhy.order.baseservice.module.commodity.model;
* @Date 2023/3/20 15:33
**/
import com.dxhy.order.baseservice.module.commodity.model.dto.UserInfoDTO;
import java.io.Serializable;
import java.util.Date;
@ -44,6 +46,7 @@ public class CommodityCodeModifyLog implements Serializable {
*/
private Date modifyTime;
private String modifyUserName;
public String getId() {
return id;
@ -101,4 +104,11 @@ public class CommodityCodeModifyLog implements Serializable {
this.modifyTime = modifyTime;
}
public String getModifyUserName() {
return modifyUserName;
}
public void setModifyUserName(String modifyUserName) {
this.modifyUserName = modifyUserName;
}
}

@ -0,0 +1,15 @@
package com.dxhy.order.baseservice.module.commodity.model.dto;
import lombok.Data;
/**
* @Description
* @Author 巩权林
* @Date 2023/3/27 09:05
**/
@Data
public class QueryModifyLogDTO {
private Integer currPage;
private Integer pageSize;
private String commodityId;
}

@ -0,0 +1,23 @@
package com.dxhy.order.baseservice.module.commodity.model.dto;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
/**
* @author xuxueli 2018-03-22 23:51:51
*/
@Getter
@Setter
public class UserInfoDTO {
private Long userid;
private String username;
private String password;
private String mobile;
private String name;
private int status;
private Integer loginCount;
private Date lastLoginTime;
}

@ -3,6 +3,8 @@ package com.dxhy.order.baseservice.module.commodity.service;
import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity;
import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeModifyLog;
import com.dxhy.order.baseservice.module.commodity.model.GroupCommodity;
import com.dxhy.order.baseservice.module.commodity.model.dto.QueryModifyLogDTO;
import com.dxhy.order.model.PageUtils;
import java.util.List;
@ -14,7 +16,9 @@ import java.util.List;
*/
public interface CommodityCodeModifyLogService {
public int saveCommodityCodeDifferenceBetween2(CommodityCodeEntity originOne, CommodityCodeEntity newOne, String modifyUserId);
public int saveCommodityCodeDifferenceBetween2(CommodityCodeEntity originOne, CommodityCodeEntity newOne, Long modifyUserId);
public PageUtils queryPage(QueryModifyLogDTO dto);
public

@ -1,19 +1,37 @@
package com.dxhy.order.baseservice.module.commodity.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.order.baseservice.config.UserCenterConfig;
import com.dxhy.order.baseservice.module.base.service.BaseService;
import com.dxhy.order.baseservice.module.commodity.dao.CommodityCodeModifyLogDao;
import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity;
import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeModifyLog;
import com.dxhy.order.baseservice.module.commodity.model.GroupCommodity;
import com.dxhy.order.baseservice.module.commodity.model.dto.QueryModifyLogDTO;
import com.dxhy.order.baseservice.module.commodity.model.dto.UserInfoDTO;
import com.dxhy.order.baseservice.module.commodity.service.CommodityCodeModifyLogService;
import com.dxhy.order.constant.ConfigureConstant;
import com.dxhy.order.model.PageUtils;
import com.dxhy.order.model.R;
import com.dxhy.order.utils.HttpUtils;
import com.dxhy.order.utils.JsonUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* (CommodityCodeModifyLog)表服务实现类
@ -21,14 +39,21 @@ import java.util.List;
* @author 巩权林
* @since 2023-03-20 15:31:37
*/
@Slf4j
@Service("commodityCodeModifyLogService")
public class CommodityCodeModifyLogServiceImpl implements CommodityCodeModifyLogService {
private static final String LOGGER_MSG = "(物料修改记录表)";
@Resource
private CommodityCodeModifyLogDao commodityCodeModifyLogDao;
@Resource
private BaseService baseService;
@Resource
private UserCenterConfig userCenterConfig;
/**
* 比较两个集团物料编码的区别并且保存历史记录
*
@ -37,7 +62,7 @@ public class CommodityCodeModifyLogServiceImpl implements CommodityCodeModifyLog
* @return
*/
@Override
public int saveCommodityCodeDifferenceBetween2(CommodityCodeEntity originOne, CommodityCodeEntity newOne, String modifyUserId) {
public int saveCommodityCodeDifferenceBetween2(CommodityCodeEntity originOne, CommodityCodeEntity newOne, Long modifyUserId) {
if (StringUtils.isBlank(originOne.getId())) {
return 0;
}
@ -58,7 +83,7 @@ public class CommodityCodeModifyLogServiceImpl implements CommodityCodeModifyLog
modifyLog.setOriginValue(originValue.toString());
modifyLog.setOriginValue(originValue.toString());
modifyLog.setModifyTime(new Date());
modifyLog.setModifyUserId(modifyUserId);
modifyLog.setModifyUserId(Long.toString(modifyUserId));
modifyLogs.add(modifyLog);
}
} catch (IllegalAccessException e) {
@ -67,9 +92,60 @@ public class CommodityCodeModifyLogServiceImpl implements CommodityCodeModifyLog
}
// 批量插入保存
return commodityCodeModifyLogDao.batchInsert(modifyLogs);
}
@Override
@SneakyThrows
public PageUtils queryPage(QueryModifyLogDTO dto) {
int pageSize = dto.getPageSize();
int currPage = dto.getCurrPage();
PageHelper.startPage(currPage, pageSize);
CommodityCodeModifyLog query = new CommodityCodeModifyLog();
query.setCommodityCodeId(dto.getCommodityId());
List<CommodityCodeModifyLog> commodityCodeModifyLogs = commodityCodeModifyLogDao.queryAll(query);
List<String> modifyUserId = commodityCodeModifyLogs.stream().map(CommodityCodeModifyLog::getModifyUserId).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(modifyUserId)) {
modifyUserId = modifyUserId.stream().distinct().collect(Collectors.toList());
String requestBody = JsonUtils.getInstance().toJsonString(modifyUserId);
// 如果修改记录的用户id不为空,则进行匹配
log.info("{},查询用户的接口,url:{},入参:{}", LOGGER_MSG, userCenterConfig.queryUserByIds(), requestBody);
Map<String, String> headMap = new HashMap<>(2);
headMap.put("Content-Type", ConfigureConstant.STRING_APPLICATION_JSON);
HttpServletRequest req = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
String requestToken = req.getHeader(ConfigureConstant.DXHY_SSO_SESSION_ID);
headMap.put("Cookie", "dxhy_sso_sessionid=" + requestToken);
String url = userCenterConfig.queryUserByIds();
String result = HttpUtils.doPostWithHeader(url, requestBody, headMap);
log.info("{},查询用户的接口,返回报文:{}", LOGGER_MSG, result);
if (StringUtils.isEmpty(result)) {
throw new RuntimeException("查询用户信息失败");
}
return 0;
// 循环插入用户
JSONObject queryResult = JSONObject.parseObject(result);
if (!StringUtils.equals(queryResult.getString("code"), "0000")) {
log.error("{},查询用户的接口,返回报文:{},查询用户失败", LOGGER_MSG, result);
throw new RuntimeException("查询用户信息失败");
}
JSONArray userInfoJsonArray = queryResult.getJSONArray("data");
if (CollectionUtils.isEmpty(userInfoJsonArray)) {
log.error("{},查询用户的接口,返回报文:{},查询用户为空", LOGGER_MSG, result);
throw new RuntimeException("查询用户信息为空");
}
List<UserInfoDTO> userInfoList = userInfoJsonArray.toJavaList(UserInfoDTO.class);
// 循环匹配用户
commodityCodeModifyLogs.forEach(i -> {
UserInfoDTO userInfoDTO = userInfoList.stream()
.filter(j -> StringUtils.equals(Long.toString(j.getUserid()), i.getModifyUserId()))
.findFirst().orElse(null);
i.setModifyUserName(userInfoDTO.getName());
});
}
PageInfo<CommodityCodeModifyLog> pageInfo = new PageInfo<>(commodityCodeModifyLogs);
return new PageUtils(pageInfo.getList(), (int) pageInfo.getTotal(), pageInfo.getPageSize(), pageInfo.getPageNum());
}
/**

@ -1,6 +1,8 @@
package com.dxhy.order.baseservice.module.commodity.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.dxhy.order.baseservice.module.commodity.service.CommodityCodeModifyLogService;
import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService;
import com.dxhy.order.constant.*;
import com.dxhy.order.model.CommodityCodeCheckQuery;
import com.dxhy.order.model.CommodityTaxClassCodeParam;
@ -64,6 +66,12 @@ public class CommodityServiceImpl implements CommodityService {
@Resource
private CommodityService commodityService;
@Resource
private CommodityCodeModifyLogService commodityCodeModifyLogService;
@Resource
private UserInfoService userInfoService;
/**
* 查询
*
@ -108,7 +116,9 @@ public class CommodityServiceImpl implements CommodityService {
//启用
codeEntity.setDataState(TaxClassCodeEnum.DATA_STATE_0.getKey());
}
// TODO 记录修改记录
// 记录修改记录
Long userId = userInfoService.getUser().getUserId();
commodityCodeModifyLogService.saveCommodityCodeDifferenceBetween2(commodityCodeEntity, codeEntity, userId);
int i = commodityMapper.updateCommodity(codeEntity, shList);
flag = i >= 0;

@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dxhy.order.baseservice.module.commodity.dao.CommodityCodeModifyLogDao">
<resultMap type="com.dxhy.order.baseservice.module.commodity.entity.CommodityCodeModifyLog" id="CommodityCodeModifyLogMap">
<resultMap type="com.dxhy.order.baseservice.module.commodity.model.CommodityCodeModifyLog" id="CommodityCodeModifyLogMap">
<result property="id" column="id" jdbcType="VARCHAR"/>
<result property="commodityCodeId" column="commodity_code_id" jdbcType="VARCHAR"/>
<result property="key" column="key" jdbcType="VARCHAR"/>
@ -15,7 +15,7 @@
<!--查询单个-->
<select id="queryById" resultMap="CommodityCodeModifyLogMap">
select
id, commodity_code_id, key, origin_value, new_value, modify_user_id, modify_time
id, commodity_code_id, `key`, origin_value, new_value, modify_user_id, modify_time
from sales_order_sdenergy.commodity_code_modify_log
where id = #{id}
</select>
@ -23,7 +23,7 @@
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="CommodityCodeModifyLogMap">
select
id, commodity_code_id, key, origin_value, new_value, modify_user_id, modify_time
id, commodity_code_id, `key`, origin_value, new_value, modify_user_id, modify_time
from sales_order_sdenergy.commodity_code_modify_log
limit #{offset}, #{limit}
</select>
@ -31,7 +31,7 @@
<!--通过实体作为筛选条件查询-->
<select id="queryAll" resultMap="CommodityCodeModifyLogMap">
select
id, commodity_code_id, key, origin_value, new_value, modify_user_id, modify_time
id, commodity_code_id, `key`, origin_value, new_value, modify_user_id, modify_time
from sales_order_sdenergy.commodity_code_modify_log
<where>
<if test="id != null and id != ''">
@ -41,7 +41,7 @@
and commodity_code_id = #{commodityCodeId}
</if>
<if test="key != null and key != ''">
and key = #{key}
and `key` = #{key}
</if>
<if test="originValue != null and originValue != ''">
and origin_value = #{originValue}
@ -59,14 +59,18 @@
</select>
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into sales_order_sdenergy.commodity_code_modify_log(commodity_code_id, key, origin_value, new_value, modify_user_id, modify_time)
insert into sales_order_sdenergy.commodity_code_modify_log(commodity_code_id, `key`, origin_value, new_value, modify_user_id, modify_time)
values (#{commodityCodeId}, #{key}, #{originValue}, #{newValue}, #{modifyUserId}, #{modifyTime})
</insert>
<!--新增所有列-->
<insert id="batchInsert" keyProperty="id" useGeneratedKeys="true">
insert into sales_order_sdenergy.commodity_code_modify_log(commodity_code_id, key, origin_value, new_value, modify_user_id, modify_time)
values (#{commodityCodeId}, #{key}, #{originValue}, #{newValue}, #{modifyUserId}, #{modifyTime})
insert into sales_order_sdenergy.commodity_code_modify_log(id,commodity_code_id, `key`, origin_value, new_value, modify_user_id, modify_time)
values (
<foreach collection="list" item="item" index="index" separator=",">
(#{item.id}, #{item.commodityCodeId}, #{item.key}, #{item.originValue}, #{item.newValue}, #{item.modifyUserId}, #{item.modifyTime})
)
</foreach>
</insert>
<!--通过主键修改数据-->
@ -77,7 +81,7 @@
commodity_code_id = #{commodityCodeId},
</if>
<if test="key != null and key != ''">
key = #{key},
`key` = #{key},
</if>
<if test="originValue != null and originValue != ''">
origin_value = #{originValue},
Loading…
Cancel
Save