From 850edd78f6c0841c8494750d08532b5837003f44 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 27 十二月 2024 09:46:31 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/eyes --- manage/src/main/resources/mapping/TAppUserMapper.xml | 3 applet/src/main/java/com/jilongda/applet/aspect/StateAspect.java | 30 +++--- applet/src/main/java/com/jilongda/applet/controller/TOrderController.java | 1 manage/src/main/java/com/jilongda/manage/mapper/TOptometryMapper.java | 2 manage/src/main/java/com/jilongda/manage/model/TOrder.java | 6 common/src/main/java/com/jilongda/common/basic/Constant.java | 3 manage/src/main/java/com/jilongda/manage/service/TOptometryService.java | 3 manage/src/main/java/com/jilongda/manage/controller/TOrderController.java | 83 ++++++++++++++++++++ applet/src/main/resources/application.yml | 4 applet/src/main/java/com/jilongda/applet/controller/LoginController.java | 25 +++--- manage/src/main/java/com/jilongda/manage/service/impl/TOptometryServiceImpl.java | 6 + applet/src/main/java/com/jilongda/applet/model/TOrder.java | 12 +++ applet/src/main/java/com/jilongda/applet/utils/LoginInfoUtil.java | 6 manage/src/main/resources/mapping/SecUserMapper.xml | 6 + manage/src/main/java/com/jilongda/manage/dto/TOrderDTO.java | 15 +++ manage/src/main/resources/mapping/TOrderMapper.xml | 8 + optometrist/src/main/resources/mapping/SecUserMapper.xml | 2 manage/src/main/java/com/jilongda/manage/query/TOptometryQuery.java | 3 manage/src/main/java/com/jilongda/manage/authority/vo/SecUsersVO.java | 2 applet/src/main/java/com/jilongda/applet/model/TStore.java | 2 applet/src/main/resources/mapping/TStoreMapper.xml | 6 + 21 files changed, 179 insertions(+), 49 deletions(-) diff --git a/applet/src/main/java/com/jilongda/applet/aspect/StateAspect.java b/applet/src/main/java/com/jilongda/applet/aspect/StateAspect.java index 624f68e..addbdab 100644 --- a/applet/src/main/java/com/jilongda/applet/aspect/StateAspect.java +++ b/applet/src/main/java/com/jilongda/applet/aspect/StateAspect.java @@ -22,21 +22,21 @@ } - @Before("state()") - public void isfrozen(){ - - TAppUser loginUser = loginInfoUtil.getLoginUser(); - if (loginUser==null){ - throw new TokenException("当前账号已被删除"); - } - - if (loginUser.getStatus()==0){ - throw new TokenException("账号已冻结"); - } - - System.err.println("进入切面"); - - } +// @Before("state()") +// public void isfrozen(){ +// +// TAppUser loginUser = loginInfoUtil.getLoginUser(); +// if (loginUser==null){ +// throw new TokenException("当前账号已被删除"); +// } +// +// if (loginUser.getStatus()==0){ +// throw new TokenException("账号已冻结"); +// } +// +// System.err.println("进入切面"); +// +// } } diff --git a/applet/src/main/java/com/jilongda/applet/controller/LoginController.java b/applet/src/main/java/com/jilongda/applet/controller/LoginController.java index a47e425..e379fbf 100644 --- a/applet/src/main/java/com/jilongda/applet/controller/LoginController.java +++ b/applet/src/main/java/com/jilongda/applet/controller/LoginController.java @@ -51,20 +51,21 @@ private RestTemplate wxRestTemplate; @ApiOperation(value = "通过code获得openid,获取用户信息",tags = {"微信小程序登录"}) - @PostMapping("/openIdByJsCode") + @PostMapping("openIdByJsCode") public ApiResult<Map<String, Object>> openIdByJsCode(@RequestBody AppletUserEncrypteData data) { log.info("<<<<<<<<换取openid开始<<<<<<<<:{}", data.getCode()); - WxAppletTools appletTools = new WxAppletTools(wxRestTemplate, wxConfig, redisAutoTemplate); - Code2SessionRespBody body = appletTools.getOpenIdByJscode2session(new Code2SessionResqBody().build(data.getCode())); - String openid = body.getOpenid(); - String sessionKey = body.getSessionKey(); - if(!StringUtils.hasLength(data.getEncryptedData()) || !StringUtils.hasLength(data.getIv())){ - return ApiResult.failed("已拒绝授权",null); - } - AppletUserDecodeData appletUserDecodeData = WxUtils.encryptedData(data.getEncryptedData(), sessionKey, data.getIv()); - appletUserDecodeData.setOpenId(openid); - TAppUser appUser = appUserService.wxLogin(appletUserDecodeData); - Map<String, Object> tokenInfos = securityUtils.login(openid, appUser, authenticationManager, TAppUser.class, 3); +// WxAppletTools appletTools = new WxAppletTools(wxRestTemplate, wxConfig, redisAutoTemplate); +// Code2SessionRespBody body = appletTools.getOpenIdByJscode2session(new Code2SessionResqBody().build(data.getCode())); +// String openid = body.getOpenid(); +// String sessionKey = body.getSessionKey(); +// if(!StringUtils.hasLength(data.getEncryptedData()) || !StringUtils.hasLength(data.getIv())){ +// return ApiResult.failed("已拒绝授权",null); +// } +// AppletUserDecodeData appletUserDecodeData = WxUtils.encryptedData(data.getEncryptedData(), sessionKey, data.getIv()); +// appletUserDecodeData.setOpenId(openid); +// TAppUser appUser = appUserService.wxLogin(appletUserDecodeData); + TAppUser appUser = appUserService.getById(1); + Map<String, Object> tokenInfos = securityUtils.login(appUser.getOpenId(), appUser, authenticationManager, TAppUser.class, 3); return ApiResult.success(tokenInfos); } diff --git a/applet/src/main/java/com/jilongda/applet/controller/TOrderController.java b/applet/src/main/java/com/jilongda/applet/controller/TOrderController.java index 3f6c176..ac303d8 100644 --- a/applet/src/main/java/com/jilongda/applet/controller/TOrderController.java +++ b/applet/src/main/java/com/jilongda/applet/controller/TOrderController.java @@ -53,7 +53,6 @@ @ApiOperation(value = "查询订单详情") @GetMapping(value = "/getDetailById") public ApiResult getDetailById(@RequestParam Integer id) { - TOrder order = tOrderService.getById(id); TOrderVO tOrderVO = new TOrderVO(); BeanUtils.copyProperties(order, tOrderVO); diff --git a/applet/src/main/java/com/jilongda/applet/model/TOrder.java b/applet/src/main/java/com/jilongda/applet/model/TOrder.java index 1c3abcb..b3c7126 100644 --- a/applet/src/main/java/com/jilongda/applet/model/TOrder.java +++ b/applet/src/main/java/com/jilongda/applet/model/TOrder.java @@ -157,5 +157,17 @@ @ApiModelProperty(value = "型号名称") @TableField("modelName") private String modelName; + @ApiModelProperty(value = "手动添加订单-用户姓名") + @TableField("realName") + private String realName; + @ApiModelProperty(value = "手动添加订单-用户手机号") + @TableField("phone") + private String phone; + @ApiModelProperty(value = "手动添加订单-用户年龄") + @TableField("age") + private Integer age; + @ApiModelProperty(value = "手动添加订单-用户性别 1男2女") + @TableField("gender") + private Integer gender; } diff --git a/applet/src/main/java/com/jilongda/applet/model/TStore.java b/applet/src/main/java/com/jilongda/applet/model/TStore.java index e99e6c7..e4357bb 100644 --- a/applet/src/main/java/com/jilongda/applet/model/TStore.java +++ b/applet/src/main/java/com/jilongda/applet/model/TStore.java @@ -63,7 +63,7 @@ @ApiModelProperty(value = "地址") @TableField("address") - private Integer address; + private String address; @ApiModelProperty(value = "经度") @TableField("lon") diff --git a/applet/src/main/java/com/jilongda/applet/utils/LoginInfoUtil.java b/applet/src/main/java/com/jilongda/applet/utils/LoginInfoUtil.java index 512ec86..fc4e046 100644 --- a/applet/src/main/java/com/jilongda/applet/utils/LoginInfoUtil.java +++ b/applet/src/main/java/com/jilongda/applet/utils/LoginInfoUtil.java @@ -16,9 +16,9 @@ public Integer getUserId(){ - String username = JwtTokenUtils.getUsername(); - TAppUser appUser = appUserService.getOne(new QueryWrapper<TAppUser>().eq("openId", username).eq("isDelete",0)); - return appUser.getId(); +// String username = JwtTokenUtils.getUsername(); +// TAppUser appUser = appUserService.getOne(new QueryWrapper<TAppUser>().eq("openId", username).eq("isDelete",0)); + return 1; } public TAppUser getLoginUser(){ diff --git a/applet/src/main/resources/application.yml b/applet/src/main/resources/application.yml index f5b4eb3..e79412f 100644 --- a/applet/src/main/resources/application.yml +++ b/applet/src/main/resources/application.yml @@ -2,8 +2,8 @@ port: 9093 tomcat: max-swallow-size: 500MB - servlet: - context-path: /app +# servlet: +# context-path: /app spring: thymeleaf: cache: false diff --git a/applet/src/main/resources/mapping/TStoreMapper.xml b/applet/src/main/resources/mapping/TStoreMapper.xml index df89297..b8f9c4c 100644 --- a/applet/src/main/resources/mapping/TStoreMapper.xml +++ b/applet/src/main/resources/mapping/TStoreMapper.xml @@ -55,7 +55,11 @@ </if> from t_store where isDelete = ${@com.jilongda.common.enums.DisabledEnum@NO.getCode()} - ORDER BY IFNULL(distance,0),createTime DESC + ORDER BY + <if test="query.lon != null and query.lon != '' and query.lat != null and query.lat != ''"> + IFNULL(distance,0), + </if> + createTime DESC </select> </mapper> diff --git a/common/src/main/java/com/jilongda/common/basic/Constant.java b/common/src/main/java/com/jilongda/common/basic/Constant.java index a0ef01f..3407109 100644 --- a/common/src/main/java/com/jilongda/common/basic/Constant.java +++ b/common/src/main/java/com/jilongda/common/basic/Constant.java @@ -124,7 +124,7 @@ , "/api/v1/" , "/druid/**" , "/druid/**" -// , "/**" //开发时关闭身份认证 + , "/**" //开发时关闭身份认证 , "/files/**" , "/login" , "/wx/wxLoginByCodeH5" //微信h5登录 @@ -133,6 +133,7 @@ , "/code/login" , "/sendCode" //当前H5用户端不采用security ,"/pageResetPassword" + ,"/openIdByJsCode" ,"/t-goods/getConfigById" ,"/sendPassCode" ,"/t-store/pageList" diff --git a/manage/src/main/java/com/jilongda/manage/authority/vo/SecUsersVO.java b/manage/src/main/java/com/jilongda/manage/authority/vo/SecUsersVO.java index 921525e..f826854 100644 --- a/manage/src/main/java/com/jilongda/manage/authority/vo/SecUsersVO.java +++ b/manage/src/main/java/com/jilongda/manage/authority/vo/SecUsersVO.java @@ -29,6 +29,8 @@ @ApiModelProperty("部门名称") private String deptName; + @ApiModelProperty("门店名称") + private String storeName; } diff --git a/manage/src/main/java/com/jilongda/manage/controller/TOrderController.java b/manage/src/main/java/com/jilongda/manage/controller/TOrderController.java index 56d4fe5..97f7f0a 100644 --- a/manage/src/main/java/com/jilongda/manage/controller/TOrderController.java +++ b/manage/src/main/java/com/jilongda/manage/controller/TOrderController.java @@ -1,10 +1,31 @@ package com.jilongda.manage.controller; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.jilongda.common.basic.ApiResult; +import com.jilongda.common.basic.PageInfo; +import com.jilongda.manage.authority.model.SecUser; +import com.jilongda.manage.authority.service.SecUserService; +import com.jilongda.manage.dto.TOrderDTO; +import com.jilongda.manage.model.TCoupon; +import com.jilongda.manage.model.TCouponReceive; +import com.jilongda.manage.model.TOptometryDetail; +import com.jilongda.manage.query.TOptometryQuery; +import com.jilongda.manage.service.*; +import com.jilongda.manage.utils.LoginInfoUtil; +import com.jilongda.manage.vo.TOptometryVO; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * <p> @@ -14,10 +35,66 @@ * @author 无关风月 * @since 2024-12-09 */ -@Api(tags = "") +@Api(tags = "销售订单") @RestController @RequestMapping("/t-order") public class TOrderController { + @Autowired + private TAppUserService tAppUserService; + @Autowired + private SecUserService secUserService; + @Autowired + private TCouponReceiveService couponReceiveService; + @Autowired + private TCouponService couponService; + + @ApiOperation(value = "查询用户信息") + @GetMapping(value = "/getUserById") + public ApiResult getUserById(@RequestParam Integer userId) { + return ApiResult.success(tAppUserService.getById(userId)); + } + + @ApiOperation(value = "查询员工信息") + @GetMapping(value = "/getStaffList") + public ApiResult getStaffList() { + List<SecUser> list = secUserService.list(Wrappers.lambdaQuery(SecUser.class) + .eq(SecUser::getUserType, 3) + .eq(SecUser::getIsDelete, 0)); + return ApiResult.success(list); + } + + @ApiOperation(value = "查询优惠券") + @GetMapping(value = "/getCouponListByUserId") + public ApiResult<List<TCoupon>> getCouponListByUserId(@RequestParam Integer userId, @RequestParam Integer storeId) { + List<TCouponReceive> list = couponReceiveService.list(Wrappers.lambdaQuery(TCouponReceive.class) + .eq(TCouponReceive::getUserId, userId) + .eq(TCouponReceive::getStatus, 1)); + List<TCouponReceive> tCouponReceives = new ArrayList<>(); + for (TCouponReceive tCouponReceive : list) { + if (StringUtils.hasLength(tCouponReceive.getStoreId())){ + if (Arrays.asList(tCouponReceive.getStoreId().split(",")).contains(storeId+"")){ + tCouponReceives.add(tCouponReceive); + } + }else{ + // 通用 + tCouponReceives.add(tCouponReceive); + } + } + List<Integer> collect = list.stream().map(TCouponReceive::getCouponId).collect(Collectors.toList()); + if (collect.isEmpty()){ + collect.add(-1); + } + List<TCoupon> list1 = couponService.lambdaQuery().in(TCoupon::getId, collect).list(); + return ApiResult.success(list1); + } + + @ApiOperation(value = "添加订单") + @PostMapping(value = "/addOrder") + public ApiResult addOrder(@RequestBody TOrderDTO dto) { + + return ApiResult.success(); + } + } diff --git a/manage/src/main/java/com/jilongda/manage/dto/TOrderDTO.java b/manage/src/main/java/com/jilongda/manage/dto/TOrderDTO.java new file mode 100644 index 0000000..08de188 --- /dev/null +++ b/manage/src/main/java/com/jilongda/manage/dto/TOrderDTO.java @@ -0,0 +1,15 @@ +package com.jilongda.manage.dto; + +import com.jilongda.manage.model.TOrder; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "添加订单dto") +public class TOrderDTO extends TOrder { + +// @ApiModelProperty(value = "配镜处方") +// private + +} diff --git a/manage/src/main/java/com/jilongda/manage/mapper/TOptometryMapper.java b/manage/src/main/java/com/jilongda/manage/mapper/TOptometryMapper.java index a4b5349..ed0efd5 100644 --- a/manage/src/main/java/com/jilongda/manage/mapper/TOptometryMapper.java +++ b/manage/src/main/java/com/jilongda/manage/mapper/TOptometryMapper.java @@ -1,7 +1,7 @@ package com.jilongda.manage.mapper; -import com.jilongda.manage.model.TOptometry; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jilongda.manage.model.TOptometry; /** * <p> diff --git a/manage/src/main/java/com/jilongda/manage/model/TOrder.java b/manage/src/main/java/com/jilongda/manage/model/TOrder.java index 839cb1f..a46da60 100644 --- a/manage/src/main/java/com/jilongda/manage/model/TOrder.java +++ b/manage/src/main/java/com/jilongda/manage/model/TOrder.java @@ -141,16 +141,16 @@ @ApiModelProperty(value = "核算时间") @TableField("accountingTime") private LocalDateTime accountingTime; - @ApiModelProperty(value = "手动添加订单-用户姓名") + @ApiModelProperty(value = "用户姓名") @TableField("realName") private String realName; @ApiModelProperty(value = "用户手机号") @TableField("phone") private String phone; - @ApiModelProperty(value = "手动添加订单-用户年龄") + @ApiModelProperty(value = "用户年龄") @TableField("age") private Integer age; - @ApiModelProperty(value = "手动添加订单-用户性别 1男2女") + @ApiModelProperty(value = "用户性别 1男2女") @TableField("gender") private Integer gender; @ApiModelProperty(value = "微信昵称") diff --git a/manage/src/main/java/com/jilongda/manage/query/TOptometryQuery.java b/manage/src/main/java/com/jilongda/manage/query/TOptometryQuery.java index 0ee3fff..f230833 100644 --- a/manage/src/main/java/com/jilongda/manage/query/TOptometryQuery.java +++ b/manage/src/main/java/com/jilongda/manage/query/TOptometryQuery.java @@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotNull; + @Data @ApiModel(value = "验光单查询参数") public class TOptometryQuery extends BasePage { @@ -22,6 +24,7 @@ @ApiModelProperty(value = "验光师id") private Integer optometristId; @ApiModelProperty(value = "用户id") + @NotNull(message = "用户id不能为空") private Integer userId; @ApiModelProperty(value = "开始时间 前端忽略") private String startTime; diff --git a/manage/src/main/java/com/jilongda/manage/service/TOptometryService.java b/manage/src/main/java/com/jilongda/manage/service/TOptometryService.java index 209914d..a6cebe4 100644 --- a/manage/src/main/java/com/jilongda/manage/service/TOptometryService.java +++ b/manage/src/main/java/com/jilongda/manage/service/TOptometryService.java @@ -1,7 +1,10 @@ package com.jilongda.manage.service; +import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.model.TOptometry; import com.baomidou.mybatisplus.extension.service.IService; +import com.jilongda.manage.query.TOptometryQuery; +import com.jilongda.manage.vo.TOptometryVO; /** * <p> diff --git a/manage/src/main/java/com/jilongda/manage/service/impl/TOptometryServiceImpl.java b/manage/src/main/java/com/jilongda/manage/service/impl/TOptometryServiceImpl.java index 6f8ac5e..a93d71f 100644 --- a/manage/src/main/java/com/jilongda/manage/service/impl/TOptometryServiceImpl.java +++ b/manage/src/main/java/com/jilongda/manage/service/impl/TOptometryServiceImpl.java @@ -1,11 +1,17 @@ package com.jilongda.manage.service.impl; +import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.model.TOptometry; import com.jilongda.manage.mapper.TOptometryMapper; +import com.jilongda.manage.query.TOptometryQuery; import com.jilongda.manage.service.TOptometryService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jilongda.manage.vo.TOptometryVO; +import com.jilongda.manage.vo.TSupplierVO; import org.springframework.stereotype.Service; +import java.util.List; + /** * <p> * 验光单 服务实现类 diff --git a/manage/src/main/resources/mapping/SecUserMapper.xml b/manage/src/main/resources/mapping/SecUserMapper.xml index d2c2927..657452b 100644 --- a/manage/src/main/resources/mapping/SecUserMapper.xml +++ b/manage/src/main/resources/mapping/SecUserMapper.xml @@ -69,12 +69,14 @@ su.`password`, su.phone, su.state, - su.roleType, + su.userType, su.last_login_time AS lastLoginTime, su.nick_name AS nickName, su.avatar_url AS avatarUrl, su.province, su.city, su.area, su.address, - su.birthday, su.gender,sr.id AS roleId,sr.rolename AS rolename,su.deptId,su.userType,su.provinceCode, su.cityCode, su.areaCode,su.pictures + su.birthday, su.gender,sr.id AS roleId,sr.rolename AS rolename,su.deptId,su.userType,su.provinceCode, su.cityCode, su.areaCode,su.pictures, + s.name AS storeName FROM sec_user su LEFT JOIN sec_user_role sur ON su.id = sur.user_id LEFT JOIN sec_role sr ON sur.role_id = sr.id + LEFT JOIN t_store s ON su.storeId = s.id <where> <if test="dto.nickName != null and dto.nickName != ''"> AND su.nick_name LIKE concat('%', #{dto.nickName,jdbcType=VARCHAR}, '%') diff --git a/manage/src/main/resources/mapping/TAppUserMapper.xml b/manage/src/main/resources/mapping/TAppUserMapper.xml index fe615ff..41c640e 100644 --- a/manage/src/main/resources/mapping/TAppUserMapper.xml +++ b/manage/src/main/resources/mapping/TAppUserMapper.xml @@ -10,7 +10,6 @@ <result column="realName" property="realName" /> <result column="age" property="age" /> <result column="gender" property="gender" /> - <result column="registerTime" property="registerTime" /> <result column="createTime" property="createTime" /> <result column="updateTime" property="updateTime" /> <result column="createBy" property="createBy" /> @@ -20,7 +19,7 @@ <!-- 通用查询结果列 --> <sql id="Base_Column_List"> - id, name, phone, realName, age, gender, registerTime, createTime, updateTime, createBy, updateBy, isDelete + id, name, phone, realName, age, gender, createTime, updateTime, createBy, updateBy, isDelete </sql> <select id="pageList" resultType="com.jilongda.manage.vo.TAppUserVO"> select * from diff --git a/manage/src/main/resources/mapping/TOrderMapper.xml b/manage/src/main/resources/mapping/TOrderMapper.xml index 90dfe9b..da23834 100644 --- a/manage/src/main/resources/mapping/TOrderMapper.xml +++ b/manage/src/main/resources/mapping/TOrderMapper.xml @@ -37,11 +37,17 @@ <result column="isAccounting" property="isAccounting" /> <result column="accountingName" property="accountingName" /> <result column="accountingTime" property="accountingTime" /> + <result column="phone" property="phone" /> + <result column="realName" property="realName" /> + <result column="age" property="age" /> + <result column="gender" property="gender" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> - id, code, userId, optometryId, storeId, modelId, color, series, rLens, lLens, type, refractiveIndex, createTime, updateTime, createBy, updateBy, isDelete, sysId, couponId, itemsId, remark, isMail, mailName, mailPhone, mailAddress, orderMoney, couponMoney, payMoney, isMachining, machiningCode, isAccounting, accountingName, accountingTime + id, code, userId, optometryId, storeId, modelId, color, series, rLens, lLens, type, refractiveIndex, createTime, updateTime, createBy, + updateBy, isDelete, sysId, couponId, itemsId, remark, isMail, mailName, mailPhone, mailAddress, orderMoney, couponMoney, payMoney, + isMachining, machiningCode, isAccounting, accountingName, accountingTime,phone, realName, age, gender </sql> </mapper> diff --git a/optometrist/src/main/resources/mapping/SecUserMapper.xml b/optometrist/src/main/resources/mapping/SecUserMapper.xml index 9424550..b9d5bba 100644 --- a/optometrist/src/main/resources/mapping/SecUserMapper.xml +++ b/optometrist/src/main/resources/mapping/SecUserMapper.xml @@ -69,7 +69,7 @@ su.`password`, su.phone, su.state, - su.roleType, + su.userType, su.last_login_time AS lastLoginTime, su.nick_name AS nickName, su.avatar_url AS avatarUrl, su.province, su.city, su.area, su.address, su.birthday, su.gender,sr.id AS roleId,sr.rolename AS rolename,su.deptId,su.userType,su.provinceCode, su.cityCode, su.areaCode,su.pictures FROM sec_user su -- Gitblit v1.7.1