订单init1.0

highway
zhaoxiaolin 1 year ago
parent 76cde96c9c
commit ded76bd02d

@ -0,0 +1,103 @@
package com.op.mes.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.mes.domain.ProRouteLine;
import com.op.mes.service.IProRouteLineService;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.page.TableDataInfo;
/**
* 线Controller
*
* @author Open Platform
* @date 2023-07-13
*/
@RestController
@RequestMapping("/pro/routeprodline")
public class ProRouteLineController extends BaseController {
@Autowired
private IProRouteLineService proRouteLineService;
/**
* 线
*/
//@RequiresPermissions("system:line:list")
@GetMapping("/list")
public TableDataInfo list(ProRouteLine proRouteLine) {
startPage();
List<ProRouteLine> list = proRouteLineService.selectProRouteLineList(proRouteLine);
return getDataTable(list);
}
/**
* 线
*/
//@RequiresPermissions("system:line:export")
@Log(title = "工艺线体关联", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProRouteLine proRouteLine) {
List<ProRouteLine> list = proRouteLineService.selectProRouteLineList(proRouteLine);
ExcelUtil<ProRouteLine> util = new ExcelUtil<ProRouteLine>(ProRouteLine.class);
util.exportExcel(response, list, "工艺线体关联数据");
}
/**
* 线
*/
//@RequiresPermissions("system:line:query")
@GetMapping(value = "/{recordId}")
public AjaxResult getInfo(@PathVariable("recordId") String recordId) {
return success(proRouteLineService.selectProRouteLineByRecordId(recordId));
}
/**
* 线
*/
//@RequiresPermissions("system:line:add")
@Log(title = "工艺线体关联", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProRouteLine proRouteLine) {
return toAjax(proRouteLineService.insertProRouteLine(proRouteLine));
}
/**
* 线
*/
//@RequiresPermissions("system:line:edit")
@Log(title = "工艺线体关联", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ProRouteLine proRouteLine) {
return toAjax(proRouteLineService.updateProRouteLine(proRouteLine));
}
/**
* 线
*/
//@RequiresPermissions("system:line:remove")
@Log(title = "工艺线体关联", businessType = BusinessType.DELETE)
@DeleteMapping("/{recordIds}")
public AjaxResult remove(@PathVariable String[] recordIds) {
return toAjax(proRouteLineService.deleteProRouteLineByRecordIds(recordIds));
}
/**穿梭框**/
@GetMapping("/getList")
public ProRouteLine getList(ProRouteLine proRouteLine) {
return proRouteLineService.getList(proRouteLine);
}
}

@ -21,6 +21,10 @@ public class ProOrder extends TreeEntity {
/** 计划工厂编码 */
@Excel(name = "计划工厂编码")
private String planFactoryCode;
/** 计划工厂编码 */
@Excel(name = "工厂编码")
private String factoryCode;
/** 订单类型 */
@ -93,6 +97,14 @@ public class ProOrder extends TreeEntity {
@Excel(name = "上级工单")
private String parentOrder;
public String getPlanFactoryCode() {
return planFactoryCode;
}
public void setPlanFactoryCode(String planFactoryCode) {
this.planFactoryCode = planFactoryCode;
}
/** 产品类型 */
@Excel(name = "产品类型")
private String prodType;

@ -0,0 +1,183 @@
package com.op.mes.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.BaseEntity;
import java.util.List;
/**
* 线 pro_route_line
*
* @author Open Platform
* @date 2023-07-13
*/
public class ProRouteLine extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 记录ID */
private String recordId;
/** 工艺路线ID */
@Excel(name = "工艺路线ID")
private String routeId;
/** 线体ID */
@Excel(name = "线体ID")
private String itemId;
/** 线体编码 */
@Excel(name = "线体编码")
private String itemCode;
/** 线体名称 */
@Excel(name = "线体名称")
private String itemName;
/** 预留字段1 */
@Excel(name = "预留字段1")
private String attr1;
/** 预留字段2 */
@Excel(name = "预留字段2")
private String attr2;
/** 预留字段3 */
@Excel(name = "预留字段3")
private String attr3;
/** 预留字段4 */
@Excel(name = "预留字段4")
private String attr4;
private String key;
private String label;
private List<ProRouteLine> unSelect;
private List<ProRouteLine> selected;
private List<String> selectedValues;
public List<String> getSelectedValues() {
return selectedValues;
}
public void setSelectedValues(List<String> selectedValues) {
this.selectedValues = selectedValues;
}
public List<ProRouteLine> getUnSelect() {
return unSelect;
}
public void setUnSelect(List<ProRouteLine> unSelect) {
this.unSelect = unSelect;
}
public List<ProRouteLine> getSelected() {
return selected;
}
public void setSelected(List<ProRouteLine> selected) {
this.selected = selected;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public void setRecordId(String recordId) {
this.recordId = recordId;
}
public String getRecordId() {
return recordId;
}
public void setRouteId(String routeId) {
this.routeId = routeId;
}
public String getRouteId() {
return routeId;
}
public void setItemId(String itemId) {
this.itemId = itemId;
}
public String getItemId() {
return itemId;
}
public void setItemCode(String itemCode) {
this.itemCode = itemCode;
}
public String getItemCode() {
return itemCode;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public String getItemName() {
return itemName;
}
public void setAttr1(String attr1) {
this.attr1 = attr1;
}
public String getAttr1() {
return attr1;
}
public void setAttr2(String attr2) {
this.attr2 = attr2;
}
public String getAttr2() {
return attr2;
}
public void setAttr3(String attr3) {
this.attr3 = attr3;
}
public String getAttr3() {
return attr3;
}
public void setAttr4(String attr4) {
this.attr4 = attr4;
}
public String getAttr4() {
return attr4;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("recordId", getRecordId())
.append("routeId", getRouteId())
.append("itemId", getItemId())
.append("itemCode", getItemCode())
.append("itemName", getItemName())
.append("remark", getRemark())
.append("attr1", getAttr1())
.append("attr2", getAttr2())
.append("attr3", getAttr3())
.append("attr4", getAttr4())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

@ -0,0 +1,68 @@
package com.op.mes.mapper;
import java.util.List;
import com.op.mes.domain.ProRouteLine;
import org.apache.ibatis.annotations.Mapper;
/**
* 线Mapper
*
* @author Open Platform
* @date 2023-07-13
*/
@Mapper
public interface ProRouteLineMapper {
/**
* 线
*
* @param recordId 线
* @return 线
*/
public ProRouteLine selectProRouteLineByRecordId(String recordId);
/**
* 线
*
* @param proRouteLine 线
* @return 线
*/
public List<ProRouteLine> selectProRouteLineList(ProRouteLine proRouteLine);
/**
* 线
*
* @param proRouteLine 线
* @return
*/
public int insertProRouteLine(ProRouteLine proRouteLine);
/**
* 线
*
* @param proRouteLine 线
* @return
*/
public int updateProRouteLine(ProRouteLine proRouteLine);
/**
* 线
*
* @param recordId 线
* @return
*/
public int deleteProRouteLineByRecordId(String recordId);
/**
* 线
*
* @param recordIds
* @return
*/
public int deleteProRouteLineByRecordIds(String[] recordIds);
public List<ProRouteLine> getRouteProdLineListUndo(ProRouteLine proRouteLine);
List<ProRouteLine> getRouteProdLineListDo(ProRouteLine proRouteLine);
void deleteByRouteId(ProRouteLine proRouteLine);
}

@ -0,0 +1,62 @@
package com.op.mes.service;
import java.util.List;
import com.op.mes.domain.ProRouteLine;
/**
* 线Service
*
* @author Open Platform
* @date 2023-07-13
*/
public interface IProRouteLineService {
/**
* 线
*
* @param recordId 线
* @return 线
*/
public ProRouteLine selectProRouteLineByRecordId(String recordId);
/**
* 线
*
* @param proRouteLine 线
* @return 线
*/
public List<ProRouteLine> selectProRouteLineList(ProRouteLine proRouteLine);
/**
* 线
*
* @param proRouteLine 线
* @return
*/
public int insertProRouteLine(ProRouteLine proRouteLine);
/**
* 线
*
* @param proRouteLine 线
* @return
*/
public int updateProRouteLine(ProRouteLine proRouteLine);
/**
* 线
*
* @param recordIds 线
* @return
*/
public int deleteProRouteLineByRecordIds(String[] recordIds);
/**
* 线
*
* @param recordId 线
* @return
*/
public int deleteProRouteLineByRecordId(String recordId);
ProRouteLine getList(ProRouteLine proRouteLine);
}

@ -0,0 +1,120 @@
package com.op.mes.service.impl;
import java.util.Date;
import java.util.List;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.mes.mapper.ProRouteLineMapper;
import com.op.mes.domain.ProRouteLine;
import com.op.mes.service.IProRouteLineService;
/**
* 线Service
*
* @author Open Platform
* @date 2023-07-13
*/
@Service
public class ProRouteLineServiceImpl implements IProRouteLineService {
@Autowired
private ProRouteLineMapper proRouteLineMapper;
/**
* 线
*
* @param recordId 线
* @return 线
*/
@Override
public ProRouteLine selectProRouteLineByRecordId(String recordId) {
return proRouteLineMapper.selectProRouteLineByRecordId(recordId);
}
/**
* 线
*
* @param proRouteLine 线
* @return 线
*/
@Override
public List<ProRouteLine> selectProRouteLineList(ProRouteLine proRouteLine) {
return proRouteLineMapper.selectProRouteLineList(proRouteLine);
}
/**
* 线
*
* @param proRouteLine 线
* @return
*/
@Override
public int insertProRouteLine(ProRouteLine proRouteLine) {
Date now = DateUtils.getNowDate();
if(StringUtils.isNotBlank(proRouteLine.getRouteId())){
//删除之前的关联关系
proRouteLineMapper.deleteByRouteId(proRouteLine);
}
if(proRouteLine.getSelectedValues()!=null){
ProRouteLine proRouteLineDto =null;
for(String lineCode:proRouteLine.getSelectedValues()){
proRouteLineDto = new ProRouteLine();
proRouteLineDto.setRecordId(IdUtils.fastSimpleUUID());
proRouteLineDto.setCreateTime(now);
proRouteLineDto.setCreateBy(SecurityUtils.getUsername());
proRouteLineDto.setRouteId(proRouteLine.getRouteId());
proRouteLineDto.setItemCode(lineCode);
proRouteLineMapper.insertProRouteLine(proRouteLineDto);
}
}
//新增关联关系
return 1;
}
/**
* 线
*
* @param proRouteLine 线
* @return
*/
@Override
public int updateProRouteLine(ProRouteLine proRouteLine) {
proRouteLine.setUpdateTime(DateUtils.getNowDate());
return proRouteLineMapper.updateProRouteLine(proRouteLine);
}
/**
* 线
*
* @param recordIds 线
* @return
*/
@Override
public int deleteProRouteLineByRecordIds(String[] recordIds) {
return proRouteLineMapper.deleteProRouteLineByRecordIds(recordIds);
}
/**
* 线
*
* @param recordId 线
* @return
*/
@Override
public int deleteProRouteLineByRecordId(String recordId) {
return proRouteLineMapper.deleteProRouteLineByRecordId(recordId);
}
@Override
public ProRouteLine getList(ProRouteLine proRouteLine) {
ProRouteLine dto = new ProRouteLine();
List<ProRouteLine> unSelected= proRouteLineMapper.getRouteProdLineListUndo(proRouteLine);
dto.setUnSelect(unSelected);
List<ProRouteLine> selected= proRouteLineMapper.getRouteProdLineListDo(proRouteLine);
dto.setSelected(selected);
return dto;
}
}

@ -6,6 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="ProOrder" id="ProOrderResult">
<result property="id" column="id" />
<result property="planFactoryCode" column="plan_factory_code" />
<result property="factoryCode" column="factory_code" />
<result property="orderType" column="order_type" />
<result property="orderCode" column="order_code" />
@ -30,15 +31,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectProOrderVo">
select id, factory_code, order_type, order_code, prod_code, prod_desc, quantity, quantity_split
select id, plan_factory_code, order_type, order_code, prod_code, prod_desc, quantity, quantity_split
unit, worker_order, plan_pro_date, plan_complete, atrr1, atrr2, atrr3,
status, parent_order, create_by, create_time, update_by, update_time, prod_type
status, parent_order, create_by, create_time, update_by, update_time, prod_type,
factory_code
from pro_order
</sql>
<select id="selectProOrderList" parameterType="ProOrder" resultMap="ProOrderResult">
<include refid="selectProOrderVo"/>
<where>
<if test="planFactoryCode != null and planFactoryCode != ''"> and plan_factory_code = #{planFactoryCode}</if>
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
<if test="orderType != null and orderType != ''"> and order_type = #{orderType}</if>
<if test="orderCode != null and orderCode != ''"> and order_code = #{orderCode}</if>
@ -67,6 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
insert into pro_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="planFactoryCode != null">plan_factory_code,</if>
<if test="factoryCode != null">factory_code,</if>
<if test="orderType != null">order_type,</if>
<if test="orderCode != null">order_code,</if>
@ -91,6 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="planFactoryCode != null">#{planFactoryCode},</if>
<if test="factoryCode != null">#{factoryCode},</if>
<if test="orderType != null">#{orderType},</if>
<if test="orderCode != null">#{orderCode},</if>
@ -118,6 +123,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updateProOrder" parameterType="ProOrder">
update pro_order
<trim prefix="SET" suffixOverrides=",">
<if test="planFactoryCode != null">plan_factoryCode = #{planFactoryCode},</if>
<if test="factoryCode != null">factory_code = #{factoryCode},</if>
<if test="orderType != null">order_type = #{orderType},</if>
<if test="orderCode != null">order_code = #{orderCode},</if>

@ -0,0 +1,129 @@
<?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.op.mes.mapper.ProRouteLineMapper">
<resultMap type="ProRouteLine" id="ProRouteLineResult">
<result property="recordId" column="record_id" />
<result property="routeId" column="route_id" />
<result property="itemId" column="item_id" />
<result property="itemCode" column="item_code" />
<result property="itemName" column="item_name" />
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectProRouteLineVo">
select record_id, route_id, item_id, item_code, item_name, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_route_line
</sql>
<select id="selectProRouteLineList" parameterType="ProRouteLine" resultMap="ProRouteLineResult">
<include refid="selectProRouteLineVo"/>
<where>
<if test="routeId != null and routeId != ''"> and route_id = #{routeId}</if>
<if test="itemId != null and itemId != ''"> and item_id = #{itemId}</if>
<if test="itemCode != null and itemCode != ''"> and item_code = #{itemCode}</if>
<if test="itemName != null and itemName != ''"> and item_name like concat('%', #{itemName}, '%')</if>
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
<if test="attr2 != null and attr2 != ''"> and attr2 = #{attr2}</if>
<if test="attr3 != null and attr3 != ''"> and attr3 = #{attr3}</if>
<if test="attr4 != null and attr4 != ''"> and attr4 = #{attr4}</if>
</where>
</select>
<select id="selectProRouteLineByRecordId" parameterType="String" resultMap="ProRouteLineResult">
<include refid="selectProRouteLineVo"/>
where record_id = #{recordId}
</select>
<select id="getRouteProdLineListUndo" resultType="com.op.mes.domain.ProRouteLine">
select sf.f_code [key],
sf.factory_name label
from sys_factory sf
where sf.f_type='l' and sf.status = '1' and sf.del_flag = '0'
</select>
<select id="getRouteProdLineListDo" resultType="com.op.mes.domain.ProRouteLine">
select pl.item_code [key],
sf.factory_name label
from pro_route_line pl
left join sys_factory sf on pl.item_code = sf.f_code
where pl.route_id = #{routeId}
</select>
<insert id="insertProRouteLine" parameterType="ProRouteLine">
insert into pro_route_line
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="recordId != null">record_id,</if>
<if test="routeId != null and routeId != ''">route_id,</if>
<if test="itemId != null and itemId != ''">item_id,</if>
<if test="itemCode != null and itemCode != ''">item_code,</if>
<if test="itemName != null and itemName != ''">item_name,</if>
<if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="recordId != null">#{recordId},</if>
<if test="routeId != null and routeId != ''">#{routeId},</if>
<if test="itemId != null and itemId != ''">#{itemId},</if>
<if test="itemCode != null and itemCode != ''">#{itemCode},</if>
<if test="itemName != null and itemName != ''">#{itemName},</if>
<if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateProRouteLine" parameterType="ProRouteLine">
update pro_route_line
<trim prefix="SET" suffixOverrides=",">
<if test="routeId != null and routeId != ''">route_id = #{routeId},</if>
<if test="itemId != null and itemId != ''">item_id = #{itemId},</if>
<if test="itemCode != null and itemCode != ''">item_code = #{itemCode},</if>
<if test="itemName != null and itemName != ''">item_name = #{itemName},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where record_id = #{recordId}
</update>
<delete id="deleteProRouteLineByRecordId" parameterType="String">
delete from pro_route_line where record_id = #{recordId}
</delete>
<delete id="deleteProRouteLineByRecordIds" parameterType="String">
delete from pro_route_line where record_id in
<foreach item="recordId" collection="array" open="(" separator="," close=")">
#{recordId}
</foreach>
</delete>
<delete id="deleteByRouteId">
delete from pro_route_line where route_id = #{routeId}
</delete>
</mapper>

@ -0,0 +1,198 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="web" name="Web">
<configuration>
<webroots />
</configuration>
</facet>
<facet type="Spring" name="Spring">
<configuration />
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2021.0.4.0" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-alibaba-commons:2021.0.4.0" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-client:2.0.4" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.15" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.13.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.13.4.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.13.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.16" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.16" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.14" level="project" />
<orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
<orderEntry type="library" name="Maven: io.prometheus:simpleclient:0.15.0" level="project" />
<orderEntry type="library" name="Maven: io.prometheus:simpleclient_tracer_otel:0.15.0" level="project" />
<orderEntry type="library" name="Maven: io.prometheus:simpleclient_tracer_common:0.15.0" level="project" />
<orderEntry type="library" name="Maven: io.prometheus:simpleclient_tracer_otel_agent:0.15.0" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.30" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.spring:spring-context-support:1.0.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.7.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:3.1.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config:2021.0.4.0" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.36" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-sentinel:2021.0.4.0" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-transport-simple-http:1.8.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-transport-common:1.8.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-datasource-extension:1.8.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.83_noneautotype" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-annotation-aspectj:1.8.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-core:1.8.5" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-circuitbreaker-sentinel:2021.0.4.0" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-reactor-adapter:1.8.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-spring-webflux-adapter:1.8.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-spring-webmvc-adapter:1.8.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-parameter-flow-control:1.8.5" level="project" />
<orderEntry type="library" name="Maven: com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-cluster-server-default:1.8.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-cluster-common-default:1.8.5" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.86.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.86.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.86.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.86.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.86.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport-native-unix-common:4.1.86.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.86.Final" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.csp:sentinel-cluster-client-default:1.8.5" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-alibaba-sentinel-datasource:2021.0.4.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.24" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.7.7" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.11" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.11" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.17.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.17.2" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.36" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.24" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.24" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.7.7" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.4" level="project" />
<orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.9.6" level="project" />
<orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.12" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-webmvc:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-core:3.0.0" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.12.20" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.github.classgraph:classgraph:4.8.83" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.24" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.24" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:2.0.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.mysql:mysql-connector-j:8.0.31" level="project" />
<orderEntry type="module" module-name="op-common-datasource" />
<orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.2.16" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid:1.2.16" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.5.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.7.7" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:4.0.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.24" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.24" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.7.7" level="project" />
<orderEntry type="module" module-name="op-common-datascope" />
<orderEntry type="module" module-name="op-common-security" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.24" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.24" level="project" />
<orderEntry type="module" module-name="op-api-system" />
<orderEntry type="module" module-name="op-common-core" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-openfeign:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:3.1.5" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-core:11.10" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:11.10" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-loadbalancer:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-loadbalancer:3.1.5" level="project" />
<orderEntry type="library" name="Maven: io.projectreactor.addons:reactor-extra:3.4.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.7.7" level="project" />
<orderEntry type="library" name="Maven: com.stoyanr:evictor:1.0.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.3.24" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:transmittable-thread-local:2.14.2" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.4.6" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.2.2" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.9" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.7" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.4.6" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.3.2" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.2.5.Final" level="project" />
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.3.Final" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.fastjson2:fastjson2:2.0.25" level="project" />
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.12.0" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.11.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:4.1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi:4.1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-math3:3.6.1" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:SparseBitSet:1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:4.1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:3.1.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.19" level="project" />
<orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.06" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
<orderEntry type="module" module-name="op-common-redis" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.7.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.7.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.7.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.3.24" level="project" />
<orderEntry type="library" name="Maven: io.lettuce:lettuce-core:6.1.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.4.26" level="project" />
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.4" level="project" />
<orderEntry type="module" module-name="op-common-log" />
<orderEntry type="module" module-name="op-common-swagger" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.7.7" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.4" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.70" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.70" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.70" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.24" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.swagger.core.v3:swagger-annotations:2.1.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-webflux:3.0.0" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.6.2" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.6.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.mapstruct:mapstruct:1.3.1.Final" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-bootstrap:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.11.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.69" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.69" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcutil-jdk15on:1.69" level="project" />
</component>
</module>

@ -1,127 +0,0 @@
package com.op.wms.controller;
import java.io.IOException;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.op.common.core.domain.R;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.web.page.TableDataInfo;
import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.InnerAuth;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.common.security.utils.SecurityUtils;
import com.op.system.api.domain.SysDept;
import com.op.system.api.domain.SysRole;
import com.op.system.api.domain.SysUser;
import com.op.system.api.model.LoginUser;
import com.op.wms.service.ISysUserService;
/**
*
*
* @author OP
*/
@RestController
@RequestMapping("/user")
public class SysUserController extends BaseController {
@Autowired
private ISysUserService userService;
/**
*
*/
@RequiresPermissions("system:user:list")
@GetMapping("/list")
public TableDataInfo list(SysUser user) {
startPage();
List<SysUser> list = userService.selectUserList(user);
return getDataTable(list);
}
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@RequiresPermissions("system:user:export")
@PostMapping("/export")
public void export(HttpServletResponse response, SysUser user) {
List<SysUser> list = userService.selectUserList(user);
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
util.exportExcel(response, list, "用户数据");
}
@PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response) throws IOException {
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
util.importTemplateExcel(response, "用户数据");
}
/**
*
*/
@RequiresPermissions("system:user:add")
@Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysUser user) {
if (!userService.checkUserNameUnique(user)) {
return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
user.setCreateBy(SecurityUtils.getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
return toAjax(userService.insertUser(user));
}
/**
*
*/
@RequiresPermissions("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/resetPwd")
public AjaxResult resetPwd(@RequestBody SysUser user) {
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.resetPwd(user));
}
/**
*
*/
@RequiresPermissions("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public AjaxResult changeStatus(@RequestBody SysUser user) {
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.updateUserStatus(user));
}
}

@ -1,39 +0,0 @@
package com.op.wms.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* sys_user_role
*
* @author OP
*/
public class SysUserRole {
/** 用户ID */
private Long userId;
/** 角色ID */
private Long roleId;
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("userId", getUserId())
.append("roleId", getRoleId()).toString();
}
}

@ -1,126 +0,0 @@
package com.op.wms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.op.system.api.domain.SysUser;
/**
*
*
* @author OP
*/
public interface SysUserMapper {
/**
*
*
* @param sysUser
* @return
*/
public List<SysUser> selectUserList(SysUser sysUser);
/**
*
*
* @param user
* @return
*/
public List<SysUser> selectAllocatedList(SysUser user);
/**
*
*
* @param user
* @return
*/
public List<SysUser> selectUnallocatedList(SysUser user);
/**
*
*
* @param userName
* @return
*/
public SysUser selectUserByUserName(String userName);
/**
* ID
*
* @param userId ID
* @return
*/
public SysUser selectUserById(Long userId);
/**
*
*
* @param user
* @return
*/
public int insertUser(SysUser user);
/**
*
*
* @param user
* @return
*/
public int updateUser(SysUser user);
/**
*
*
* @param userName
* @param avatar
* @return
*/
public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar);
/**
*
*
* @param userName
* @param password
* @return
*/
public int resetUserPwd(@Param("userName") String userName, @Param("password") String password);
/**
* ID
*
* @param userId ID
* @return
*/
public int deleteUserById(Long userId);
/**
*
*
* @param userIds ID
* @return
*/
public int deleteUserByIds(Long[] userIds);
/**
*
*
* @param userName
* @return
*/
public SysUser checkUserNameUnique(String userName);
/**
*
*
* @param phonenumber
* @return
*/
public SysUser checkPhoneUnique(String phonenumber);
/**
* email
*
* @param email
* @return
*/
public SysUser checkEmailUnique(String email);
}

@ -1,149 +0,0 @@
package com.op.wms.service;
import java.util.List;
import com.op.system.api.domain.SysUser;
/**
*
*
* @author OP
*/
public interface ISysUserService {
/**
*
*
* @param user
* @return
*/
public List<SysUser> selectUserList(SysUser user);
/**
*
*
* @param user
* @return
*/
public List<SysUser> selectAllocatedList(SysUser user);
/**
*
*
* @param user
* @return
*/
public List<SysUser> selectUnallocatedList(SysUser user);
/**
*
*
* @param userName
* @return
*/
public SysUser selectUserByUserName(String userName);
/**
* ID
*
* @param userId ID
* @return
*/
public SysUser selectUserById(Long userId);
/**
*
*
* @param user
* @return
*/
public boolean checkUserNameUnique(SysUser user);
/**
*
*
* @param user
* @return
*/
public boolean checkPhoneUnique(SysUser user);
/**
* email
*
* @param user
* @return
*/
public boolean checkEmailUnique(SysUser user);
/**
*
*
* @param user
*/
public void checkUserAllowed(SysUser user);
/**
*
*
* @param userId id
*/
public void checkUserDataScope(Long userId);
/**
*
*
* @param user
* @return
*/
public int insertUser(SysUser user);
/**
*
*
* @param user
* @return
*/
public boolean registerUser(SysUser user);
/**
*
*
* @param user
* @return
*/
public int updateUserStatus(SysUser user);
/**
*
*
* @param user
* @return
*/
public int updateUserProfile(SysUser user);
/**
*
*
* @param userName
* @param avatar
* @return
*/
public boolean updateUserAvatar(String userName, String avatar);
/**
*
*
* @param user
* @return
*/
public int resetPwd(SysUser user);
/**
*
*
* @param userName
* @param password
* @return
*/
public int resetUserPwd(String userName, String password);
}

@ -1,264 +0,0 @@
package com.op.wms.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Validator;
import com.op.wms.mapper.SysUserMapper;
import com.op.wms.service.ISysUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import com.op.common.core.constant.UserConstants;
import com.op.common.core.exception.ServiceException;
import com.op.common.core.utils.SpringUtils;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.bean.BeanValidators;
import com.op.common.datascope.annotation.DataScope;
import com.op.common.security.utils.SecurityUtils;
import com.op.system.api.domain.SysRole;
import com.op.system.api.domain.SysUser;
/**
*
*
* @author OP
*/
@Service
public class SysUserServiceImpl implements ISysUserService {
private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
@Autowired
private SysUserMapper userMapper;
@Autowired
protected Validator validator;
/**
*
*
* @param user
* @return
*/
@Override
@DataScope(deptAlias = "d", userAlias = "u")
public List<SysUser> selectUserList(SysUser user) {
return userMapper.selectUserList(user);
}
/**
*
*
* @param user
* @return
*/
@Override
@DataScope(deptAlias = "d", userAlias = "u")
public List<SysUser> selectAllocatedList(SysUser user) {
return userMapper.selectAllocatedList(user);
}
/**
*
*
* @param user
* @return
*/
@Override
@DataScope(deptAlias = "d", userAlias = "u")
public List<SysUser> selectUnallocatedList(SysUser user) {
return userMapper.selectUnallocatedList(user);
}
/**
*
*
* @param userName
* @return
*/
@Override
public SysUser selectUserByUserName(String userName) {
return userMapper.selectUserByUserName(userName);
}
/**
* ID
*
* @param userId ID
* @return
*/
@Override
public SysUser selectUserById(Long userId) {
return userMapper.selectUserById(userId);
}
/**
*
*
* @param user
* @return
*/
@Override
public boolean checkUserNameUnique(SysUser user) {
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkUserNameUnique(user.getUserName());
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
/**
*
*
* @param user
* @return
*/
@Override
public boolean checkPhoneUnique(SysUser user) {
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber());
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
/**
* email
*
* @param user
* @return
*/
@Override
public boolean checkEmailUnique(SysUser user) {
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkEmailUnique(user.getEmail());
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
/**
*
*
* @param user
*/
@Override
public void checkUserAllowed(SysUser user) {
if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) {
throw new ServiceException("不允许操作超级管理员用户");
}
}
/**
*
*
* @param userId id
*/
@Override
public void checkUserDataScope(Long userId) {
if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
SysUser user = new SysUser();
user.setUserId(userId);
List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user);
if (StringUtils.isEmpty(users)) {
throw new ServiceException("没有权限访问用户数据!");
}
}
}
/**
*
*
* @param user
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int insertUser(SysUser user) {
// 新增用户信息
int rows = userMapper.insertUser(user);
return rows;
}
/**
*
*
* @param user
* @return
*/
@Override
public boolean registerUser(SysUser user) {
return userMapper.insertUser(user) > 0;
}
/**
*
*
* @param user
* @return
*/
@Override
public int updateUserStatus(SysUser user) {
return userMapper.updateUser(user);
}
/**
*
*
* @param user
* @return
*/
@Override
public int updateUserProfile(SysUser user) {
return userMapper.updateUser(user);
}
/**
*
*
* @param userName
* @param avatar
* @return
*/
@Override
public boolean updateUserAvatar(String userName, String avatar) {
return userMapper.updateUserAvatar(userName, avatar) > 0;
}
/**
*
*
* @param user
* @return
*/
@Override
public int resetPwd(SysUser user) {
return userMapper.updateUser(user);
}
/**
*
*
* @param userName
* @param password
* @return
*/
@Override
public int resetUserPwd(String userName, String password) {
return userMapper.resetUserPwd(userName, password);
}
}
Loading…
Cancel
Save