Commit 745106e3 by 杨清松

购砂用户相关接口

parent 9c316991
......@@ -13,5 +13,6 @@ public class SandUserConstants extends CommonBaseConst{
public static final String DESCRIPTION = "description";
public static final String TELEPHONE = "telephone";
public static final String ENABLED = "enabled";
public static final String SANDID = "sandId";
}
package com.beecode.inz.basis.internal.dao;
import java.util.List;
import java.util.UUID;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.stereotype.Repository;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.config.constants.SandUserConstants;
import com.beecode.inz.basis.config.constants.WarehouseUserConstants;
@Repository
public class SandUserDaoImpl extends AbstractBaseDao {
......@@ -47,4 +52,38 @@ public class SandUserDaoImpl extends AbstractBaseDao {
return listByAttributes(buildSingleMap(SandUserConstants.TELEPHONE, telephone));
}
public List<KObject> findAllBySandId(UUID sandId) {
return getHibernateTemplate().execute(session -> {
StringBuffer sql = new StringBuffer("FROM " + getModelName() + " WHERE sandId = :sandId AND enabled = 1 AND discard = 0 ");
//创建查询
Query<KObject> query = session.createQuery(sql.toString(), KObject.class);
query.setParameter("sandId", sandId);
return query.getResultList();
});
}
public List<KObject> querySandByPhone(String phone) {
return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() {
@SuppressWarnings("unchecked")
@Override
public List<KObject> doInHibernate(Session session) throws HibernateException {
Query<KObject> query = session.createQuery("from " + SandUserConstants.ENTITY + " where (discard is null or discard = 0) and (enabled = 1) and telephone =:phone ", KObject.class);
query.setParameter("phone", phone);
return query.getResultList();
}
});
}
public List<KObject> querySandByUserName(String username) {
return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() {
@SuppressWarnings("unchecked")
@Override
public List<KObject> doInHibernate(Session session) throws HibernateException {
Query<KObject> query = session.createQuery("from " + SandUserConstants.ENTITY + " where (discard is null or discard = 0) and (enabled = 1) and username =:username ", KObject.class);
query.setParameter("username", username);
return query.getResultList();
}
});
}
}
package com.beecode.inz.basis.internal.service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
......@@ -13,6 +14,7 @@ import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.config.constants.SandUserConstants;
import com.beecode.inz.basis.config.constants.WarehouseUserConstants;
import com.beecode.inz.basis.internal.dao.SandUserDaoImpl;
import com.beecode.inz.basis.pojo.SandUser;
import com.beecode.inz.basis.service.SandUserService;
......@@ -104,6 +106,7 @@ public class SandUserServiceImpl implements SandUserService {
obj.set(SandUserConstants.CODE, SandUser.getCode());
obj.set(SandUserConstants.TYPE, SandUser.getType());
obj.set(SandUserConstants.TELEPHONE, SandUser.getTelephone());
obj.set(SandUserConstants.SANDID, SandUser.getSandId());
obj.set(SandUserConstants.ORG, SandUser.getOrg());
obj.set(SandUserConstants.PATH, SandUser.getPath());
obj.set(SandUserConstants.ROLE, SandUser.getRole());
......@@ -182,7 +185,35 @@ public class SandUserServiceImpl implements SandUserService {
dao.update(entity);
}
}
/**
* 获取指定购砂单位下所有用户
* @param sandId
* @return
*/
@Override
public List<KObject> getAllBySandId(UUID sandId) {
Assert.notNull(sandId, "'stationId' must be not null!");
List<KObject> list = dao.findAllBySandId(sandId);
return list;
}
@Override
public Boolean repeatCheck(String parameter, String type) {
List<KObject> list = new ArrayList<>();
if (type.equals("phone")) {
list = dao.querySandByPhone(parameter);
} else if (type.equals("username")) {
list = dao.querySandByUserName(parameter);
}
Boolean flag = false;
if (list != null && list.size() > 0 ) {
flag = true;
}
return flag;
}
}
......@@ -12,6 +12,7 @@ import org.springframework.security.core.userdetails.UserDetails;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.config.constants.SandUserConstants;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 采砂用户
......@@ -57,6 +58,8 @@ public class SandUser implements UserDetails, Serializable {
* 客户类型
*/
private String type;
private String sandId;
/**
* 手机号
......@@ -105,11 +108,13 @@ public class SandUser implements UserDetails, Serializable {
/**
* 创建日期
*/
@JsonFormat(pattern="yyyy-MM-dd'T'HH:mm:ss")
private Date createTime;
/**
* 修改日期
*/
@JsonFormat(pattern="yyyy-MM-dd'T'HH:mm:ss")
private Date modifyTime;
/**
......@@ -133,6 +138,7 @@ public class SandUser implements UserDetails, Serializable {
model.setType(object.getString(SandUserConstants.TYPE));
model.setTelephone(object.getString(SandUserConstants.TELEPHONE));
model.setOrg(object.getString(SandUserConstants.ORG));
model.setSandId(object.getString(SandUserConstants.SANDID));
model.setPath(object.getString(SandUserConstants.PATH));
model.setRole(object.getString(SandUserConstants.ROLE));
model.setDescription(object.getString(SandUserConstants.DESCRIPTION));
......@@ -328,4 +334,12 @@ public class SandUser implements UserDetails, Serializable {
this.modifier = modifier;
}
public String getSandId() {
return sandId;
}
public void setSandId(String sandId) {
this.sandId = sandId;
}
}
package com.beecode.inz.basis.service;
import java.util.List;
import java.util.UUID;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.pojo.SandUser;
/**
......@@ -55,4 +57,8 @@ public interface SandUserService {
*/
void updatePassword(UUID id, String newPassword);
List<KObject> getAllBySandId(UUID id);
Boolean repeatCheck(String parameter, String string);
}
package com.beecode.inz.basis.web;
import java.util.List;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.bcp.core.context.AminoContextHolder;
......@@ -18,15 +26,23 @@ import com.beecode.inz.basis.pojo.SandUser;
import com.beecode.inz.basis.pojo.WarehouseUser;
import com.beecode.inz.basis.service.SandUserService;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.beecode.inz.basis.util.JsonUtil;
import com.beecode.xlib.json.JSONException;
import com.beecode.xlib.json.JSONObject;
import com.beecode.xlib.runtime.Assert;
import com.beecode.xlib.utils.StringUtil;
/**
* 采砂用户
* @author Jackpot
*/
@RestController
@RequestMapping("/sand/user")
@RequestMapping("/sandUser")
public class SandUserController {
@Autowired
private HttpServletRequest request;
private final Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
......@@ -38,7 +54,7 @@ public class SandUserController {
* @param obj
* @return
*/
@PostMapping
@PostMapping("/save")
public Object create(@RequestBody SandUser sandUser) {
try {
......@@ -75,4 +91,112 @@ public class SandUserController {
public String loginState(){
return Integer.toString(HttpStatus.OK.value());
}
/**
* 根据购砂清单id查询用户
* @param obj
* @return
*/
@GetMapping("/getUserBySandId/{sandId}")
public Object getBySandId(@PathVariable(name="sandId") String sandId) {
if(StringUtil.isEmpty(sandId)) {
return ResponseObj.error("sandId不能为空");
}
try {
UUID id = UUID.fromString(sandId);
List<KObject> list = sandUserService.getAllBySandId(id);
return ResponseObj.success("操作成功", list);
} catch (IllegalArgumentException e) {
return ResponseObj.error("sandId错误");
} catch (Exception e) {
e.printStackTrace();
return ResponseObj.error("操作失败");
}
}
/**
* 根据id查询用户
* @param obj
* @return
*/
@GetMapping("/queryById/{id}")
public Object queryById(@PathVariable(name="id") String id) {
if(StringUtil.isEmpty(id)) {
return ResponseObj.error("id不能为空");
}
try {
SandUser sandUser = sandUserService.getById(UUID.fromString(id));
return ResponseObj.success("操作成功", sandUser);
} catch (IllegalArgumentException e) {
return ResponseObj.error("stationId错误");
} catch (Exception e) {
return ResponseObj.error("操作失败");
}
}
/**
* 编辑
* @param obj
* @return
*/
@PostMapping("/modify")
public Object modify(@RequestBody String body) {
if(StringUtil.isEmpty(body)) {
return ResponseObj.error("参数不能为空");
}
SandUser sandUser = JsonUtil.jsonToBean(body, SandUser.class);
if(sandUser == null) {
return ResponseObj.error("参数无法识别");
}
try {
sandUserService.modify(sandUser);
} catch(Exception e) {
logger.error("", e);
return ResponseObj.error(e.getMessage());
}
return ResponseObj.success("操作成功",null);
}
/**
* 用户名,手机号校验重复
*
* @param obj
* @return
*/
@ResponseBody
@RequestMapping(value = "/verify", method = RequestMethod.PUT)
public Object verify(@RequestBody String body){
Assert.notNull(body, "The body must not be null");
String operation = request.getHeader("operation");
Assert.notNull(operation, "'operation' must not be null");
String parameter = null;
JSONObject object;
try {
object = new JSONObject(body);
parameter = object.optString("parameter",null);
} catch (JSONException e) {
e.printStackTrace();
}
switch (operation) {
case "PHONE_CHECK":
// 手机号重复查询 true为重复
Boolean phoneResult = sandUserService.repeatCheck(parameter, "phone");
if(phoneResult){
return ResponseObj.error("手机号码重复");
}
case "USERNAME_CHECK":
Boolean userNameResult = sandUserService.repeatCheck(parameter, "username");
if(userNameResult){
return ResponseObj.error("账号重复");
}
default:
return null;
}
}
}
......@@ -92,6 +92,15 @@
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>c63dd919-c027-4576-8e92-e4d9b72f4155</m:id>
<m:name>sandId</m:name>
<m:title>购砂单位id</m:title>
<m:type>uuid</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
......
......@@ -43,6 +43,9 @@
<property name="description" type="text">
<column name="description" />
</property>
<property name="sandId" type="uuid-binary" >
<column name="sand_id" length="16"></column>
</property>
<property name="state" type="string" >
<column name="state" length="50"></column>
</property>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment