Commit ed351e35 by Java-聂换换

用户列表

parent f45fa3c3
......@@ -58,6 +58,8 @@ public class Global {
* 上传文件基础虚拟路径
*/
public static final String USERFILES_BASE_URL = "/userfiles/";
public static final String IMAGE_SAVE_URL = getConfig("getConfig");
/**
* 获取当前对象实例
......
package com.thinkgem.jeesite.modules.youka.dao;
import com.thinkgem.jeesite.common.persistence.CrudDao;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.youka.entity.YoukaCardEntity;
/**
* @author niehh
* @Description: 优卡银行卡
* @date 2018年03月06日 15:05
*/
@MyBatisDao
public interface YoukaCardDao extends CrudDao<YoukaCardEntity> {
}
\ No newline at end of file
package com.thinkgem.jeesite.modules.youka.dao;
import com.thinkgem.jeesite.common.persistence.CrudDao;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.cms.entity.Article;
import com.thinkgem.jeesite.modules.youka.entity.YoukaUser;
import java.util.List;
/**
* @author niehh
* @Description: 优卡用户
* @date 2018年03月05日 11:35
*/
@MyBatisDao
public interface YoukaUserDao extends CrudDao<YoukaUser> {
public List<YoukaUser> findByIdIn(String[] ids);
public YoukaUser checkRecommend(YoukaUser youkaUser);
public YoukaUser checkMobile(YoukaUser youkaUser);
}
package com.thinkgem.jeesite.modules.youka.dao;
import com.thinkgem.jeesite.common.persistence.CrudDao;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.youka.entity.YoukaUserDetail;
/**
* @author niehh
* @Description: 优卡用户详情
* @date 2018年03月05日 14:58
*/
@MyBatisDao
public interface YoukaUserDetailDao extends CrudDao<YoukaUserDetail> {
}
\ No newline at end of file
package com.thinkgem.jeesite.modules.youka.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.thinkgem.jeesite.common.persistence.DataEntity;
/**
* @author niehh
* @Description: 优卡用户银行卡
* @date 2018年03月06日 14:39
*/
public class YoukaCardEntity extends DataEntity<YoukaCardEntity> {
@JsonIgnore
private String userCode; // 用户code
private String cardType; // 银行卡类型 D储蓄卡 C信用卡
private String cardNo; // 卡号
@JsonIgnore
private String cardMobile; // 预留手机号
@JsonIgnore
private String belongBank; // 所属银行
@JsonIgnore
private String cardBank; // 开户支行
@JsonIgnore
private String cardPlace; // 开户地点
private String isDebit; // 是否是结算卡 Y是 N否
private String isNewDebit;
private String code;
public YoukaCardEntity() {
}
public YoukaCardEntity(String code, String userCode, String cardType, String cardNo, String cardMobile, String belongBank, String cardBank, String cardPlace, String isDebit) {
this.setCode(code);
this.userCode = userCode;
this.cardType = cardType;
this.cardNo = cardNo;
this.cardMobile = cardMobile;
this.belongBank = belongBank;
this.cardBank = cardBank;
this.cardPlace = cardPlace;
this.isDebit = isDebit;
this.delFlag = "0";
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getCardType() {
return cardType;
}
public void setCardType(String cardType) {
this.cardType = cardType;
}
public String getCardNo() {
return cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo;
}
public String getCardMobile() {
return cardMobile;
}
public void setCardMobile(String cardMobile) {
this.cardMobile = cardMobile;
}
public String getBelongBank() {
return belongBank;
}
public void setBelongBank(String belongBank) {
this.belongBank = belongBank;
}
public String getCardBank() {
return cardBank;
}
public void setCardBank(String cardBank) {
this.cardBank = cardBank;
}
public String getCardPlace() {
return cardPlace;
}
public void setCardPlace(String cardPlace) {
this.cardPlace = cardPlace;
}
public String getIsDebit() {
return isDebit;
}
public void setIsDebit(String isDebit) {
this.isDebit = isDebit;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getIsNewDebit() {
return isNewDebit;
}
public void setIsNewDebit(String isNewDebit) {
this.isNewDebit = isNewDebit;
}
}
package com.thinkgem.jeesite.modules.youka.entity;
import com.thinkgem.jeesite.common.persistence.DataEntity;
import java.util.List;
/**
* @author niehh
* @Description: 优卡用户
* @date 2018年03月05日 11:08
*/
public class YoukaUser extends DataEntity<YoukaUser> {
private String code; // varchar(64) DEFAULT NULL COMMENT '唯一编码',
private String nickname; // varchar(200) DEFAULT NULL COMMENT '昵称',
private String subMerchantId; // varchar(64) DEFAULT NULL COMMENT '(结算卡的)子商户号',
private String level; // varchar(1) DEFAULT NULL COMMENT '用户等级 S管理员 A王者 B钻石 C黄金 D白银 E青铜',
private String mobile; // varchar(11) DEFAULT NULL COMMENT '手机号',
private String password; //
private String avatar; // varchar(500) DEFAULT NULL COMMENT '头像',
private String recommendedMobile; // varchar(255) DEFAULT NULL COMMENT '推荐人手机号',
private String recommendedPath; // varchar(255) DEFAULT NULL COMMENT '推荐人路径',
private String belongTo; // varchar(255) DEFAULT NULL COMMENT '商户来源 B佰邦达 S盛世互通',
private String status; // varchar(1) DEFAULT NULL COMMENT '状态 0未实名 1审核中 2已实名',
private YoukaUserDetail youkaUserDetail;
private List<YoukaCardEntity> youkaCardEntityList;
public YoukaUser(){
}
public YoukaUser(String code, String subMerchantId, String mobile, String password, String recommendedMobile, String recommendedPath, String belongTo) {
this.setCode(code);
this.nickname = "E_" + mobile;
this.subMerchantId = subMerchantId;
this.level = "E";
this.mobile = mobile;
this.password = password;
this.avatar = "";
this.recommendedMobile = recommendedMobile;
this.recommendedPath = recommendedPath;
this.belongTo = belongTo;
this.status = "0";
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getSubMerchantId() {
return subMerchantId;
}
public void setSubMerchantId(String subMerchantId) {
this.subMerchantId = subMerchantId;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public String getRecommendedMobile() {
return recommendedMobile;
}
public void setRecommendedMobile(String recommendedMobile) {
this.recommendedMobile = recommendedMobile;
}
public String getRecommendedPath() {
return recommendedPath;
}
public void setRecommendedPath(String recommendedPath) {
this.recommendedPath = recommendedPath;
}
public String getBelongTo() {
return belongTo;
}
public void setBelongTo(String belongTo) {
this.belongTo = belongTo;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public YoukaUserDetail getYoukaUserDetail() {
return youkaUserDetail;
}
public void setYoukaUserDetail(YoukaUserDetail youkaUserDetail) {
this.youkaUserDetail = youkaUserDetail;
}
public List<YoukaCardEntity> getYoukaCardEntityList() {
return youkaCardEntityList;
}
public void setYoukaCardEntityList(List<YoukaCardEntity> youkaCardEntityList) {
this.youkaCardEntityList = youkaCardEntityList;
}
}
package com.thinkgem.jeesite.modules.youka.entity;
import com.thinkgem.jeesite.common.persistence.DataEntity;
/**
* @author niehh
* @Description: 优卡用户详情
* @date 2018年03月05日 14:32
*/
public class YoukaUserDetail extends DataEntity<YoukaUserDetail> {
private String code; // varchar(64) DEFAULT NULL COMMENT '唯一编码',
private String userCode; // varchar(64) DEFAULT NULL COMMENT '用户code',
private String realName; // varchar(255) DEFAULT NULL COMMENT '真实姓名',
private String idCard; // varchar(18) DEFAULT NULL COMMENT '身份证号',
private String idCardPlace; // varchar(255) DEFAULT NULL COMMENT '身份证地址',
private String idCardFront; // varchar(500) DEFAULT NULL COMMENT '身份证正面',
private String idCardBack; // varchar(500) DEFAULT NULL COMMENT '身份证反面',
private String idCardHold; // varchar(500) DEFAULT NULL COMMENT '手持身份证',
private String debitCard; // varchar(500) DEFAULT NULL COMMENT '结算卡正面',
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getIdCardPlace() {
return idCardPlace;
}
public void setIdCardPlace(String idCardPlace) {
this.idCardPlace = idCardPlace;
}
public String getIdCardFront() {
return idCardFront;
}
public void setIdCardFront(String idCardFront) {
this.idCardFront = idCardFront;
}
public String getIdCardBack() {
return idCardBack;
}
public void setIdCardBack(String idCardBack) {
this.idCardBack = idCardBack;
}
public String getIdCardHold() {
return idCardHold;
}
public void setIdCardHold(String idCardHold) {
this.idCardHold = idCardHold;
}
public String getDebitCard() {
return debitCard;
}
public void setDebitCard(String debitCard) {
this.debitCard = debitCard;
}
}
package com.thinkgem.jeesite.modules.youka.service;
import com.thinkgem.jeesite.common.config.Global;
import com.thinkgem.jeesite.common.persistence.Page;
import com.thinkgem.jeesite.common.service.CrudService;
import com.thinkgem.jeesite.common.utils.DateUtils;
import com.thinkgem.jeesite.common.utils.IdGen;
import com.thinkgem.jeesite.common.utils.StringUtils;
import com.thinkgem.jeesite.modules.cms.dao.ArticleDao;
import com.thinkgem.jeesite.modules.cms.entity.Article;
import com.thinkgem.jeesite.modules.sys.utils.UserUtils;
import com.thinkgem.jeesite.modules.youka.dao.YoukaCardDao;
import com.thinkgem.jeesite.modules.youka.dao.YoukaUserDao;
import com.thinkgem.jeesite.modules.youka.dao.YoukaUserDetailDao;
import com.thinkgem.jeesite.modules.youka.entity.YoukaCardEntity;
import com.thinkgem.jeesite.modules.youka.entity.YoukaUser;
import com.thinkgem.jeesite.modules.youka.entity.YoukaUserDetail;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
* @author niehh
* @Description: 优卡用户
* @date 2018年03月05日 15:51
*/
@Service
@Transactional(readOnly = true)
public class YoukaUserService extends CrudService<YoukaUserDao, YoukaUser> {
@Autowired
private YoukaUserDetailDao youkaUserDetailDao;
@Autowired
private YoukaCardDao youkaCardDao;
@Override
public void save(YoukaUser youkaUser){
if(youkaUser.getId() != null && !"".equals(youkaUser.getId())){
// youkaUser.setUpdateBy(UserUtils.getUser());
youkaUser.preUpdate();
youkaUser.setAvatar(StringUtils.replace(youkaUser.getAvatar(), Global.IMAGE_SAVE_URL,""));
dao.update(youkaUser);
YoukaUserDetail youkaUserDetail = youkaUser.getYoukaUserDetail();
if(youkaUserDetail != null){
youkaUserDetail.preUpdate();
youkaUserDetail.setIdCardFront(StringUtils.replace(youkaUserDetail.getIdCardFront(), Global.IMAGE_SAVE_URL,""));
youkaUserDetail.setIdCardBack(StringUtils.replace(youkaUserDetail.getIdCardBack(), Global.IMAGE_SAVE_URL,""));
youkaUserDetail.setIdCardHold(StringUtils.replace(youkaUserDetail.getIdCardHold(), Global.IMAGE_SAVE_URL,""));
youkaUserDetail.setDebitCard(StringUtils.replace(youkaUserDetail.getDebitCard(), Global.IMAGE_SAVE_URL,""));
youkaUserDetail.setUpdateBy(UserUtils.getUser());
youkaUserDetail.setUserCode(youkaUser.getCode());
youkaUserDetailDao.update(youkaUserDetail);
}
List<YoukaCardEntity> youkaCardEntityList = youkaUser.getYoukaCardEntityList();
if(youkaCardEntityList!=null && youkaCardEntityList.size()>0){
for(YoukaCardEntity youkaCardEntity : youkaCardEntityList){
if(youkaCardEntity.getIsDebit() != null && !youkaCardEntity.getIsDebit().equals(youkaCardEntity.getIsNewDebit())){
youkaCardEntity.setIsDebit(youkaCardEntity.getIsNewDebit());
youkaCardDao.update(youkaCardEntity);
}
}
}
}else{
youkaUser.preInsert();
// 申请子商户号
String subMerchantId = "subMerchantId" + DateUtils.formatDateTime(new Date());
youkaUser.setSubMerchantId(subMerchantId);
// 保存用户信息
String code = IdGen.randomBase62(64);
youkaUser.setCode(code);
youkaUser.setAvatar(StringUtils.replace(youkaUser.getAvatar(), Global.IMAGE_SAVE_URL,""));
dao.insert(youkaUser);
YoukaUserDetail youkaUserDetail = youkaUser.getYoukaUserDetail();
if(youkaUserDetail != null){
youkaUserDetail.preInsert();
youkaUser.setAvatar(StringUtils.replace(youkaUser.getAvatar(), Global.IMAGE_SAVE_URL,""));
youkaUserDetail.setIdCardFront(StringUtils.replace(youkaUserDetail.getIdCardFront(), Global.IMAGE_SAVE_URL,""));
youkaUserDetail.setIdCardBack(StringUtils.replace(youkaUserDetail.getIdCardBack(), Global.IMAGE_SAVE_URL,""));
youkaUserDetail.setIdCardHold(StringUtils.replace(youkaUserDetail.getIdCardHold(), Global.IMAGE_SAVE_URL,""));
youkaUserDetail.setDebitCard(StringUtils.replace(youkaUserDetail.getDebitCard(), Global.IMAGE_SAVE_URL,""));
youkaUserDetail.setUpdateBy(UserUtils.getUser());
youkaUserDetail.setUserCode(youkaUser.getCode());
youkaUserDetailDao.insert(youkaUserDetail);
}
}
}
public List<YoukaUser> findByIdIn(String[] ids){
return dao.findByIdIn(ids);
}
public YoukaUser checkRecommend(YoukaUser youkaUser){
return dao.checkRecommend(youkaUser);
}
public YoukaUser checkMobile(YoukaUser youkaUser){
return dao.checkMobile(youkaUser);
}
}
package com.thinkgem.jeesite.modules.youka.web;
import com.thinkgem.jeesite.common.persistence.Page;
import com.thinkgem.jeesite.common.utils.StringUtils;
import com.thinkgem.jeesite.common.web.BaseController;
import com.thinkgem.jeesite.modules.sys.entity.User;
import com.thinkgem.jeesite.modules.sys.utils.UserUtils;
import com.thinkgem.jeesite.modules.youka.entity.YoukaUser;
import com.thinkgem.jeesite.modules.youka.service.YoukaUserService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author niehh
* @Description: 优卡用户
* @date 2018年03月06日 11:53
*/
@Controller
@RequestMapping(value = "${adminPath}/youka/user")
public class YoukaUserController extends BaseController {
@Autowired
private YoukaUserService youkaUserService;
@ModelAttribute
public YoukaUser get(@RequestParam(required=false) String id) {
if (StringUtils.isNotBlank(id)){
return youkaUserService.get(id);
}else{
return new YoukaUser();
}
}
/**
* 用户列表
* @param youkaUser
* @param request
* @param response
* @param model
* @return
*/
@RequiresPermissions("youka:user:view")
@RequestMapping(value = {"list", ""})
public String list(YoukaUser youkaUser, HttpServletRequest request, HttpServletResponse response, Model model) {
Page<YoukaUser> page = youkaUserService.findPage(new Page<YoukaUser>(request, response), youkaUser);
model.addAttribute("page", page);
return "modules/youka/userList";
}
/**
* 添加用户页面
* @param youkaUser
* @param model
* @return
*/
@RequiresPermissions("youka:user:view")
@RequestMapping(value = "form")
public String form(YoukaUser youkaUser, Model model) {
model.addAttribute("youkaUser", youkaUser);
return "modules/youka/userForm";
}
/**
* 修改用户页面
* @param youkaUser
* @param model
* @return
*/
@RequiresPermissions("youka:user:view")
@RequestMapping(value = "modify")
public String modify(YoukaUser youkaUser, Model model) {
model.addAttribute("youkaUser", youkaUser);
return "modules/youka/userModify";
}
/**
* 实名认证页面
* @param youkaUser
* @param model
* @return
*/
@RequiresPermissions("youka:user:view")
@RequestMapping(value = "real/name/audit")
public String realNameAudit(YoukaUser youkaUser, Model model) {
model.addAttribute("youkaUser", youkaUser);
return "modules/youka/realNameAudit";
}
/**
* 保存或修改用户
* @param youkaUser
* @param model
* @return
*/
@RequiresPermissions("youka:user:view")
@RequestMapping(value = "save")
public String save(YoukaUser youkaUser, Model model, RedirectAttributes redirectAttributes){
// 判断业务入参是否为空
if (StringUtils.isBlank(youkaUser.getMobile()) || StringUtils.isBlank(youkaUser.getPassword())) {
addMessage(model, "手机号或密码为空");
return form(youkaUser, model);
}
// 查询注册手机号是否存在
if (youkaUserService.checkMobile(youkaUser) != null) {
addMessage(model, "手机号已存在");
return form(youkaUser,model);
}
try {
youkaUserService.save(youkaUser);
addMessage(redirectAttributes, "保存用户'" + youkaUser.getMobile() + "'成功");
return "redirect:" + adminPath + "/youka/user/list?repage";
}catch (Exception e){
addMessage(redirectAttributes, "保存用户'" + youkaUser.getMobile() + "失败");
}
return "redirect:" + adminPath + "/youka/user/list?repage";
}
}
<?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.thinkgem.jeesite.modules.youka.dao.YoukaCardDao">
<sql id="youkaCardColumns">
yc.id AS "id",
yc.code AS "code",
yc.user_code AS userCode,
yc.card_type AS cardType,
yc.card_no AS cardNo,
yc.card_mobile AS cardMobile,
yc.belong_bank AS belongBank,
yc.card_bank AS cardBank,
yc.card_place AS cardPlace,
yc.is_debit AS isDebit,
yc.create_date AS created,
yc.create_by AS createdUser,
yc.update_date AS modified,
yc.update_by AS modifiedUser,
yc.del_flag AS delFlag
</sql>
<!--<sql id="youkaUserDetailsColumns">-->
<!--u.id AS "id",-->
<!--u.`code` AS "code",-->
<!--u.`nickname` AS "nickname",-->
<!--u.`sub_merchant_id` AS "subMerchantId",-->
<!--u.`level` AS "level",-->
<!--u.`mobile` AS "mobile",-->
<!--u.`password`AS "password",-->
<!--u.`avatar` AS "avatar",-->
<!--u.`recommended_mobile` AS "recommendedMobile",-->
<!--u.`recommended_path` AS "recommendedPath",-->
<!--u.`belong_to` AS "belongTo",-->
<!--u.`status` AS "status",-->
<!--u.`create_date` AS "createDate",-->
<!--u.`create_by` AS "createBy",-->
<!--u.`update_date` AS "updateDate" ,-->
<!--u.`update_by` AS "updateBy"-->
<!--</sql>-->
<sql id="youkaCardJoins">
-- JOIN youka_user_details ud ON ud.user_code = u.`code`
</sql>
<select id="get" resultType="com.thinkgem.jeesite.modules.youka.entity.YoukaCardEntity">
SELECT
<include refid="youkaCardColumns"/>
FROM
youka_cards yc
WHERE
yc.id = #{id}
AND yc.card_type = #{cardType}
AND yc.del_flag = '0'
</select>
<select id="findList" resultType="com.thinkgem.jeesite.modules.youka.entity.YoukaCardEntity">
SELECT
<include refid="youkaCardColumns"/>
FROM
youka_cards yc
WHERE
yc.user_code = #{userCode}
AND yc.card_type = #{cardType}
AND yc.del_flag = '0'
</select>
<insert id="insert">
INSERT INTO youka_cards (
code,
user_code,
card_type,
card_no,
card_mobile,
belong_bank,
card_bank,
card_place,
is_debit,
create_by,
update_by,
del_flag
)
VALUES
(#{code},
#{userCode},
#{cardType},
#{cardNo},
#{cardMobile},
#{belongBank},
#{cardBank},
#{cardPlace},
#{isDebit},
#{createBy.id},
#{updateBy.id},
#{delFlag})
</insert>
<update id="update">
UPDATE youka_cards SET
card_type= #{cardType} ,
card_no = #{cardNo},
card_mobile = #{cardMobile},
belong_bank = #{belongBank} ,
card_bank = #{cardBank} ,
card_place = #{cardPlace} ,
is_debit = #{isDebit} ,
update_by = #{updateBy.id},
del_flag = #{delFlag}
WHERE id = #{id}
</update>
<update id="delete">
UPDATE youka_cards SET
del_flag = #{DEL_FLAG_DELETE}
WHERE id = #{id}
</update>
</mapper>
\ No newline at end of file
<?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.thinkgem.jeesite.modules.youka.dao.YoukaUserDao">
<sql id="youkaUserColumns">
u.id AS "id",
u.`code` AS "code",
u.`nickname` AS "nickname",
u.`sub_merchant_id` AS "subMerchantId",
u.`level` AS "level",
u.`mobile` AS "mobile",
u.`password`AS "password",
u.`avatar` AS "avatar",
u.`recommended_mobile` AS "recommendedMobile",
u.`recommended_path` AS "recommendedPath",
u.`belong_to` AS "belongTo",
u.`status` AS "status",
u.`create_date` AS "createDate",
u.`create_by` AS "createBy",
u.`update_date` AS "updateDate" ,
u.`update_by` AS "updateBy"
</sql>
<!--<sql id="youkaUserDetailsColumns">-->
<!--u.id AS "id",-->
<!--u.`code` AS "code",-->
<!--u.`nickname` AS "nickname",-->
<!--u.`sub_merchant_id` AS "subMerchantId",-->
<!--u.`level` AS "level",-->
<!--u.`mobile` AS "mobile",-->
<!--u.`password`AS "password",-->
<!--u.`avatar` AS "avatar",-->
<!--u.`recommended_mobile` AS "recommendedMobile",-->
<!--u.`recommended_path` AS "recommendedPath",-->
<!--u.`belong_to` AS "belongTo",-->
<!--u.`status` AS "status",-->
<!--u.`create_date` AS "createDate",-->
<!--u.`create_by` AS "createBy",-->
<!--u.`update_date` AS "updateDate" ,-->
<!--u.`update_by` AS "updateBy"-->
<!--</sql>-->
<sql id="youkaUserJoins">
-- JOIN youka_user_details ud ON ud.user_code = u.`code`
</sql>
<select id="get" resultType="com.thinkgem.jeesite.modules.youka.entity.YoukaUser">
SELECT
<include refid="youkaUserColumns"/>
FROM youka_users u
<include refid="youkaUserJoins"/>
WHERE u.id = #{id}
</select>
<select id="findList" resultType="com.thinkgem.jeesite.modules.youka.entity.YoukaUser">
SELECT
<include refid="youkaUserColumns"/>
FROM youka_users u
<include refid="youkaUserJoins"/>
<where>
1=1
<if test="nickname != null and nickname != ''">
AND u.nickname LIKE
<if test="dbName == 'oracle'">'%'||#{nickname}||'%'</if>
<if test="dbName == 'mssql'">'%'+#{nickname}+'%'</if>
<if test="dbName == 'mysql'">CONCAT('%', #{nickname}, '%')</if>
</if>
<if test="level != null and level != ''">
AND u.level = #{level}
</if>
<if test="recommendedMobile != null and recommendedMobile != ''">
AND u.recommended_mobile like
<if test="category.parentIds != null and category.parentIds != ''">
<if test="dbName == 'oracle'">'%'||#{recommendedMobile}||'%'</if>
<if test="dbName == 'mssql'">'%,'+#{recommendedMobile}+',%'</if>
<if test="dbName == 'mysql'">CONCAT('%,', #{recommendedMobile}, ',%')</if>
</if>)
</if>
<if test="status != null and status != ''">
AND u.status = #{status}
</if>
</where>
<choose>
<when test="page !=null and page.orderBy != null and page.orderBy != ''">
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY u.update_date DESC
</otherwise>
</choose>
</select>
<select id="findAllList" resultType="com.thinkgem.jeesite.modules.youka.entity.YoukaUser">
SELECT
<include refid="youkaUserColumns"/>
FROM youka_users u
<include refid="youkaUserJoins"/>
<choose>
<when test="page !=null and page.orderBy != null and page.orderBy != ''">
ORDER BY ${page.orderBy}
</when>
<otherwise>
ORDER BY u.update_date DESC
</otherwise>
</choose>
</select>
<insert id="insert">
INSERT INTO youka_users(
id,
`code`,
`nickname`,
`sub_merchant_id`,
`level` ,
`mobile` ,
`password`,
`avatar`,
`recommended_mobile`,
`recommended_path`,
`belong_to`,
`status` ,
`create_date` ,
`create_by` ,
`update_date`,
`update_by`
) VALUES (
#{id},
#{code},
#{nickname},
#{sub_merchantId},
#{level} ,
#{mobile} ,
#{password},
#{avatar},
#{recommendedMobile},
#{recommendedPath},
#{belongTo},
#{status} ,
#{createDate} ,
#{createBy.id},
#{updateDate},
#{updateBy.id}
)
</insert>
<update id="update">
UPDATE youka_users u SET
u.`nickname` = #{nickname},
u.`sub_merchant_id` = #{subMerchantId},
u.`level` = #{level},
u.`mobile` = #{mobile},
u.`password`= #{password},
u.`avatar` = #{avatar},
u.`recommended_mobile` = #{recommendedMobile},
u.`recommended_path` = #{recommendedPath},
u.`belong_to` = #{belongTo},
u.`status` = #{status},
u.`update_date` = #{updateDate} ,
u.`update_by` = #{updateBy.id}
WHERE id = #{id}
</update>
<update id="delete">
UPDATE cms_article SET
del_flag = #{DEL_FLAG_DELETE}
WHERE id = #{id}
</update>
<select id="findByIdIn" resultType="com.thinkgem.jeesite.modules.youka.entity.YoukaUser">
SELECT
<include refid="youkaUserColumns"/>
from youka_users a where
<where>
id in (${id});
</where>
</select>
<select id="checkRecommend" resultType="com.thinkgem.jeesite.modules.youka.entity.YoukaUser">
SELECT
<include refid="youkaUserColumns"/>
FROM
youka_users u
WHERE
u.recommended_mobile = #{recommendedMobile}
</select>
<select id="checkMobile" resultType="com.thinkgem.jeesite.modules.youka.entity.YoukaUser">
SELECT
<include refid="youkaUserColumns"/>
FROM
youka_users u
WHERE
u.mobile = #{mobile}
</select>
<!--<update id="updateExpiredWeight">-->
<!--update cms_article SET-->
<!--weight = 0-->
<!--WHERE weight &gt; 0 AND weight_date &lt; -->
<!--<if test="dbName == 'oracle'">sysdate</if>-->
<!--<if test="dbName == 'mssql'">FLOOR(CONVERT(FLOAT,GETDATE()))</if>-->
<!--<if test="dbName == 'mysql'">CURDATE()</if>-->
<!--</update>-->
<!---->
<!--<update id="updateHitsAddOne">-->
<!--update cms_article set-->
<!--hits = hits+1-->
<!--WHERE id = #{id}-->
<!--</update>-->
<!---->
<!--<select id="findStats" resultType="Category">-->
<!--select max(c.id) AS "id",-->
<!--max(c.name) AS "name",-->
<!--max(cp.id) AS "parent.id",-->
<!--max(cp.name) AS "parent.name",-->
<!--count(*) AS "cnt",-->
<!--sum(u.hits) AS "hits",-->
<!--max(u.update_date) as "updateDate",-->
<!--max(o.id) AS "office.id",-->
<!--max(o.name) AS "office.name"-->
<!--FROM cms_article a-->
<!--RIGHT JOIN cms_category c ON c.id = u.category_id-->
<!--JOIN cms_category cp ON c.parent_id = cp.id-->
<!--JOIN sys_office o ON o.id = c.office_id-->
<!--<where>-->
<!--u.del_flag = #{DEL_FLAG_NORMAL} -->
<!--AND c.site_id = #{site.id}-->
<!--<if test="office.id != null and office.id != ''">-->
<!--AND (c.office_id = #{office.id} OR o.parent_ids like -->
<!--<if test="dbName == 'oracle'">'%'||#{office.id}||'%'</if>-->
<!--<if test="dbName == 'mssql'">'%'+#{office.id}+'%'</if>-->
<!--<if test="dbName == 'mysql'">CONCAT('%', #{office.id}, '%')</if>)-->
<!--</if>-->
<!--<if test="beginDate != null and beginDate != ''">-->
<!--AND u.update_date <![CDATA[ >= #{beginDate} ]]>-->
<!--</if>-->
<!--<if test="endDate != null and endDate != ''">-->
<!--AND u.update_date <![CDATA[ <= #{endDate} ]]>-->
<!--</if>-->
<!--<if test="id != null and id != ''">-->
<!--AND (c.id = #{id} OR c.parent_ids LIKE -->
<!--<if test="dbName == 'oracle'">'%'||#{id}||'%'</if>-->
<!--<if test="dbName == 'mssql'">'%'+#{id}+'%'</if>-->
<!--<if test="dbName == 'mysql'">CONCAT('%', #{id}, '%')</if>)-->
<!--</if>-->
<!--group by cp.sort, cp.id, c.sort, c.id-->
<!--order by cp.sort, cp.id, c.sort, c.id-->
<!--</where> -->
<!--</select>-->
</mapper>
\ No newline at end of file
<?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.thinkgem.jeesite.modules.youka.dao.YoukaUserDetailDao">
<sql id="youkaUserDetailColumns">
ud.`id`AS "id",
ud.`code` AS "code",
ud.`user_code` AS "userCode",
ud.`real_name` AS "realName",
ud.`id_card` AS "idCard",
ud.`id_card_place` AS "idCardPlace",
ud.`id_card_front` AS "idCardFront",
ud.`id_card_back` AS "idCardBack",
ud.`id_card_hold` AS "idCardHold",
ud.`debit_card` AS "debitCard",
ud.`create_date` AS "createDate",
ud.`create_by` AS "createBy",
ud.`update_date` AS "updateDate",
ud.`update_by` AS "updateBy"
</sql>
<!--<sql id="youkaUserDetailsColumns">-->
<!--u.id AS "id",-->
<!--u.`code` AS "code",-->
<!--u.`nickname` AS "nickname",-->
<!--u.`sub_merchant_id` AS "subMerchantId",-->
<!--u.`level` AS "level",-->
<!--u.`mobile` AS "mobile",-->
<!--u.`password`AS "password",-->
<!--u.`avatar` AS "avatar",-->
<!--u.`recommended_mobile` AS "recommendedMobile",-->
<!--u.`recommended_path` AS "recommendedPath",-->
<!--u.`belong_to` AS "belongTo",-->
<!--u.`status` AS "status",-->
<!--u.`create_date` AS "createDate",-->
<!--u.`create_by` AS "createBy",-->
<!--u.`update_date` AS "updateDate" ,-->
<!--u.`update_by` AS "updateBy"-->
<!--</sql>-->
<sql id="youkaUserDetailJoins">
-- JOIN youka_user_details ud ON ud.user_code = u.`code`
</sql>
<select id="get" resultType="com.thinkgem.jeesite.modules.youka.entity.YoukaUser">
SELECT
<include refid="youkaUserDetailColumns"/>
FROM youka_user_details ud
<include refid="youkaUserDetailJoins"/>
WHERE 1=1
<if test="id != null and id != ''">
AND ud.id = #{id}
</if>
<if test="userCode != null and userCode != ''">
AND ud.user_code = #{userCode}
</if>
</select>
<insert id="insert">
INSERT INTO youka_user_details(
`id`,
`code`,
`user_code`,
`real_name`,
`id_card`,
`id_card_place`,
`id_card_front` ,
`id_card_back` ,
`id_card_hold` ,
`debit_card`,
`create_date`,
`create_by`,
`update_date`,
`update_by`
) VALUES (
#{id},
#{code},
#{realName},
#{idCard},
#{idCardPlace},
#{idCardFront} ,
#{idCardBack} ,
#{idCardHold} ,
#{debitCard},
#{createDate},
#{createBy.id},
#{updateDate},
#{updateBy.id}
)
</insert>
<update id="update">
UPDATE youka_user_details SET
`real_name` = #{realName},
`id_card` = #{idCard},
`id_card_place` = #{idCardPlace},
`id_card_front` = #{idCardFront} ,
`id_card_back` = #{idCardBack},
`id_card_hold` = #{idCardHold},
`debit_card` = #{debitCard},
`update_date` = #{updateDate},
`update_by` = #{updateBy.id}
WHERE user_code = #{userCode}
</update>
</mapper>
\ No newline at end of file
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
<title>用户列表</title>
<meta name="decorator" content="default"/>
<script type="text/javascript">
$(document).ready(function() {
$("#btnExport").click(function(){
top.$.jBox.confirm("确认要导出用户数据吗?","系统提示",function(v,h,f){
if(v=="ok"){
$("#searchForm").attr("action","${ctx}/youka/user/export");
$("#searchForm").submit();
}
},{buttonsFocus:1});
top.$('.jbox-body .jbox-icon').css('top','55px');
});
$("#btnImport").click(function(){
$.jBox($("#importBox").html(), {title:"导入数据", buttons:{"关闭":true},
bottomText:"导入文件不能超过5M,仅允许导入“xls”或“xlsx”格式文件!"});
});
});
function page(n,s){
if(n) $("#pageNo").val(n);
if(s) $("#pageSize").val(s);
$("#searchForm").attr("action","${ctx}/youka/user/list");
$("#searchForm").submit();
return false;
}
</script>
</head>
<body>
<%--<div id="importBox" class="hide">--%>
<%--<form id="importForm" action="${ctx}/youka/user/import" method="post" enctype="multipart/form-data"--%>
<%--class="form-search" style="padding-left:20px;text-align:center;" onsubmit="loading('正在导入,请稍等...');"><br/>--%>
<%--<input id="uploadFile" name="file" type="file" style="width:330px"/><br/><br/>  --%>
<%--<input id="btnImportSubmit" class="btn btn-primary" type="submit" value=" 导 入 "/>--%>
<%--<a href="${ctx}/youka/user/import/template">下载模板</a>--%>
<%--</form>--%>
<%--</div>--%>
<ul class="nav nav-tabs">
<li class="active"><a href="${ctx}/youka/user/list">用户列表</a></li>
<shiro:hasPermission name="sys:user:edit"><li><a href="${ctx}/youka/user/form">用户添加</a></li></shiro:hasPermission>
</ul>
<form:form id="searchForm" modelAttribute="youkaUser" action="${ctx}/youka/user/list" method="post" class="breadcrumb form-search ">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
<ul class="ul-form">
<li><label>用户名:</label><form:input path="nickname"></form:input></li>
<li><label>用户类型:</label>
<form:select path="level" cssStyle="width: 100px">
<form:option value="">
全部
</form:option>
<form:option value="S">
管理员
</form:option>
<form:option value="A">
王者会员
</form:option>
<form:option value="B">
钻石会员
</form:option>
<form:option value="C">
黄金会员
</form:option>
<form:option value="D">
白银会员
</form:option>
<form:option value="E">
青铜会员
</form:option>
</form:select></li>
<%--<li class="clearfix"></li>--%>
<li><label>认证状态:</label>
<form:select path="status" cssStyle="width: 100px">
<form:option value="">
全部状态
</form:option>
<form:option value="0">
未实名
</form:option>
<form:option value="1">
审核中
</form:option>
<form:option value="2">
已实名
</form:option>
</form:select>
</li>
<li><label>推荐人:</label><form:input path="recommendedMobile" htmlEscape="false" maxlength="50" class="input-medium"/></li>
<li class="btns"><input id="btnSubmit" class="btn btn-primary" type="submit" value="查询" onclick="return page();"/>
<%--<input id="btnExport" class="btn btn-primary" type="button" value="导出"/>--%>
<%--<input id="btnImport" class="btn btn-primary" type="button" value="导入"/>--%>
</li>
<li class="clearfix"></li>
</ul>
</form:form>
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed">
<thead><tr><th>序号</th><th>用户名</th><th class="sort-column login_name">用户类型</th><th class="sort-column name">认证状态</th><th>手机号</th><th>归属</th><%--<th>角色</th> --%><shiro:hasPermission name="sys:user:edit"><th>操作</th></shiro:hasPermission></tr></thead>
<tbody>
<c:forEach items="${page.list}" var="user" varStatus="indexs">
<tr>
<td>${indexs.index}</td>
<td>${user.nickname}</td>
<td>
<c:if test="${user.level eq 'S'}">管理员</c:if>
<c:if test="${user.level eq 'A'}">王者会员</c:if>
<c:if test="${user.level eq 'B'}">钻石会员</c:if>
<c:if test="${user.level eq 'C'}">黄金会员</c:if>
<c:if test="${user.level eq 'D'}">白银会员</c:if>
<c:if test="${user.level eq 'E'}">青铜会员</c:if>
</td>
<td>
<c:if test="${user.status eq '0'}">未实名</c:if>
<c:if test="${user.status eq '1'}">审核中</c:if>
<c:if test="${user.status eq '2'}">已实名</c:if>
</td>
<td>${user.mobile}</td>
<td>
<c:if test="${user.belongTo eq 'B'}">佰邦达</c:if>
<c:if test="${user.belongTo eq 'S'}">盛世互通</c:if>
</td><%--
<td>${user.roleNames}</td> --%>
<shiro:hasPermission name="sys:user:edit"><td>
<a href="${ctx}/youka/user/form?id=${user.id}">查看</a>
<a href="${ctx}/youka/user/delete?id=${user.id}" onclick="return confirmx('确认要删除该用户吗?', this.href)">审核</a>
<a href="${ctx}/youka/user/form?id=${user.id}">禁用</a>
<a href="${ctx}/youka/user/form?id=${user.id}">账户明细</a>
<a href="${ctx}/youka/user/form?id=${user.id}">删除</a>
</td></shiro:hasPermission>
</tr>
</c:forEach>
</tbody>
</table>
<div class="pagination">${page}</div>
</body>
</html>
\ No newline at end of file
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