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

release
gongquanlin 2 years ago
parent c0e5cbb2a4
commit 58cb3d7ee7
  1. 14
      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. 8
      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. 14
      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.Getter;
import lombok.Setter; import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -93,12 +94,23 @@ public class UserCenterConfig {
/** /**
* i-tax新增用户 * i-tax新增用户
*
* @return * @return
*/ */
public String configAddBigUser(){ public String configAddBigUser() {
return dbUserInfoUrl + "/api/user/addUserInfo"; 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用户信息 * 获取大B用户信息
* *

@ -4,6 +4,9 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON; 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.constant.*;
import com.dxhy.order.model.CommodityCodeCheckQuery; import com.dxhy.order.model.CommodityCodeCheckQuery;
import com.dxhy.order.model.CommodityTaxClassCodeReq; import com.dxhy.order.model.CommodityTaxClassCodeReq;
@ -63,6 +66,9 @@ public class CommodityController {
@Resource @Resource
private BaseService baseService; private BaseService baseService;
@Resource
private CommodityCodeModifyLogService commodityCodeModifyLogService;
/** /**
* 查询商品编码 * 查询商品编码
* 在使用 * 在使用
@ -662,4 +668,15 @@ public class CommodityController {
private String nullToEmptyString(String str) { private String nullToEmptyString(String str) {
return Objects.isNull(str) ? "" : 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 * @Date 2023/3/20 15:33
**/ **/
import com.dxhy.order.baseservice.module.commodity.model.dto.UserInfoDTO;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -44,6 +46,7 @@ public class CommodityCodeModifyLog implements Serializable {
*/ */
private Date modifyTime; private Date modifyTime;
private String modifyUserName;
public String getId() { public String getId() {
return id; return id;
@ -101,4 +104,11 @@ public class CommodityCodeModifyLog implements Serializable {
this.modifyTime = modifyTime; 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.CommodityCodeEntity;
import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeModifyLog; 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.GroupCommodity;
import com.dxhy.order.baseservice.module.commodity.model.dto.QueryModifyLogDTO;
import com.dxhy.order.model.PageUtils;
import java.util.List; import java.util.List;
@ -14,10 +16,12 @@ import java.util.List;
*/ */
public interface CommodityCodeModifyLogService { 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
public
/** /**
* 通过ID查询单条数据 * 通过ID查询单条数据

@ -1,19 +1,37 @@
package com.dxhy.order.baseservice.module.commodity.service.impl; 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.base.service.BaseService;
import com.dxhy.order.baseservice.module.commodity.dao.CommodityCodeModifyLogDao; 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.CommodityCodeEntity;
import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeModifyLog; 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.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.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.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; 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.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.ArrayList; import java.util.*;
import java.util.Date; import java.util.stream.Collectors;
import java.util.List;
/** /**
* (CommodityCodeModifyLog)表服务实现类 * (CommodityCodeModifyLog)表服务实现类
@ -21,14 +39,21 @@ import java.util.List;
* @author 巩权林 * @author 巩权林
* @since 2023-03-20 15:31:37 * @since 2023-03-20 15:31:37
*/ */
@Slf4j
@Service("commodityCodeModifyLogService") @Service("commodityCodeModifyLogService")
public class CommodityCodeModifyLogServiceImpl implements CommodityCodeModifyLogService { public class CommodityCodeModifyLogServiceImpl implements CommodityCodeModifyLogService {
private static final String LOGGER_MSG = "(物料修改记录表)";
@Resource @Resource
private CommodityCodeModifyLogDao commodityCodeModifyLogDao; private CommodityCodeModifyLogDao commodityCodeModifyLogDao;
@Resource @Resource
private BaseService baseService; private BaseService baseService;
@Resource
private UserCenterConfig userCenterConfig;
/** /**
* 比较两个集团物料编码的区别并且保存历史记录 * 比较两个集团物料编码的区别并且保存历史记录
* *
@ -37,7 +62,7 @@ public class CommodityCodeModifyLogServiceImpl implements CommodityCodeModifyLog
* @return * @return
*/ */
@Override @Override
public int saveCommodityCodeDifferenceBetween2(CommodityCodeEntity originOne, CommodityCodeEntity newOne, String modifyUserId) { public int saveCommodityCodeDifferenceBetween2(CommodityCodeEntity originOne, CommodityCodeEntity newOne, Long modifyUserId) {
if (StringUtils.isBlank(originOne.getId())) { if (StringUtils.isBlank(originOne.getId())) {
return 0; return 0;
} }
@ -58,7 +83,7 @@ public class CommodityCodeModifyLogServiceImpl implements CommodityCodeModifyLog
modifyLog.setOriginValue(originValue.toString()); modifyLog.setOriginValue(originValue.toString());
modifyLog.setOriginValue(originValue.toString()); modifyLog.setOriginValue(originValue.toString());
modifyLog.setModifyTime(new Date()); modifyLog.setModifyTime(new Date());
modifyLog.setModifyUserId(modifyUserId); modifyLog.setModifyUserId(Long.toString(modifyUserId));
modifyLogs.add(modifyLog); modifyLogs.add(modifyLog);
} }
} catch (IllegalAccessException e) { } 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("查询用户信息失败");
}
// 循环插入用户
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());
});
}
return 0; 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; package com.dxhy.order.baseservice.module.commodity.service.impl;
import cn.hutool.core.util.ObjectUtil; 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.constant.*;
import com.dxhy.order.model.CommodityCodeCheckQuery; import com.dxhy.order.model.CommodityCodeCheckQuery;
import com.dxhy.order.model.CommodityTaxClassCodeParam; import com.dxhy.order.model.CommodityTaxClassCodeParam;
@ -64,6 +66,12 @@ public class CommodityServiceImpl implements CommodityService {
@Resource @Resource
private CommodityService commodityService; private CommodityService commodityService;
@Resource
private CommodityCodeModifyLogService commodityCodeModifyLogService;
@Resource
private UserInfoService userInfoService;
/** /**
* 查询 * 查询
* *
@ -75,7 +83,7 @@ public class CommodityServiceImpl implements CommodityService {
int pageSize = Integer.parseInt((String) map.get(ConfigureConstant.STRING_PAGE_SIZE)); int pageSize = Integer.parseInt((String) map.get(ConfigureConstant.STRING_PAGE_SIZE));
int currPage = Integer.parseInt((String) map.get(ConfigureConstant.STRING_CURR_PAGE)); int currPage = Integer.parseInt((String) map.get(ConfigureConstant.STRING_CURR_PAGE));
PageHelper.startPage(currPage, pageSize); PageHelper.startPage(currPage, pageSize);
List<CommodityCodeEntity> selectCommodity = commodityMapper.selectCommodityList(map, xhfNsrsbh,entIdList); List<CommodityCodeEntity> selectCommodity = commodityMapper.selectCommodityList(map, xhfNsrsbh, entIdList);
selectCommodity.forEach(commodityCodeEntity -> { selectCommodity.forEach(commodityCodeEntity -> {
if (StringUtils.isNotBlank(commodityCodeEntity.getSl())) { if (StringUtils.isNotBlank(commodityCodeEntity.getSl())) {
commodityCodeEntity.setSl(CommonUtils.formatSl(commodityCodeEntity.getSl())); commodityCodeEntity.setSl(CommonUtils.formatSl(commodityCodeEntity.getSl()));
@ -108,7 +116,9 @@ public class CommodityServiceImpl implements CommodityService {
//启用 //启用
codeEntity.setDataState(TaxClassCodeEnum.DATA_STATE_0.getKey()); codeEntity.setDataState(TaxClassCodeEnum.DATA_STATE_0.getKey());
} }
// TODO 记录修改记录 // 记录修改记录
Long userId = userInfoService.getUser().getUserId();
commodityCodeModifyLogService.saveCommodityCodeDifferenceBetween2(commodityCodeEntity, codeEntity, userId);
int i = commodityMapper.updateCommodity(codeEntity, shList); int i = commodityMapper.updateCommodity(codeEntity, shList);
flag = i >= 0; 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"> <!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"> <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="id" column="id" jdbcType="VARCHAR"/>
<result property="commodityCodeId" column="commodity_code_id" jdbcType="VARCHAR"/> <result property="commodityCodeId" column="commodity_code_id" jdbcType="VARCHAR"/>
<result property="key" column="key" jdbcType="VARCHAR"/> <result property="key" column="key" jdbcType="VARCHAR"/>
@ -15,7 +15,7 @@
<!--查询单个--> <!--查询单个-->
<select id="queryById" resultMap="CommodityCodeModifyLogMap"> <select id="queryById" resultMap="CommodityCodeModifyLogMap">
select 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 from sales_order_sdenergy.commodity_code_modify_log
where id = #{id} where id = #{id}
</select> </select>
@ -23,7 +23,7 @@
<!--查询指定行数据--> <!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="CommodityCodeModifyLogMap"> <select id="queryAllByLimit" resultMap="CommodityCodeModifyLogMap">
select 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 from sales_order_sdenergy.commodity_code_modify_log
limit #{offset}, #{limit} limit #{offset}, #{limit}
</select> </select>
@ -31,7 +31,7 @@
<!--通过实体作为筛选条件查询--> <!--通过实体作为筛选条件查询-->
<select id="queryAll" resultMap="CommodityCodeModifyLogMap"> <select id="queryAll" resultMap="CommodityCodeModifyLogMap">
select 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 from sales_order_sdenergy.commodity_code_modify_log
<where> <where>
<if test="id != null and id != ''"> <if test="id != null and id != ''">
@ -41,7 +41,7 @@
and commodity_code_id = #{commodityCodeId} and commodity_code_id = #{commodityCodeId}
</if> </if>
<if test="key != null and key != ''"> <if test="key != null and key != ''">
and key = #{key} and `key` = #{key}
</if> </if>
<if test="originValue != null and originValue != ''"> <if test="originValue != null and originValue != ''">
and origin_value = #{originValue} and origin_value = #{originValue}
@ -59,14 +59,18 @@
</select> </select>
<insert id="insert" keyProperty="id" useGeneratedKeys="true"> <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}) values (#{commodityCodeId}, #{key}, #{originValue}, #{newValue}, #{modifyUserId}, #{modifyTime})
</insert> </insert>
<!--新增所有列--> <!--新增所有列-->
<insert id="batchInsert" keyProperty="id" useGeneratedKeys="true"> <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) insert into sales_order_sdenergy.commodity_code_modify_log(id,commodity_code_id, `key`, origin_value, new_value, modify_user_id, modify_time)
values (#{commodityCodeId}, #{key}, #{originValue}, #{newValue}, #{modifyUserId}, #{modifyTime}) 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> </insert>
<!--通过主键修改数据--> <!--通过主键修改数据-->
@ -77,7 +81,7 @@
commodity_code_id = #{commodityCodeId}, commodity_code_id = #{commodityCodeId},
</if> </if>
<if test="key != null and key != ''"> <if test="key != null and key != ''">
key = #{key}, `key` = #{key},
</if> </if>
<if test="originValue != null and originValue != ''"> <if test="originValue != null and originValue != ''">
origin_value = #{originValue}, origin_value = #{originValue},
Loading…
Cancel
Save