Commit 97b5a06c by Huang Linyu

业务提交数据列表

parent f6f65d75
package com.ctrip.fun.golf.api.user;
import java.io.Serializable;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
......@@ -9,10 +10,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.Request;
import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.ResponseStatusEnum;
import com.ctrip.fun.common.vo.user.ActiveCustomerBean;
import com.ctrip.fun.common.vo.user.ActiveCustomerQuery;
import com.ctrip.fun.golf.service.user.ActiveCustomerService;
@Controller
......@@ -32,11 +35,28 @@ public class ActiveCustomerController {
response.setMessage(ResponseStatusEnum.SUCCESS.getMsg());
return response;
}
@ResponseBody
@RequestMapping(value = "/list", method = RequestMethod.POST)
public Response<PagedResponseBean<ActiveCustomerBean>> queryActiveCustomerList(
@RequestBody Request<ActiveCustomerQuery> request) {
Response<PagedResponseBean<ActiveCustomerBean>> response = new Response<PagedResponseBean<ActiveCustomerBean>>();
response.setStatus(ResponseStatusEnum.SUCCESS.getValue());
response.setMessage(ResponseStatusEnum.SUCCESS.getMsg());
PagedResponseBean<ActiveCustomerBean> pagedResponseBean = activeCustomerService.queryActiveCustomerList(request.getBody());
response.setBody(pagedResponseBean);
return response;
}
@ResponseBody
@RequestMapping(value = "/updateState", method = RequestMethod.POST)
public Response<Object> updateState(@RequestBody Request<ActiveCustomerQuery> request) {
Response<Object> response = activeCustomerService.updateState(request.getBody());
return response;
}
}
......@@ -37,7 +37,7 @@ public class AdminAuthorityDao extends GenericHibernateDao<AdminAuthority, Integ
@SuppressWarnings("unchecked")
public List<AdminUserBean> getCommuneAdmUserList() {
StringBuffer sql = new StringBuffer();
sql.append(" SELECT DISTINCT a.id ,a.userName");
sql.append(" SELECT DISTINCT a.id ,a.nickName userName");
sql.append(" FROM adm_users a JOIN adm_authorities b ON a.id = b.userId");
sql.append(" WHERE 1=1 AND a.enable=1");
sql.append(" AND b.authority IN('ROLE_COMMUNE','ROLE_PROMOTION')");
......
......@@ -3,15 +3,32 @@
*/
package com.ctrip.fun.golf.dao.user;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.hibernate.Query;
import org.hibernate.criterion.CriteriaSpecification;
import org.hibernate.transform.Transformers;
import org.hibernate.type.StandardBasicTypes;
import com.ctrip.fun.common.core.util.BeanConverter;
import com.ctrip.fun.common.core.util.DateUtil;
import com.ctrip.fun.common.core.util.StringUtils;
import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.adminUser.AdminUserBean;
import com.ctrip.fun.common.vo.basic.VipGradeEnum;
import com.ctrip.fun.common.vo.user.ActiveCustomerBean;
import com.ctrip.fun.common.vo.user.ActiveCustomerQuery;
import com.ctrip.fun.common.vo.user.CommuneAdmBean;
import com.ctrip.fun.common.vo.user.ImUserBean;
import com.ctrip.fun.common.vo.user.UserBean;
import com.ctrip.fun.golf.dao.GenericHibernateDao;
import com.ctrip.fun.golf.domain.basic.District;
import com.ctrip.fun.golf.domain.user.ActiveCustomer;
import com.ctrip.fun.golf.vo.PagedEntityBean;
/**
* @author zgsong
......@@ -27,6 +44,81 @@ public class ActiveCustomerDao extends GenericHibernateDao<ActiveCustomer, Integ
Query query = getSession().createSQLQuery(sql.toString());
return query.executeUpdate();
}
/**
* TODO: dddd
* @param queryBean
* @return
*/
public PagedResponseBean<ActiveCustomerBean> queryActiveCustomerList(ActiveCustomerQuery query){
StringBuffer sql = new StringBuffer();
sql.append("SELECT sql_calc_found_rows a.id,a.productName,a.saleMobile,b.UserName AS saleName,a.customerName,a.customerMobile,");
sql.append("a.picUrl,a.sex,a.createTime,a.auditUser,a.auditTime,a.auditState");
sql.append(" FROM active_customer a");
sql.append(" LEFT JOIN bsc_userext b ON a.saleMobile = b.bindedmobilePhone");
sql.append(" where 1=1 ");
if (org.apache.commons.lang.StringUtils.isNotBlank(query.getProductName())) {
sql.append(" AND a.productName LIKE '%"+query.getProductName()+"%'");
}
if (org.apache.commons.lang.StringUtils.isNotBlank(query.getCustomerName())) {
sql.append(" AND a.customerName LIKE '%"+query.getCustomerName()+"%'");
}
if (org.apache.commons.lang.StringUtils.isNotBlank(query.getCustomerMobile())) {
sql.append(" AND a.customerMobile LIKE '%"+query.getCustomerMobile()+"%'");
}
if (org.apache.commons.lang.StringUtils.isNotBlank(query.getSaleMobile())) {
sql.append(" AND a.saleMobile LIKE '%"+query.getSaleMobile()+"%'");
}
if (org.apache.commons.lang.StringUtils.isNotBlank(query.getSaleName())) {
sql.append(" AND b.UserName LIKE '%"+query.getSaleName()+"%'");
}
if (org.apache.commons.lang.StringUtils.isNotBlank(query.getAuditUser())) {
sql.append(" AND a.auditUser LIKE '%"+query.getAuditUser()+"%'");
}
if (query.getAuditState()!=null &&query.getAuditState()!= 0 ) {
sql.append(" AND a.auditState = "+query.getAuditState()+"");
}
sql.append(" order by a.createTime desc");
Query q = this.getSession().createSQLQuery(sql.toString())
.addScalar("id", StandardBasicTypes.INTEGER)
.addScalar("productName", StandardBasicTypes.STRING)
.addScalar("saleMobile", StandardBasicTypes.STRING)
.addScalar("saleName", StandardBasicTypes.STRING)
.addScalar("customerName", StandardBasicTypes.STRING)
.addScalar("customerMobile", StandardBasicTypes.STRING)
.addScalar("picUrl", StandardBasicTypes.STRING)
.addScalar("sex", StandardBasicTypes.STRING)
.addScalar("createTime", StandardBasicTypes.TIMESTAMP)
.addScalar("auditUser", StandardBasicTypes.STRING)
.addScalar("auditTime", StandardBasicTypes.TIMESTAMP)
.addScalar("auditState", StandardBasicTypes.INTEGER)
.setResultTransformer(Transformers.aliasToBean(ActiveCustomerBean.class));
q.setFirstResult(query.getPagerOffset());
q.setMaxResults(query.getPagerPerPage());
List<ActiveCustomerBean> result = q.list();
Query queryCount = this.getSession().createSQLQuery(" SELECT FOUND_ROWS() ");
long count = ((BigInteger) queryCount.uniqueResult()).longValue();
PagedResponseBean<ActiveCustomerBean> pagedResponseBean = new PagedResponseBean<ActiveCustomerBean>();
pagedResponseBean.setCount((int)count);
pagedResponseBean.setResult(result);
return pagedResponseBean;
}
public Integer updateAuditState(ActiveCustomerQuery param){
String hql = "update ActiveCustomer set auditState="+param.getAuditState()+", auditUser = '"+param.getAuditUser()+"' where id="+param.getId();
Query query = this.getSession().createQuery(hql);
Integer rlt = query.executeUpdate();
return rlt;
}
}
......@@ -14,7 +14,7 @@ import javax.persistence.TemporalType;
@Entity
@Table(name = "usr_user_conracts")
@Table(name = "active_customer")
public class ActiveCustomer implements java.io.Serializable{
......@@ -34,6 +34,11 @@ public class ActiveCustomer implements java.io.Serializable{
private String sex;
private Date createTime;
private Date updateTime;
private String auditUser;
private Date auditTime;
private Integer auditState;
private String auditRemark;
@Id
......@@ -104,6 +109,34 @@ public class ActiveCustomer implements java.io.Serializable{
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
@Column(name = "auditUser", length = 30)
public String getAuditUser() {
return auditUser;
}
public void setAuditUser(String auditUser) {
this.auditUser = auditUser;
}
@Column(name = "auditTime")
public Date getAuditTime() {
return auditTime;
}
public void setAuditTime(Date auditTime) {
this.auditTime = auditTime;
}
@Column(name = "auditState")
public Integer getAuditState() {
return auditState;
}
public void setAuditState(Integer auditState) {
this.auditState = auditState;
}
@Column(name = "auditRemark", length = 255)
public String getAuditRemark() {
return auditRemark;
}
public void setAuditRemark(String auditRemark) {
this.auditRemark = auditRemark;
}
......
package com.ctrip.fun.golf.service.user;
import java.math.BigDecimal;
import java.util.Date;
import com.ctrip.fun.common.core.util.BeanConverter;
import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.ResponseStatusEnum;
import com.ctrip.fun.common.vo.user.ActiveCustomerAuditStatusEnum;
import com.ctrip.fun.common.vo.user.ActiveCustomerBean;
import com.ctrip.fun.common.vo.user.ActiveCustomerQuery;
import com.ctrip.fun.common.vo.user.CommuneExtQuery;
import com.ctrip.fun.golf.dao.user.ActiveCustomerDao;
import com.ctrip.fun.golf.dao.user.CommuneExtDao;
import com.ctrip.fun.golf.dao.user.UserExtDao;
import com.ctrip.fun.golf.domain.user.ActiveCustomer;
import com.ctrip.fun.golf.domain.user.CommuneExt;
import com.ctrip.fun.golf.domain.user.UserExt;
import com.ctrip.fun.golf.service.GenericService;
import com.ctrip.fun.golf.vo.PagedEntityBean;
public class ActiveCustomerService extends GenericService<ActiveCustomerDao, ActiveCustomer, Integer, ActiveCustomerBean> {
private ActiveCustomerDao activeCustomerDao;
private UserExtDao userExtDao;
private CommuneExtDao communeExtDao;
@Override
public ActiveCustomerDao getEntityDao() {
return activeCustomerDao;
}
/**
* 查询列表
* @param query
* @return
*/
public PagedResponseBean<ActiveCustomerBean> queryActiveCustomerList(
ActiveCustomerQuery query) {
return activeCustomerDao.queryActiveCustomerList(query);
}
/**
* 更新状态
* @param body
* @return
*/
public Response<Object> updateState(ActiveCustomerQuery param) {
Response<Object> response = new Response<Object>();
//TODO: 验证社员证编号是否存在
//加入公社, 将数据写入到usr_communeExt表中
int rlt = activeCustomerDao.updateAuditState(param);
response.setStatus(ResponseStatusEnum.SUCCESS.getValue());
response.setMessage("操作成功!");
response.setBody(rlt);
if(param.getAuditState()==ActiveCustomerAuditStatusEnum.ADDED.getValue()){
//如果已经写入,直接执行更新, 返回已经录入成功
CommuneExtQuery extQuery = new CommuneExtQuery();
extQuery.setMobilePhone(param.getCustomerMobile());
CommuneExt existed = communeExtDao.getByPhone(extQuery);
if(existed != null){
response.setMessage("该号码已经录过,请勿重复录入!");
}else{
ActiveCustomer activeCustomer = activeCustomerDao.findById(param.getId());
CommuneExt ext = new CommuneExt();
if("980".equals(activeCustomer.getProductName())){
ext.setAmount(BigDecimal.valueOf(980.00));
}
ext.setGender(activeCustomer.getSex());
ext.setCommuneTime(activeCustomer.getCreateTime());
UserExt saleInfo = userExtDao.GetUserExtInfoByPhone(param.getSaleMobile());
if(saleInfo != null){
ext.setDrawer(saleInfo.getUserName());
}
ext.setMobilePhone(activeCustomer.getCustomerMobile());
ext.setUserName(activeCustomer.getCustomerName());
ext.setCreatedTime(new Date());
ext.setOperater(param.getAuditUser());
//社员证编号
ext.setCommuneNo(param.getCommuneNo());
int id = communeExtDao.save(ext);
response.setMessage("录入成功,该社员信息需要完善,立刻前往!");
response.setBody(id);
}
}
return response;
}
public Integer insertOne(ActiveCustomerBean bean) {
return activeCustomerDao.insertOne(bean);
......@@ -30,6 +105,22 @@ public class ActiveCustomerService extends GenericService<ActiveCustomerDao, Ac
public void setActiveCustomerDao(ActiveCustomerDao activeCustomerDao) {
this.activeCustomerDao = activeCustomerDao;
}
public UserExtDao getUserExtDao() {
return userExtDao;
}
public void setUserExtDao(UserExtDao userExtDao) {
this.userExtDao = userExtDao;
}
public CommuneExtDao getCommuneExtDao() {
return communeExtDao;
}
public void setCommuneExtDao(CommuneExtDao communeExtDao) {
this.communeExtDao = communeExtDao;
}
}
......@@ -123,6 +123,8 @@
<bean class="com.ctrip.fun.golf.service.user.ActiveCustomerService"
name="activeCustomerService">
<property name="activeCustomerDao" ref="activeCustomerDao"></property>
<property name="userExtDao" ref="userExtDao"></property>
<property name="communeExtDao" ref="communeExtDao"></property>
</bean>
<bean class="com.ctrip.fun.golf.service.user.UserAddressService"
......
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 sign in to comment